mirror of
https://github.com/sipeed/picoclaw.git
synced 2026-06-12 18:08:54 +00:00
feat(providers): add gemini web search provider (#2763)
* add gemini web search provider * fix(web): prefer free providers before Gemini in auto mode * fix(web): expose gemini api key and model settings * fix(web): prefer configured providers before Gemini in auto mode * fix(web): satisfy gemini lint checks * fix(web): address gemini provider review feedback * test(web): align auto-provider expectations * fix(web): let gemini ignore search range
This commit is contained in:
committed by
GitHub
parent
eb0653074b
commit
794eb04f32
@@ -30,6 +30,7 @@ export interface WebSearchProviderConfig {
|
||||
max_results: number
|
||||
base_url?: string
|
||||
api_key?: string
|
||||
model?: string
|
||||
api_key_set?: boolean
|
||||
}
|
||||
|
||||
|
||||
@@ -30,10 +30,13 @@ const apiKeyProviders = new Set([
|
||||
"brave",
|
||||
"tavily",
|
||||
"perplexity",
|
||||
"gemini",
|
||||
"glm_search",
|
||||
"baidu_search",
|
||||
])
|
||||
|
||||
const modelProviders = new Set(["gemini"])
|
||||
|
||||
export function WebSearchProviderSettings({
|
||||
providerLabelMap,
|
||||
settings,
|
||||
@@ -226,6 +229,27 @@ function ProviderCard({
|
||||
/>
|
||||
</ProviderField>
|
||||
)}
|
||||
|
||||
{modelProviders.has(providerId) && (
|
||||
<ProviderField
|
||||
label={t("pages.agent.tools.web_search.model", "Model")}
|
||||
>
|
||||
<Input
|
||||
value={settings.model ?? ""}
|
||||
onChange={(event) =>
|
||||
updateSettings((current) => ({
|
||||
...current,
|
||||
model: event.target.value,
|
||||
}))
|
||||
}
|
||||
placeholder={t(
|
||||
"pages.agent.tools.web_search.model_placeholder",
|
||||
"Optional model override",
|
||||
)}
|
||||
className="bg-muted/40 hover:bg-muted/60 focus:bg-background focus:ring-primary/20 h-10 rounded-xl border-transparent shadow-none transition-colors"
|
||||
/>
|
||||
</ProviderField>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user