mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-08-29 03:44:06 +08:00
fix: address web search review feedback
This commit is contained in:
@@ -226,6 +226,9 @@ export const Info = Schema.Struct({
|
||||
layout: Schema.optional(ConfigLayoutV1.Layout).annotate({ description: "@deprecated Always uses stretch layout." }),
|
||||
permission: Schema.optional(ConfigPermissionV1.Info),
|
||||
tools: Schema.optional(Schema.Record(Schema.String, Schema.Boolean)),
|
||||
web_search: Schema.optional(Schema.Boolean).annotate({
|
||||
description: "Make web search available to models from all providers",
|
||||
}), // kilocode_change
|
||||
attachment: Schema.optional(ConfigAttachmentV1.Info).annotate({
|
||||
description: "Attachment processing configuration, including image size limits and resizing behavior",
|
||||
}),
|
||||
@@ -278,9 +281,6 @@ export const Info = Schema.Struct({
|
||||
batch_tool: Schema.optional(Schema.Boolean).annotate({ description: "Enable the batch tool" }),
|
||||
// kilocode_change start
|
||||
codebase_search: Schema.optional(Schema.Boolean).annotate({ description: "Enable AI-powered codebase search" }),
|
||||
websearch: Schema.optional(Schema.Boolean).annotate({
|
||||
description: "Enable web search for all model providers",
|
||||
}),
|
||||
image_generation: Schema.optional(Schema.Boolean).annotate({ description: "Enable AI image generation" }),
|
||||
image_generation_model: Schema.optional(Schema.String).annotate({
|
||||
description: "Model ID to use for image generation (default: openrouter/auto)",
|
||||
|
||||
@@ -11,7 +11,7 @@ export function ToolsRoute() {
|
||||
const ctx = useConfig()
|
||||
const [search, setSearch] = createSignal("")
|
||||
const snap = () => ctx.data()
|
||||
const websearch = createMemo(() => snap()?.overlay.fields["experimental.websearch"])
|
||||
const websearch = createMemo(() => snap()?.overlay.fields.web_search)
|
||||
const searchEnabled = createMemo(() => websearch()?.value === true)
|
||||
const rows = createMemo(() => {
|
||||
const data = snap()
|
||||
@@ -66,7 +66,7 @@ export function ToolsRoute() {
|
||||
<Button
|
||||
variant="secondary"
|
||||
disabled={Boolean(ctx.saving())}
|
||||
onClick={() => ctx.unset([["experimental", "websearch"]])}
|
||||
onClick={() => ctx.unset([["web_search"]])}
|
||||
>
|
||||
Revert
|
||||
</Button>
|
||||
@@ -79,7 +79,7 @@ export function ToolsRoute() {
|
||||
type="button"
|
||||
aria-pressed={searchEnabled()}
|
||||
disabled={Boolean(ctx.saving()) || websearch()?.editable === false}
|
||||
onClick={() => ctx.save({ experimental: { websearch: !searchEnabled() } })}
|
||||
onClick={() => ctx.save({ web_search: !searchEnabled() })}
|
||||
>
|
||||
<span>
|
||||
<strong>Enable for all providers</strong>
|
||||
|
||||
@@ -6,7 +6,7 @@ const NAMES = [
|
||||
"Providers",
|
||||
"Agent Behaviour",
|
||||
"Auto-Approve",
|
||||
"Browser",
|
||||
"Web Tools",
|
||||
"Checkpoints",
|
||||
"Display",
|
||||
"Autocomplete",
|
||||
|
||||
@@ -52,7 +52,7 @@ const BrowserTab: Component = () => {
|
||||
}
|
||||
|
||||
const updateWebsearch = (checked: boolean) => {
|
||||
updateConfig({ experimental: { ...config().experimental, websearch: checked } })
|
||||
updateConfig({ web_search: checked })
|
||||
}
|
||||
|
||||
return (
|
||||
@@ -79,15 +79,15 @@ const BrowserTab: Component = () => {
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<Header title={t("settings.experimental.websearch.title")} />
|
||||
<Header title={t("settings.webTools.webSearch.title")} />
|
||||
<Card>
|
||||
<SettingsRow
|
||||
title={t("settings.webTools.websearchEnable")}
|
||||
description={t("settings.experimental.websearch.description")}
|
||||
title={t("settings.webTools.webSearch.enable")}
|
||||
description={t("settings.webTools.webSearch.description")}
|
||||
last
|
||||
>
|
||||
<Switch checked={config().experimental?.websearch ?? false} onChange={updateWebsearch} hideLabel>
|
||||
{t("settings.experimental.websearch.title")}
|
||||
<Switch checked={config().web_search ?? false} onChange={updateWebsearch} hideLabel>
|
||||
{t("settings.webTools.webSearch.title")}
|
||||
</Switch>
|
||||
</SettingsRow>
|
||||
</Card>
|
||||
|
||||
+7
-1
@@ -1203,7 +1203,13 @@ export const dict = {
|
||||
"settings.section.configuration": "الإعدادات",
|
||||
"settings.agentBehaviour.title": "سلوك الوكيل",
|
||||
"settings.autoApprove.title": "الموافقة التلقائية",
|
||||
"settings.browser.title": "المتصفح",
|
||||
"settings.webTools.title": "أدوات الويب",
|
||||
"settings.webTools.description": "اضبط البحث على الويب وأتمتة المتصفح. تتصل طلبات البحث مباشرةً بـ Exa أو Parallel.",
|
||||
"settings.webTools.webSearch.enable": "تمكين لجميع المزوّدين",
|
||||
"settings.webTools.browserAutomation": "أتمتة المتصفح",
|
||||
"settings.webTools.webSearch.title": "البحث على الويب",
|
||||
"settings.webTools.webSearch.description":
|
||||
"اجعل البحث على الويب متاحًا لنماذج جميع المزوّدين. تتصل عمليات البحث مباشرةً بـ Exa أو Parallel.",
|
||||
"settings.checkpoints.title": "نقاط التحقق",
|
||||
"settings.display.title": "العرض",
|
||||
"settings.autocomplete.title": "الإكمال التلقائي",
|
||||
|
||||
+8
-1
@@ -1224,7 +1224,14 @@ export const dict = {
|
||||
"settings.section.configuration": "Configuração",
|
||||
"settings.agentBehaviour.title": "Comportamento do Agente",
|
||||
"settings.autoApprove.title": "Aprovação Automática",
|
||||
"settings.browser.title": "Navegador",
|
||||
"settings.webTools.title": "Ferramentas da Web",
|
||||
"settings.webTools.description":
|
||||
"Configure a pesquisa na web e a automação do navegador. As solicitações de pesquisa se conectam diretamente ao Exa ou Parallel.",
|
||||
"settings.webTools.webSearch.enable": "Ativar para todos os provedores",
|
||||
"settings.webTools.browserAutomation": "Automação do navegador",
|
||||
"settings.webTools.webSearch.title": "Pesquisa na Web",
|
||||
"settings.webTools.webSearch.description":
|
||||
"Disponibilize a pesquisa na web para modelos de todos os provedores. As pesquisas se conectam diretamente ao Exa ou Parallel.",
|
||||
"settings.checkpoints.title": "Pontos de Verificação",
|
||||
"settings.display.title": "Exibição",
|
||||
"settings.autocomplete.title": "Autocompletar",
|
||||
|
||||
+8
-1
@@ -1269,7 +1269,14 @@ export const dict = {
|
||||
"settings.section.configuration": "Konfiguracija",
|
||||
"settings.agentBehaviour.title": "Ponašanje agenta",
|
||||
"settings.autoApprove.title": "Automatsko odobravanje",
|
||||
"settings.browser.title": "Preglednik",
|
||||
"settings.webTools.title": "Web alati",
|
||||
"settings.webTools.description":
|
||||
"Konfigurišite web pretragu i automatizaciju preglednika. Zahtjevi za pretragu povezuju se direktno s Exa ili Parallel.",
|
||||
"settings.webTools.webSearch.enable": "Omogući za sve pružaoce",
|
||||
"settings.webTools.browserAutomation": "Automatizacija preglednika",
|
||||
"settings.webTools.webSearch.title": "Web pretraga",
|
||||
"settings.webTools.webSearch.description":
|
||||
"Omogućite web pretragu modelima svih pružalaca. Pretrage se povezuju direktno s Exa ili Parallel.",
|
||||
"settings.checkpoints.title": "Kontrolne tačke",
|
||||
"settings.display.title": "Prikaz",
|
||||
"settings.autocomplete.title": "Automatsko dovršavanje",
|
||||
|
||||
+8
-1
@@ -1262,7 +1262,14 @@ export const dict = {
|
||||
"settings.section.configuration": "Konfiguration",
|
||||
"settings.agentBehaviour.title": "Agentadfærd",
|
||||
"settings.autoApprove.title": "Automatisk godkendelse",
|
||||
"settings.browser.title": "Browser",
|
||||
"settings.webTools.title": "Webværktøjer",
|
||||
"settings.webTools.description":
|
||||
"Konfigurer websøgning og browserautomatisering. Søgeanmodninger sendes direkte til Exa eller Parallel.",
|
||||
"settings.webTools.webSearch.enable": "Aktivér for alle udbydere",
|
||||
"settings.webTools.browserAutomation": "Browserautomatisering",
|
||||
"settings.webTools.webSearch.title": "Websøgning",
|
||||
"settings.webTools.webSearch.description":
|
||||
"Gør websøgning tilgængelig for modeller fra alle udbydere. Søgninger sendes direkte til Exa eller Parallel.",
|
||||
"settings.checkpoints.title": "Kontrolpunkter",
|
||||
"settings.display.title": "Visning",
|
||||
"settings.autocomplete.title": "Autofuldførelse",
|
||||
|
||||
@@ -1283,7 +1283,14 @@ export const dict = {
|
||||
"settings.section.configuration": "Konfiguration",
|
||||
"settings.agentBehaviour.title": "Agentenverhalten",
|
||||
"settings.autoApprove.title": "Automatisch genehmigen",
|
||||
"settings.browser.title": "Browser",
|
||||
"settings.webTools.title": "Web-Tools",
|
||||
"settings.webTools.description":
|
||||
"Konfigurieren Sie Websuche und Browserautomatisierung. Suchanfragen werden direkt an Exa oder Parallel gesendet.",
|
||||
"settings.webTools.webSearch.enable": "Für alle Anbieter aktivieren",
|
||||
"settings.webTools.browserAutomation": "Browserautomatisierung",
|
||||
"settings.webTools.webSearch.title": "Websuche",
|
||||
"settings.webTools.webSearch.description":
|
||||
"Machen Sie die Websuche für Modelle aller Anbieter verfügbar. Suchanfragen werden direkt an Exa oder Parallel gesendet.",
|
||||
"settings.checkpoints.title": "Prüfpunkte",
|
||||
"settings.display.title": "Anzeige",
|
||||
"settings.autocomplete.title": "Autovervollständigung",
|
||||
|
||||
@@ -1176,8 +1176,14 @@ export const dict = {
|
||||
"settings.section.configuration": "Configuration",
|
||||
"settings.agentBehaviour.title": "Agent Behaviour",
|
||||
"settings.autoApprove.title": "Auto-Approve",
|
||||
"settings.browser.title": "Browser",
|
||||
"settings.webTools.title": "Web Tools",
|
||||
"settings.webTools.description":
|
||||
"Configure web search and browser automation. Search requests connect directly to Exa or Parallel.",
|
||||
"settings.webTools.webSearch.enable": "Enable for All Providers",
|
||||
"settings.webTools.browserAutomation": "Browser Automation",
|
||||
"settings.webTools.webSearch.title": "Web Search",
|
||||
"settings.webTools.webSearch.description":
|
||||
"Make web search available to models from all providers. Searches connect directly to Exa or Parallel.",
|
||||
"settings.checkpoints.title": "Checkpoints",
|
||||
"settings.display.title": "Display",
|
||||
"settings.autocomplete.title": "Autocomplete",
|
||||
@@ -1350,10 +1356,6 @@ export const dict = {
|
||||
|
||||
"settings.browser.description":
|
||||
"When enabled, the AI agent can interact with web pages — navigating, clicking, typing, and taking screenshots. A Chrome window will open so you can watch the agent work.",
|
||||
"settings.webTools.description":
|
||||
"Configure web search and browser automation. Search requests connect directly to Exa or Parallel.",
|
||||
"settings.webTools.websearchEnable": "Enable for All Providers",
|
||||
"settings.webTools.browserAutomation": "Browser Automation",
|
||||
"settings.browser.enable.title": "Enable Browser Automation",
|
||||
"settings.browser.enable.description": "Register the Playwright MCP server with the CLI backend.",
|
||||
"settings.browser.systemChrome.title": "Use System Chrome",
|
||||
@@ -1414,9 +1416,6 @@ export const dict = {
|
||||
"settings.experimental.lsp.description": "Enable language server protocol integration",
|
||||
"settings.experimental.batch.title": "Batch Tool",
|
||||
"settings.experimental.batch.description": "Enable batching of multiple tool calls",
|
||||
"settings.experimental.websearch.title": "Web Search",
|
||||
"settings.experimental.websearch.description":
|
||||
"Make web search available to models from all providers. Searches connect directly to Exa or Parallel.",
|
||||
"settings.experimental.codebaseSearch.title": "Codebase Search",
|
||||
"settings.experimental.codebaseSearch.description": "Enable AI-powered natural language search across your codebase",
|
||||
"settings.experimental.imageGeneration.title": "Image Generation",
|
||||
|
||||
+8
-1
@@ -1276,7 +1276,14 @@ export const dict = {
|
||||
"settings.section.configuration": "Configuración",
|
||||
"settings.agentBehaviour.title": "Comportamiento del agente",
|
||||
"settings.autoApprove.title": "Aprobación automática",
|
||||
"settings.browser.title": "Navegador",
|
||||
"settings.webTools.title": "Herramientas web",
|
||||
"settings.webTools.description":
|
||||
"Configura la búsqueda web y la automatización del navegador. Las solicitudes de búsqueda se conectan directamente a Exa o Parallel.",
|
||||
"settings.webTools.webSearch.enable": "Habilitar para todos los proveedores",
|
||||
"settings.webTools.browserAutomation": "Automatización del navegador",
|
||||
"settings.webTools.webSearch.title": "Búsqueda web",
|
||||
"settings.webTools.webSearch.description":
|
||||
"Permite que los modelos de todos los proveedores usen la búsqueda web. Las búsquedas se conectan directamente a Exa o Parallel.",
|
||||
"settings.checkpoints.title": "Puntos de control",
|
||||
"settings.display.title": "Pantalla",
|
||||
"settings.autocomplete.title": "Autocompletado",
|
||||
|
||||
+8
-1
@@ -1287,7 +1287,14 @@ export const dict = {
|
||||
"settings.section.configuration": "Configuration",
|
||||
"settings.agentBehaviour.title": "Comportement de l'agent",
|
||||
"settings.autoApprove.title": "Approbation automatique",
|
||||
"settings.browser.title": "Navigateur",
|
||||
"settings.webTools.title": "Outils web",
|
||||
"settings.webTools.description":
|
||||
"Configurez la recherche web et l’automatisation du navigateur. Les requêtes de recherche se connectent directement à Exa ou Parallel.",
|
||||
"settings.webTools.webSearch.enable": "Activer pour tous les fournisseurs",
|
||||
"settings.webTools.browserAutomation": "Automatisation du navigateur",
|
||||
"settings.webTools.webSearch.title": "Recherche web",
|
||||
"settings.webTools.webSearch.description":
|
||||
"Rendez la recherche web disponible pour les modèles de tous les fournisseurs. Les recherches se connectent directement à Exa ou Parallel.",
|
||||
"settings.checkpoints.title": "Points de contrôle",
|
||||
"settings.display.title": "Affichage",
|
||||
"settings.autocomplete.title": "Autocomplétion",
|
||||
|
||||
+8
-1
@@ -1023,7 +1023,14 @@ export const dict = {
|
||||
"settings.section.configuration": "Configurazione",
|
||||
"settings.agentBehaviour.title": "Comportamento agente",
|
||||
"settings.autoApprove.title": "Approvazione automatica",
|
||||
"settings.browser.title": "Browser",
|
||||
"settings.webTools.title": "Strumenti web",
|
||||
"settings.webTools.description":
|
||||
"Configura la ricerca web e l'automazione del browser. Le richieste di ricerca si connettono direttamente a Exa o Parallel.",
|
||||
"settings.webTools.webSearch.enable": "Abilita per tutti i provider",
|
||||
"settings.webTools.browserAutomation": "Automazione del browser",
|
||||
"settings.webTools.webSearch.title": "Ricerca web",
|
||||
"settings.webTools.webSearch.description":
|
||||
"Rendi disponibile la ricerca web ai modelli di tutti i provider. Le ricerche si connettono direttamente a Exa o Parallel.",
|
||||
"settings.checkpoints.title": "Checkpoint",
|
||||
"settings.display.title": "Visualizzazione",
|
||||
"settings.autocomplete.title": "Autocompletamento",
|
||||
|
||||
+8
-1
@@ -1257,7 +1257,14 @@ export const dict = {
|
||||
"settings.section.configuration": "設定",
|
||||
"settings.agentBehaviour.title": "エージェントの動作",
|
||||
"settings.autoApprove.title": "自動承認",
|
||||
"settings.browser.title": "ブラウザ",
|
||||
"settings.webTools.title": "ウェブツール",
|
||||
"settings.webTools.description":
|
||||
"ウェブ検索とブラウザ自動化を設定します。検索リクエストは Exa または Parallel に直接接続されます。",
|
||||
"settings.webTools.webSearch.enable": "すべてのプロバイダーで有効化",
|
||||
"settings.webTools.browserAutomation": "ブラウザ自動化",
|
||||
"settings.webTools.webSearch.title": "ウェブ検索",
|
||||
"settings.webTools.webSearch.description":
|
||||
"すべてのプロバイダーのモデルでウェブ検索を利用できるようにします。検索は Exa または Parallel に直接接続されます。",
|
||||
"settings.checkpoints.title": "チェックポイント",
|
||||
"settings.display.title": "表示",
|
||||
"settings.autocomplete.title": "オートコンプリート",
|
||||
|
||||
+8
-1
@@ -1210,7 +1210,14 @@ export const dict = {
|
||||
"settings.section.configuration": "구성",
|
||||
"settings.agentBehaviour.title": "에이전트 동작",
|
||||
"settings.autoApprove.title": "자동 승인",
|
||||
"settings.browser.title": "브라우저",
|
||||
"settings.webTools.title": "웹 도구",
|
||||
"settings.webTools.description":
|
||||
"웹 검색 및 브라우저 자동화를 구성합니다. 검색 요청은 Exa 또는 Parallel에 직접 연결됩니다.",
|
||||
"settings.webTools.webSearch.enable": "모든 제공업체에 사용",
|
||||
"settings.webTools.browserAutomation": "브라우저 자동화",
|
||||
"settings.webTools.webSearch.title": "웹 검색",
|
||||
"settings.webTools.webSearch.description":
|
||||
"모든 제공업체의 모델에서 웹 검색을 사용할 수 있도록 합니다. 검색은 Exa 또는 Parallel에 직접 연결됩니다.",
|
||||
"settings.checkpoints.title": "체크포인트",
|
||||
"settings.display.title": "디스플레이",
|
||||
"settings.autocomplete.title": "자동 완성",
|
||||
|
||||
+8
-1
@@ -1218,7 +1218,14 @@ export const dict = {
|
||||
"settings.section.configuration": "Configuratie",
|
||||
"settings.agentBehaviour.title": "Agent Gedrag",
|
||||
"settings.autoApprove.title": "Automatisch Goedkeuren",
|
||||
"settings.browser.title": "Browser",
|
||||
"settings.webTools.title": "Webtools",
|
||||
"settings.webTools.description":
|
||||
"Configureer zoeken op internet en browserautomatisering. Zoekopdrachten maken rechtstreeks verbinding met Exa of Parallel.",
|
||||
"settings.webTools.webSearch.enable": "Inschakelen voor alle providers",
|
||||
"settings.webTools.browserAutomation": "Browserautomatisering",
|
||||
"settings.webTools.webSearch.title": "Zoeken op internet",
|
||||
"settings.webTools.webSearch.description":
|
||||
"Maak zoeken op internet beschikbaar voor modellen van alle providers. Zoekopdrachten maken rechtstreeks verbinding met Exa of Parallel.",
|
||||
"settings.checkpoints.title": "Controlepunten",
|
||||
"settings.display.title": "Weergave",
|
||||
"settings.autocomplete.title": "Automatisch Aanvullen",
|
||||
|
||||
+8
-1
@@ -1222,7 +1222,14 @@ export const dict = {
|
||||
"settings.section.configuration": "Konfigurasjon",
|
||||
"settings.agentBehaviour.title": "Agentoppførsel",
|
||||
"settings.autoApprove.title": "Automatisk godkjenning",
|
||||
"settings.browser.title": "Nettleser",
|
||||
"settings.webTools.title": "Nettverktøy",
|
||||
"settings.webTools.description":
|
||||
"Konfigurer nettsøk og nettleserautomatisering. Søk sendes direkte til Exa eller Parallel.",
|
||||
"settings.webTools.webSearch.enable": "Aktiver for alle leverandører",
|
||||
"settings.webTools.browserAutomation": "Nettleserautomatisering",
|
||||
"settings.webTools.webSearch.title": "Nettsøk",
|
||||
"settings.webTools.webSearch.description":
|
||||
"Gjør nettsøk tilgjengelig for modeller fra alle leverandører. Søk sendes direkte til Exa eller Parallel.",
|
||||
"settings.checkpoints.title": "Kontrollpunkter",
|
||||
"settings.display.title": "Visning",
|
||||
"settings.autocomplete.title": "Autofullfør",
|
||||
|
||||
+8
-1
@@ -1221,7 +1221,14 @@ export const dict = {
|
||||
"settings.section.configuration": "Konfiguracja",
|
||||
"settings.agentBehaviour.title": "Zachowanie agenta",
|
||||
"settings.autoApprove.title": "Automatyczne zatwierdzanie",
|
||||
"settings.browser.title": "Przeglądarka",
|
||||
"settings.webTools.title": "Narzędzia internetowe",
|
||||
"settings.webTools.description":
|
||||
"Skonfiguruj wyszukiwanie w sieci i automatyzację przeglądarki. Żądania wyszukiwania łączą się bezpośrednio z Exa lub Parallel.",
|
||||
"settings.webTools.webSearch.enable": "Włącz dla wszystkich dostawców",
|
||||
"settings.webTools.browserAutomation": "Automatyzacja przeglądarki",
|
||||
"settings.webTools.webSearch.title": "Wyszukiwanie w sieci",
|
||||
"settings.webTools.webSearch.description":
|
||||
"Udostępnij wyszukiwanie w sieci modelom wszystkich dostawców. Wyszukiwania łączą się bezpośrednio z Exa lub Parallel.",
|
||||
"settings.checkpoints.title": "Punkty kontrolne",
|
||||
"settings.display.title": "Wyświetlanie",
|
||||
"settings.autocomplete.title": "Autouzupełnianie",
|
||||
|
||||
+8
-1
@@ -1268,7 +1268,14 @@ export const dict = {
|
||||
"settings.section.configuration": "Конфигурация",
|
||||
"settings.agentBehaviour.title": "Поведение агента",
|
||||
"settings.autoApprove.title": "Автоодобрение",
|
||||
"settings.browser.title": "Браузер",
|
||||
"settings.webTools.title": "Веб-инструменты",
|
||||
"settings.webTools.description":
|
||||
"Настройте веб-поиск и автоматизацию браузера. Поисковые запросы отправляются напрямую в Exa или Parallel.",
|
||||
"settings.webTools.webSearch.enable": "Включить для всех провайдеров",
|
||||
"settings.webTools.browserAutomation": "Автоматизация браузера",
|
||||
"settings.webTools.webSearch.title": "Веб-поиск",
|
||||
"settings.webTools.webSearch.description":
|
||||
"Сделайте веб-поиск доступным для моделей всех провайдеров. Поисковые запросы отправляются напрямую в Exa или Parallel.",
|
||||
"settings.checkpoints.title": "Контрольные точки",
|
||||
"settings.display.title": "Отображение",
|
||||
"settings.autocomplete.title": "Автодополнение",
|
||||
|
||||
+8
-1
@@ -1250,7 +1250,14 @@ export const dict = {
|
||||
"settings.section.configuration": "การกำหนดค่า",
|
||||
"settings.agentBehaviour.title": "พฤติกรรมของเอเจนต์",
|
||||
"settings.autoApprove.title": "อนุมัติอัตโนมัติ",
|
||||
"settings.browser.title": "เบราว์เซอร์",
|
||||
"settings.webTools.title": "เครื่องมือเว็บ",
|
||||
"settings.webTools.description":
|
||||
"กำหนดค่าการค้นหาเว็บและระบบอัตโนมัติของเบราว์เซอร์ คำขอค้นหาจะเชื่อมต่อโดยตรงกับ Exa หรือ Parallel",
|
||||
"settings.webTools.webSearch.enable": "เปิดใช้สำหรับผู้ให้บริการทั้งหมด",
|
||||
"settings.webTools.browserAutomation": "ระบบอัตโนมัติของเบราว์เซอร์",
|
||||
"settings.webTools.webSearch.title": "ค้นหาเว็บ",
|
||||
"settings.webTools.webSearch.description":
|
||||
"ทำให้โมเดลจากผู้ให้บริการทั้งหมดใช้การค้นหาเว็บได้ การค้นหาจะเชื่อมต่อโดยตรงกับ Exa หรือ Parallel",
|
||||
"settings.checkpoints.title": "จุดตรวจสอบ",
|
||||
"settings.display.title": "การแสดงผล",
|
||||
"settings.autocomplete.title": "เติมข้อความอัตโนมัติ",
|
||||
|
||||
+8
-1
@@ -1215,7 +1215,14 @@ export const dict = {
|
||||
"settings.section.configuration": "Yapılandırma",
|
||||
"settings.agentBehaviour.title": "Ajan Davranışı",
|
||||
"settings.autoApprove.title": "Otomatik Onay",
|
||||
"settings.browser.title": "Tarayıcı",
|
||||
"settings.webTools.title": "Web Araçları",
|
||||
"settings.webTools.description":
|
||||
"Web aramasını ve tarayıcı otomasyonunu yapılandırın. Arama istekleri doğrudan Exa veya Parallel'e bağlanır.",
|
||||
"settings.webTools.webSearch.enable": "Tüm Sağlayıcılar İçin Etkinleştir",
|
||||
"settings.webTools.browserAutomation": "Tarayıcı Otomasyonu",
|
||||
"settings.webTools.webSearch.title": "Web Araması",
|
||||
"settings.webTools.webSearch.description":
|
||||
"Web aramasını tüm sağlayıcıların modelleri için kullanılabilir hale getirin. Aramalar doğrudan Exa veya Parallel'e bağlanır.",
|
||||
"settings.checkpoints.title": "Kontrol Noktaları",
|
||||
"settings.display.title": "Görünüm",
|
||||
"settings.autocomplete.title": "Otomatik Tamamlama",
|
||||
|
||||
+8
-1
@@ -1213,7 +1213,14 @@ export const dict = {
|
||||
"settings.section.configuration": "Конфігурація",
|
||||
"settings.agentBehaviour.title": "Поведінка агента",
|
||||
"settings.autoApprove.title": "Автоматичне схвалення",
|
||||
"settings.browser.title": "Браузер",
|
||||
"settings.webTools.title": "Вебінструменти",
|
||||
"settings.webTools.description":
|
||||
"Налаштуйте вебпошук і автоматизацію браузера. Пошукові запити надсилаються безпосередньо до Exa або Parallel.",
|
||||
"settings.webTools.webSearch.enable": "Увімкнути для всіх постачальників",
|
||||
"settings.webTools.browserAutomation": "Автоматизація браузера",
|
||||
"settings.webTools.webSearch.title": "Вебпошук",
|
||||
"settings.webTools.webSearch.description":
|
||||
"Зробіть вебпошук доступним для моделей усіх постачальників. Пошукові запити надсилаються безпосередньо до Exa або Parallel.",
|
||||
"settings.checkpoints.title": "Контрольні точки",
|
||||
"settings.display.title": "Відображення",
|
||||
"settings.autocomplete.title": "Автодоповнення",
|
||||
|
||||
+6
-1
@@ -1229,7 +1229,12 @@ export const dict = {
|
||||
"settings.section.configuration": "配置",
|
||||
"settings.agentBehaviour.title": "智能体行为",
|
||||
"settings.autoApprove.title": "自动审批",
|
||||
"settings.browser.title": "浏览器",
|
||||
"settings.webTools.title": "网络工具",
|
||||
"settings.webTools.description": "配置网页搜索和浏览器自动化。搜索请求会直接连接到 Exa 或 Parallel。",
|
||||
"settings.webTools.webSearch.enable": "为所有提供商启用",
|
||||
"settings.webTools.browserAutomation": "浏览器自动化",
|
||||
"settings.webTools.webSearch.title": "网页搜索",
|
||||
"settings.webTools.webSearch.description": "让所有提供商的模型都可使用网页搜索。搜索会直接连接到 Exa 或 Parallel。",
|
||||
"settings.checkpoints.title": "检查点",
|
||||
"settings.display.title": "显示",
|
||||
"settings.autocomplete.title": "自动补全",
|
||||
|
||||
+6
-1
@@ -1190,7 +1190,12 @@ export const dict = {
|
||||
"settings.section.configuration": "設定",
|
||||
"settings.agentBehaviour.title": "Agent 行為",
|
||||
"settings.autoApprove.title": "自動核准",
|
||||
"settings.browser.title": "瀏覽器",
|
||||
"settings.webTools.title": "網路工具",
|
||||
"settings.webTools.description": "設定網頁搜尋和瀏覽器自動化。搜尋請求會直接連線至 Exa 或 Parallel。",
|
||||
"settings.webTools.webSearch.enable": "為所有供應商啟用",
|
||||
"settings.webTools.browserAutomation": "瀏覽器自動化",
|
||||
"settings.webTools.webSearch.title": "網頁搜尋",
|
||||
"settings.webTools.webSearch.description": "讓所有供應商的模型都可使用網頁搜尋。搜尋會直接連線至 Exa 或 Parallel。",
|
||||
"settings.checkpoints.title": "檢查點",
|
||||
"settings.display.title": "顯示",
|
||||
"settings.autocomplete.title": "自動完成",
|
||||
|
||||
@@ -39,7 +39,6 @@ export interface WatcherConfig {
|
||||
|
||||
export interface ExperimentalConfig {
|
||||
batch_tool?: boolean
|
||||
websearch?: boolean
|
||||
codebase_search?: boolean
|
||||
image_generation?: boolean
|
||||
image_generation_model?: string
|
||||
@@ -155,6 +154,7 @@ export interface Config {
|
||||
compaction?: CompactionConfig
|
||||
commit_message?: CommitMessageConfig
|
||||
tools?: Record<string, boolean>
|
||||
web_search?: boolean
|
||||
auto_collapse_reasoning?: boolean
|
||||
experimental?: ExperimentalConfig
|
||||
sandbox?: SandboxConfig
|
||||
|
||||
@@ -88,7 +88,7 @@ export namespace KilocodeConfigOverlay {
|
||||
["disabled_providers"],
|
||||
["watcher", "ignore"],
|
||||
["instructions"],
|
||||
["experimental", "websearch"],
|
||||
["web_search"],
|
||||
["indexing", "enabled"],
|
||||
["indexing", "provider"],
|
||||
["indexing", "model"],
|
||||
|
||||
@@ -377,7 +377,7 @@ export const layer: Layer.Layer<
|
||||
const filtered = (yield* all()).filter((tool) => {
|
||||
if (!KiloToolRegistry.available(tool, input.agent)) return false // kilocode_change
|
||||
if (tool.id === WebSearchTool.id) {
|
||||
if (cfg.experimental?.websearch === true) return true // kilocode_change
|
||||
if (cfg.web_search === true) return true // kilocode_change
|
||||
return webSearchEnabled(input.providerID, { exa: flags.enableExa, parallel: flags.enableParallel })
|
||||
}
|
||||
|
||||
|
||||
@@ -151,13 +151,15 @@ describe("global config updates", () => {
|
||||
})
|
||||
})
|
||||
|
||||
describe("kilocode indexing config", () => {
|
||||
describe("kilocode web search config", () => {
|
||||
test("accepts the websearch availability setting", () => {
|
||||
const config = Schema.decodeUnknownSync(Config.Info)({ experimental: { websearch: true } })
|
||||
const config = Schema.decodeUnknownSync(Config.Info)({ web_search: true })
|
||||
|
||||
expect(config.experimental?.websearch).toBe(true)
|
||||
expect(config.web_search).toBe(true)
|
||||
})
|
||||
})
|
||||
|
||||
describe("kilocode indexing config", () => {
|
||||
test("ignores retired semantic indexing flags in existing configs", async () => {
|
||||
await using tmp = await tmpdir({ git: true })
|
||||
await writeConfig(tmp.path, {
|
||||
|
||||
@@ -204,17 +204,17 @@ describe("config overlay routes", () => {
|
||||
test.serial("resolves and reverts project websearch overrides", async () => {
|
||||
await using global = await tmpdir()
|
||||
await using project = await tmpdir()
|
||||
await setGlobal(global.path, { experimental: { websearch: true } })
|
||||
await setGlobal(global.path, { web_search: true })
|
||||
|
||||
await json(
|
||||
await req(project.path, "/config/overlay", {
|
||||
method: "PATCH",
|
||||
headers: { "content-type": "application/json" },
|
||||
body: JSON.stringify({ scope: "project", set: { experimental: { websearch: false } } }),
|
||||
body: JSON.stringify({ scope: "project", set: { web_search: false } }),
|
||||
}),
|
||||
)
|
||||
const overridden = await json<Overlay>(await req(project.path, "/config/overlay?scope=project"))
|
||||
expect(overridden.fields["experimental.websearch"]).toMatchObject({
|
||||
expect(overridden.fields.web_search).toMatchObject({
|
||||
source: "project",
|
||||
inherited: false,
|
||||
overridden: true,
|
||||
@@ -225,11 +225,11 @@ describe("config overlay routes", () => {
|
||||
await req(project.path, "/config/overlay", {
|
||||
method: "PATCH",
|
||||
headers: { "content-type": "application/json" },
|
||||
body: JSON.stringify({ scope: "project", unset: [["experimental", "websearch"]] }),
|
||||
body: JSON.stringify({ scope: "project", unset: [["web_search"]] }),
|
||||
}),
|
||||
)
|
||||
const inherited = await json<Overlay>(await req(project.path, "/config/overlay?scope=project"))
|
||||
expect(inherited.fields["experimental.websearch"]).toMatchObject({
|
||||
expect(inherited.fields.web_search).toMatchObject({
|
||||
source: "global",
|
||||
inherited: true,
|
||||
overridden: false,
|
||||
|
||||
@@ -52,12 +52,13 @@ const configLayer = TestConfig.layer({
|
||||
type RegistryLayerOptions = {
|
||||
flags?: Partial<RuntimeFlags.Info>
|
||||
plugin?: Layer.Layer<Plugin.Service>
|
||||
config?: Parameters<typeof TestConfig.layer>[0] // kilocode_change
|
||||
}
|
||||
|
||||
const registryLayer = (opts: RegistryLayerOptions = {}) =>
|
||||
ToolRegistry.layer
|
||||
.pipe(
|
||||
Layer.provide(configLayer),
|
||||
Layer.provide(opts.config ? TestConfig.layer(opts.config) : configLayer), // kilocode_change
|
||||
Layer.provide(opts.plugin ?? Plugin.defaultLayer),
|
||||
Layer.provide(Question.defaultLayer),
|
||||
Layer.provide(Todo.defaultLayer),
|
||||
@@ -118,6 +119,21 @@ const withBrokenPlugin = testEffect(
|
||||
Layer.mergeAll(registryLayer({ plugin: brokenPluginLayer }), node, Agent.defaultLayer),
|
||||
)
|
||||
// kilocode_change start
|
||||
const websearch = testEffect(
|
||||
Layer.mergeAll(
|
||||
registryLayer({
|
||||
config: {
|
||||
get: () =>
|
||||
Effect.succeed({
|
||||
web_search: true,
|
||||
provider: { openai: { options: { apiKey: "test-openai-key" } } },
|
||||
}),
|
||||
},
|
||||
}),
|
||||
node,
|
||||
Agent.defaultLayer,
|
||||
),
|
||||
)
|
||||
const sandboxed = testEffect(
|
||||
Layer.mergeAll(registryLayer({ flags: { experimentalLspTool: true } }), node, Agent.defaultLayer),
|
||||
)
|
||||
@@ -139,6 +155,38 @@ function sandboxProfile(): Profile {
|
||||
|
||||
describe("tool.registry", () => {
|
||||
// kilocode_change start
|
||||
it.instance("hides websearch for a third-party provider by default", () =>
|
||||
Effect.gen(function* () {
|
||||
const registry = yield* ToolRegistry.Service
|
||||
const agent = yield* Agent.Service
|
||||
const build = yield* agent.get("build")
|
||||
if (!build) return yield* Effect.die(new Error("build agent not found"))
|
||||
const tools = yield* registry.tools({
|
||||
providerID: ProviderV2.ID.openai,
|
||||
modelID: ModelV2.ID.make("test"),
|
||||
agent: build,
|
||||
})
|
||||
|
||||
expect(tools.map((tool) => tool.id)).not.toContain("websearch")
|
||||
}),
|
||||
)
|
||||
|
||||
websearch.instance("shows websearch for a configured third-party provider when enabled", () =>
|
||||
Effect.gen(function* () {
|
||||
const registry = yield* ToolRegistry.Service
|
||||
const agent = yield* Agent.Service
|
||||
const build = yield* agent.get("build")
|
||||
if (!build) return yield* Effect.die(new Error("build agent not found"))
|
||||
const tools = yield* registry.tools({
|
||||
providerID: ProviderV2.ID.openai,
|
||||
modelID: ModelV2.ID.make("test"),
|
||||
agent: build,
|
||||
})
|
||||
|
||||
expect(tools.map((tool) => tool.id)).toContain("websearch")
|
||||
}),
|
||||
)
|
||||
|
||||
sandboxed.instance("preserves built-in network classification through production tool definition processing", () =>
|
||||
Effect.gen(function* () {
|
||||
const registry = yield* ToolRegistry.Service
|
||||
|
||||
@@ -1673,6 +1673,7 @@ export type Config = {
|
||||
tools?: {
|
||||
[key: string]: boolean
|
||||
}
|
||||
web_search?: boolean
|
||||
attachment?: AttachmentConfig
|
||||
enterprise?: {
|
||||
url?: string
|
||||
@@ -1699,7 +1700,6 @@ export type Config = {
|
||||
disable_paste_summary?: boolean
|
||||
batch_tool?: boolean
|
||||
codebase_search?: boolean
|
||||
websearch?: boolean
|
||||
image_generation?: boolean
|
||||
image_generation_model?: string
|
||||
agent_requirements?: boolean
|
||||
|
||||
@@ -26905,6 +26905,9 @@
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"web_search": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"attachment": {
|
||||
"$ref": "#/components/schemas/AttachmentConfig"
|
||||
},
|
||||
@@ -27000,9 +27003,6 @@
|
||||
"codebase_search": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"websearch": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"image_generation": {
|
||||
"type": "boolean"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user