diff options
| author | Aiden Cline <[email protected]> | 2026-04-29 13:15:44 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-04-29 13:15:44 -0500 |
| commit | 6aa8e894b1cc770e099f8db4338508d1b5d25c04 (patch) | |
| tree | 50d40ecdf10a899c89950d53a6669400833dbd2e /packages | |
| parent | 00bb9836a60f1dcdd0ce5078b05d12f749fdde66 (diff) | |
| download | opencode-6aa8e894b1cc770e099f8db4338508d1b5d25c04.tar.gz opencode-6aa8e894b1cc770e099f8db4338508d1b5d25c04.zip | |
chore: rm broken codesearch tool (#24992)
Diffstat (limited to 'packages')
74 files changed, 22 insertions, 281 deletions
diff --git a/packages/app/src/i18n/ar.ts b/packages/app/src/i18n/ar.ts index 702210e4d..49808f3fb 100644 --- a/packages/app/src/i18n/ar.ts +++ b/packages/app/src/i18n/ar.ts @@ -721,8 +721,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "جلب محتوى من عنوان URL", "settings.permissions.tool.websearch.title": "بحث الويب", "settings.permissions.tool.websearch.description": "البحث في الويب", - "settings.permissions.tool.codesearch.title": "بحث الكود", - "settings.permissions.tool.codesearch.description": "البحث عن كود على الويب", "settings.permissions.tool.external_directory.title": "دليل خارجي", "settings.permissions.tool.external_directory.description": "الوصول إلى الملفات خارج دليل المشروع", "settings.permissions.tool.doom_loop.title": "حلقة الموت", diff --git a/packages/app/src/i18n/br.ts b/packages/app/src/i18n/br.ts index b414fff36..5b96ff57a 100644 --- a/packages/app/src/i18n/br.ts +++ b/packages/app/src/i18n/br.ts @@ -732,8 +732,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "Buscar conteúdo de uma URL", "settings.permissions.tool.websearch.title": "Pesquisa Web", "settings.permissions.tool.websearch.description": "Pesquisar na web", - "settings.permissions.tool.codesearch.title": "Pesquisa de Código", - "settings.permissions.tool.codesearch.description": "Pesquisar código na web", "settings.permissions.tool.external_directory.title": "Diretório Externo", "settings.permissions.tool.external_directory.description": "Acessar arquivos fora do diretório do projeto", "settings.permissions.tool.doom_loop.title": "Loop Infinito", diff --git a/packages/app/src/i18n/bs.ts b/packages/app/src/i18n/bs.ts index e316f87da..98e565464 100644 --- a/packages/app/src/i18n/bs.ts +++ b/packages/app/src/i18n/bs.ts @@ -806,8 +806,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "Preuzmi sadržaj sa URL-a", "settings.permissions.tool.websearch.title": "Web pretraga", "settings.permissions.tool.websearch.description": "Pretražuj web", - "settings.permissions.tool.codesearch.title": "Pretraga koda", - "settings.permissions.tool.codesearch.description": "Pretraži kod na webu", "settings.permissions.tool.external_directory.title": "Vanjski direktorij", "settings.permissions.tool.external_directory.description": "Pristup datotekama izvan direktorija projekta", "settings.permissions.tool.doom_loop.title": "Beskonačna petlja", diff --git a/packages/app/src/i18n/da.ts b/packages/app/src/i18n/da.ts index d368f292d..5c1dcfcae 100644 --- a/packages/app/src/i18n/da.ts +++ b/packages/app/src/i18n/da.ts @@ -800,8 +800,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "Hent indhold fra en URL", "settings.permissions.tool.websearch.title": "Websøgning", "settings.permissions.tool.websearch.description": "Søg på nettet", - "settings.permissions.tool.codesearch.title": "Kodesøgning", - "settings.permissions.tool.codesearch.description": "Søg kode på nettet", "settings.permissions.tool.external_directory.title": "Ekstern mappe", "settings.permissions.tool.external_directory.description": "Få adgang til filer uden for projektmappen", "settings.permissions.tool.doom_loop.title": "Doom Loop", diff --git a/packages/app/src/i18n/de.ts b/packages/app/src/i18n/de.ts index a2b049c88..68a4def36 100644 --- a/packages/app/src/i18n/de.ts +++ b/packages/app/src/i18n/de.ts @@ -743,8 +743,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "Inhalt von einer URL abrufen", "settings.permissions.tool.websearch.title": "Web-Suche", "settings.permissions.tool.websearch.description": "Das Web durchsuchen", - "settings.permissions.tool.codesearch.title": "Code-Suche", - "settings.permissions.tool.codesearch.description": "Code im Web durchsuchen", "settings.permissions.tool.external_directory.title": "Externes Verzeichnis", "settings.permissions.tool.external_directory.description": "Zugriff auf Dateien außerhalb des Projektverzeichnisses", "settings.permissions.tool.doom_loop.title": "Doom Loop", diff --git a/packages/app/src/i18n/en.ts b/packages/app/src/i18n/en.ts index eae5aeb94..1d2b03db7 100644 --- a/packages/app/src/i18n/en.ts +++ b/packages/app/src/i18n/en.ts @@ -920,8 +920,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "Fetch content from a URL", "settings.permissions.tool.websearch.title": "Web Search", "settings.permissions.tool.websearch.description": "Search the web", - "settings.permissions.tool.codesearch.title": "Code Search", - "settings.permissions.tool.codesearch.description": "Search code on the web", "settings.permissions.tool.external_directory.title": "External Directory", "settings.permissions.tool.external_directory.description": "Access files outside the project directory", "settings.permissions.tool.doom_loop.title": "Doom Loop", diff --git a/packages/app/src/i18n/es.ts b/packages/app/src/i18n/es.ts index 8dc644bb8..4761cd200 100644 --- a/packages/app/src/i18n/es.ts +++ b/packages/app/src/i18n/es.ts @@ -813,8 +813,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "Obtener contenido de una URL", "settings.permissions.tool.websearch.title": "Búsqueda Web", "settings.permissions.tool.websearch.description": "Buscar en la web", - "settings.permissions.tool.codesearch.title": "Búsqueda de Código", - "settings.permissions.tool.codesearch.description": "Buscar código en la web", "settings.permissions.tool.external_directory.title": "Directorio Externo", "settings.permissions.tool.external_directory.description": "Acceder a archivos fuera del directorio del proyecto", "settings.permissions.tool.doom_loop.title": "Bucle Infinito", diff --git a/packages/app/src/i18n/fr.ts b/packages/app/src/i18n/fr.ts index 1b4916c7d..f470cace4 100644 --- a/packages/app/src/i18n/fr.ts +++ b/packages/app/src/i18n/fr.ts @@ -741,8 +741,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "Récupérer le contenu d'une URL", "settings.permissions.tool.websearch.title": "Recherche Web", "settings.permissions.tool.websearch.description": "Rechercher sur le web", - "settings.permissions.tool.codesearch.title": "Recherche de code", - "settings.permissions.tool.codesearch.description": "Rechercher du code sur le web", "settings.permissions.tool.external_directory.title": "Répertoire externe", "settings.permissions.tool.external_directory.description": "Accéder aux fichiers en dehors du répertoire du projet", "settings.permissions.tool.doom_loop.title": "Boucle infernale", diff --git a/packages/app/src/i18n/ja.ts b/packages/app/src/i18n/ja.ts index 979f94203..51eab3d09 100644 --- a/packages/app/src/i18n/ja.ts +++ b/packages/app/src/i18n/ja.ts @@ -727,8 +727,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "URLからコンテンツを取得", "settings.permissions.tool.websearch.title": "Web検索", "settings.permissions.tool.websearch.description": "ウェブを検索", - "settings.permissions.tool.codesearch.title": "コード検索", - "settings.permissions.tool.codesearch.description": "ウェブ上のコードを検索", "settings.permissions.tool.external_directory.title": "外部ディレクトリ", "settings.permissions.tool.external_directory.description": "プロジェクトディレクトリ外のファイルへのアクセス", "settings.permissions.tool.doom_loop.title": "無限ループ", diff --git a/packages/app/src/i18n/ko.ts b/packages/app/src/i18n/ko.ts index 56ce374a9..206ae23d8 100644 --- a/packages/app/src/i18n/ko.ts +++ b/packages/app/src/i18n/ko.ts @@ -722,8 +722,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "URL에서 콘텐츠 가져오기", "settings.permissions.tool.websearch.title": "웹 검색", "settings.permissions.tool.websearch.description": "웹 검색", - "settings.permissions.tool.codesearch.title": "코드 검색", - "settings.permissions.tool.codesearch.description": "웹에서 코드 검색", "settings.permissions.tool.external_directory.title": "외부 디렉터리", "settings.permissions.tool.external_directory.description": "프로젝트 디렉터리 외부의 파일에 액세스", "settings.permissions.tool.doom_loop.title": "무한 반복", diff --git a/packages/app/src/i18n/no.ts b/packages/app/src/i18n/no.ts index d14dd6f98..3014e1e5d 100644 --- a/packages/app/src/i18n/no.ts +++ b/packages/app/src/i18n/no.ts @@ -807,8 +807,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "Hent innhold fra en URL", "settings.permissions.tool.websearch.title": "Websøk", "settings.permissions.tool.websearch.description": "Søk på nettet", - "settings.permissions.tool.codesearch.title": "Kodesøk", - "settings.permissions.tool.codesearch.description": "Søk etter kode på nettet", "settings.permissions.tool.external_directory.title": "Ekstern mappe", "settings.permissions.tool.external_directory.description": "Få tilgang til filer utenfor prosjektmappen", "settings.permissions.tool.doom_loop.title": "Doom Loop", diff --git a/packages/app/src/i18n/pl.ts b/packages/app/src/i18n/pl.ts index 9859ea0ae..a555f09e3 100644 --- a/packages/app/src/i18n/pl.ts +++ b/packages/app/src/i18n/pl.ts @@ -729,8 +729,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "Pobieranie zawartości z adresu URL", "settings.permissions.tool.websearch.title": "Wyszukiwanie w sieci", "settings.permissions.tool.websearch.description": "Przeszukiwanie sieci", - "settings.permissions.tool.codesearch.title": "Wyszukiwanie kodu", - "settings.permissions.tool.codesearch.description": "Przeszukiwanie kodu w sieci", "settings.permissions.tool.external_directory.title": "Katalog zewnętrzny", "settings.permissions.tool.external_directory.description": "Dostęp do plików poza katalogiem projektu", "settings.permissions.tool.doom_loop.title": "Zapętlenie", diff --git a/packages/app/src/i18n/ru.ts b/packages/app/src/i18n/ru.ts index 6e6ca3203..d8a81357b 100644 --- a/packages/app/src/i18n/ru.ts +++ b/packages/app/src/i18n/ru.ts @@ -808,8 +808,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "Получение контента по URL", "settings.permissions.tool.websearch.title": "Web Search", "settings.permissions.tool.websearch.description": "Поиск в интернете", - "settings.permissions.tool.codesearch.title": "Code Search", - "settings.permissions.tool.codesearch.description": "Поиск кода в интернете", "settings.permissions.tool.external_directory.title": "Внешняя директория", "settings.permissions.tool.external_directory.description": "Доступ к файлам вне директории проекта", "settings.permissions.tool.doom_loop.title": "Doom Loop", diff --git a/packages/app/src/i18n/th.ts b/packages/app/src/i18n/th.ts index 84e5d3ff2..b51b9a13c 100644 --- a/packages/app/src/i18n/th.ts +++ b/packages/app/src/i18n/th.ts @@ -796,8 +796,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "ดึงเนื้อหาจาก URL", "settings.permissions.tool.websearch.title": "ค้นหาเว็บ", "settings.permissions.tool.websearch.description": "ค้นหาบนเว็บ", - "settings.permissions.tool.codesearch.title": "ค้นหาโค้ด", - "settings.permissions.tool.codesearch.description": "ค้นหาโค้ดบนเว็บ", "settings.permissions.tool.external_directory.title": "ไดเรกทอรีภายนอก", "settings.permissions.tool.external_directory.description": "เข้าถึงไฟล์นอกไดเรกทอรีโปรเจกต์", "settings.permissions.tool.doom_loop.title": "Doom Loop", diff --git a/packages/app/src/i18n/tr.ts b/packages/app/src/i18n/tr.ts index 06e233cb5..0284e908b 100644 --- a/packages/app/src/i18n/tr.ts +++ b/packages/app/src/i18n/tr.ts @@ -816,8 +816,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "Bir URL'den içerik getir", "settings.permissions.tool.websearch.title": "Web Ara", "settings.permissions.tool.websearch.description": "Web'de ara", - "settings.permissions.tool.codesearch.title": "Kod Ara", - "settings.permissions.tool.codesearch.description": "Web'de kod ara", "settings.permissions.tool.external_directory.title": "Harici Dizin", "settings.permissions.tool.external_directory.description": "Proje dizini dışındaki dosyalara eriş", "settings.permissions.tool.doom_loop.title": "Sonsuz Döngü", diff --git a/packages/app/src/i18n/zh.ts b/packages/app/src/i18n/zh.ts index fa83707e8..e9d0fa471 100644 --- a/packages/app/src/i18n/zh.ts +++ b/packages/app/src/i18n/zh.ts @@ -793,8 +793,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "从 URL 获取内容", "settings.permissions.tool.websearch.title": "网页搜索", "settings.permissions.tool.websearch.description": "搜索网页", - "settings.permissions.tool.codesearch.title": "代码搜索", - "settings.permissions.tool.codesearch.description": "在网上搜索代码", "settings.permissions.tool.external_directory.title": "外部目录", "settings.permissions.tool.external_directory.description": "访问项目目录之外的文件", "settings.permissions.tool.doom_loop.title": "死循环", diff --git a/packages/app/src/i18n/zht.ts b/packages/app/src/i18n/zht.ts index e9d265acc..ff6392d25 100644 --- a/packages/app/src/i18n/zht.ts +++ b/packages/app/src/i18n/zht.ts @@ -789,8 +789,6 @@ export const dict = { "settings.permissions.tool.webfetch.description": "從 URL 取得內容", "settings.permissions.tool.websearch.title": "Web Search", "settings.permissions.tool.websearch.description": "搜尋網頁", - "settings.permissions.tool.codesearch.title": "Code Search", - "settings.permissions.tool.codesearch.description": "在網路上搜尋程式碼", "settings.permissions.tool.external_directory.title": "外部目錄", "settings.permissions.tool.external_directory.description": "存取專案目錄之外的檔案", "settings.permissions.tool.doom_loop.title": "Doom Loop", diff --git a/packages/opencode/specs/effect/schema.md b/packages/opencode/specs/effect/schema.md index 0319df4a0..c4f976922 100644 --- a/packages/opencode/specs/effect/schema.md +++ b/packages/opencode/specs/effect/schema.md @@ -286,7 +286,6 @@ emitted JSON Schema must stay byte-identical. - [x] `src/tool/apply_patch.ts` - [x] `src/tool/bash.ts` -- [x] `src/tool/codesearch.ts` - [x] `src/tool/edit.ts` - [x] `src/tool/glob.ts` - [x] `src/tool/grep.ts` diff --git a/packages/opencode/specs/effect/tools.md b/packages/opencode/specs/effect/tools.md index 3cc277357..37a76e948 100644 --- a/packages/opencode/specs/effect/tools.md +++ b/packages/opencode/specs/effect/tools.md @@ -40,7 +40,6 @@ These exported tool definitions currently use `Tool.define(...)` in `src/tool`: - [x] `apply_patch.ts` - [x] `bash.ts` -- [x] `codesearch.ts` - [x] `edit.ts` - [x] `glob.ts` - [x] `grep.ts` @@ -79,7 +78,6 @@ Notable items that are already effectively on the target path and do not need se - `apply_patch.ts` - `grep.ts` - `write.ts` -- `codesearch.ts` - `websearch.ts` - `edit.ts` diff --git a/packages/opencode/src/agent/agent.ts b/packages/opencode/src/agent/agent.ts index 81dbded08..2a090b0ee 100644 --- a/packages/opencode/src/agent/agent.ts +++ b/packages/opencode/src/agent/agent.ts @@ -169,7 +169,6 @@ export const layer = Layer.effect( bash: "allow", webfetch: "allow", websearch: "allow", - codesearch: "allow", read: "allow", external_directory: { "*": "ask", diff --git a/packages/opencode/src/cli/cmd/agent.ts b/packages/opencode/src/cli/cmd/agent.ts index 80f91e7af..a1a440eaa 100644 --- a/packages/opencode/src/cli/cmd/agent.ts +++ b/packages/opencode/src/cli/cmd/agent.ts @@ -28,7 +28,6 @@ const AVAILABLE_PERMISSIONS = [ "task", "todowrite", "websearch", - "codesearch", "lsp", "skill", ] diff --git a/packages/opencode/src/cli/cmd/run.ts b/packages/opencode/src/cli/cmd/run.ts index 4c60023b7..c94e96203 100644 --- a/packages/opencode/src/cli/cmd/run.ts +++ b/packages/opencode/src/cli/cmd/run.ts @@ -19,7 +19,6 @@ import { ReadTool } from "../../tool/read" import { WebFetchTool } from "../../tool/webfetch" import { EditTool } from "../../tool/edit" import { WriteTool } from "../../tool/write" -import { CodeSearchTool } from "../../tool/codesearch" import { WebSearchTool } from "../../tool/websearch" import { TaskTool } from "../../tool/task" import { SkillTool } from "../../tool/skill" @@ -145,13 +144,6 @@ function edit(info: ToolProps<typeof EditTool>) { ) } -function codesearch(info: ToolProps<typeof CodeSearchTool>) { - inline({ - icon: "◇", - title: `Exa Code Search "${info.input.query}"`, - }) -} - function websearch(info: ToolProps<typeof WebSearchTool>) { inline({ icon: "◈", @@ -415,7 +407,6 @@ export const RunCommand = cmd({ if (part.tool === "write") return write(props<typeof WriteTool>(part)) if (part.tool === "webfetch") return webfetch(props<typeof WebFetchTool>(part)) if (part.tool === "edit") return edit(props<typeof EditTool>(part)) - if (part.tool === "codesearch") return codesearch(props<typeof CodeSearchTool>(part)) if (part.tool === "websearch") return websearch(props<typeof WebSearchTool>(part)) if (part.tool === "task") return task(props<typeof TaskTool>(part)) if (part.tool === "todowrite") return todo(props<typeof TodoWriteTool>(part)) diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx index 183ce52cd..60343de49 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -44,7 +44,6 @@ import type { GrepTool } from "@/tool/grep" import type { EditTool } from "@/tool/edit" import type { ApplyPatchTool } from "@/tool/apply_patch" import type { WebFetchTool } from "@/tool/webfetch" -import type { CodeSearchTool } from "@/tool/codesearch" import type { WebSearchTool } from "@/tool/websearch" import type { TaskTool } from "@/tool/task" import type { QuestionTool } from "@/tool/question" @@ -1565,9 +1564,6 @@ function ToolPart(props: { last: boolean; part: ToolPart; message: AssistantMess <Match when={props.part.tool === "webfetch"}> <WebFetch {...toolprops} /> </Match> - <Match when={props.part.tool === "codesearch"}> - <CodeSearch {...toolprops} /> - </Match> <Match when={props.part.tool === "websearch"}> <WebSearch {...toolprops} /> </Match> @@ -1948,15 +1944,6 @@ function WebFetch(props: ToolProps<typeof WebFetchTool>) { ) } -function CodeSearch(props: ToolProps<typeof CodeSearchTool>) { - const metadata = props.metadata as { results?: number } - return ( - <InlineTool icon="◇" pending="Searching code..." complete={props.input.query} part={props.part}> - Exa Code Search "{props.input.query}" <Show when={metadata.results}>({metadata.results} results)</Show> - </InlineTool> - ) -} - function WebSearch(props: ToolProps<typeof WebSearchTool>) { const metadata = props.metadata as { numResults?: number } return ( diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/permission.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/permission.tsx index 30e2358ad..720a05ff7 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/permission.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/permission.tsx @@ -350,21 +350,6 @@ export function PermissionPrompt(props: { request: PermissionRequest }) { } } - if (permission === "codesearch") { - const query = typeof data.query === "string" ? data.query : "" - return { - icon: "◇", - title: `Exa Code Search "${query}"`, - body: ( - <Show when={query}> - <box paddingLeft={1}> - <text fg={theme.textMuted}>{"Query: " + query}</text> - </box> - </Show> - ), - } - } - if (permission === "external_directory") { const meta = props.request.metadata ?? {} const parent = typeof meta["parentDir"] === "string" ? meta["parentDir"] : undefined diff --git a/packages/opencode/src/config/permission.ts b/packages/opencode/src/config/permission.ts index 29278338d..9513951c2 100644 --- a/packages/opencode/src/config/permission.ts +++ b/packages/opencode/src/config/permission.ts @@ -35,7 +35,6 @@ const InputObject = Schema.StructWithRest( question: Schema.optional(Action), webfetch: Schema.optional(Action), websearch: Schema.optional(Action), - codesearch: Schema.optional(Action), lsp: Schema.optional(Rule), doom_loop: Schema.optional(Action), skill: Schema.optional(Rule), diff --git a/packages/opencode/src/session/prompt/copilot-gpt-5.txt b/packages/opencode/src/session/prompt/copilot-gpt-5.txt index 87cab043b..d8da6d201 100644 --- a/packages/opencode/src/session/prompt/copilot-gpt-5.txt +++ b/packages/opencode/src/session/prompt/copilot-gpt-5.txt @@ -91,7 +91,7 @@ Remember that you MUST add links for all workspace files, for example: [path/to/ </codeSearchInstructions> <codeSearchToolUseInstructions> These instructions only apply when the question is about the user's workspace. -Unless it is clear that the user's question relates to the current workspace, you should avoid using the code search tools and instead prefer to answer the user's question directly. +Unless it is clear that the user's question relates to the current workspace, you should avoid using workspace search tools and instead prefer to answer the user's question directly. Remember that you can call multiple tools in one response. Use semantic_search to search for high level concepts or descriptions of functionality in the user's question. This is the best place to start if you don't know where to look or the exact strings found in the codebase. Prefer search_workspace_symbols over grep_search when you have precise code identifiers to search for. diff --git a/packages/opencode/src/tool/codesearch.ts b/packages/opencode/src/tool/codesearch.ts deleted file mode 100644 index 2753732dd..000000000 --- a/packages/opencode/src/tool/codesearch.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { Effect, Schema } from "effect" -import { HttpClient } from "effect/unstable/http" -import * as Tool from "./tool" -import * as McpExa from "./mcp-exa" -import DESCRIPTION from "./codesearch.txt" - -export const Parameters = Schema.Struct({ - query: Schema.String.annotate({ - description: - "Search query to find relevant context for APIs, Libraries, and SDKs. For example, 'React useState hook examples', 'Python pandas dataframe filtering', 'Express.js middleware', 'Next js partial prerendering configuration'", - }), - tokensNum: Schema.Int.check(Schema.isGreaterThanOrEqualTo(1000)) - .check(Schema.isLessThanOrEqualTo(50000)) - .pipe(Schema.optional, Schema.withDecodingDefault(Effect.succeed(5000))) - .annotate({ - description: - "Number of tokens to return (1000-50000). Default is 5000 tokens. Adjust this value based on how much context you need - use lower values for focused queries and higher values for comprehensive documentation.", - }), -}) - -export const CodeSearchTool = Tool.define( - "codesearch", - Effect.gen(function* () { - const http = yield* HttpClient.HttpClient - - return { - description: DESCRIPTION, - parameters: Parameters, - execute: (params: { query: string; tokensNum: number }, ctx: Tool.Context) => - Effect.gen(function* () { - yield* ctx.ask({ - permission: "codesearch", - patterns: [params.query], - always: ["*"], - metadata: { - query: params.query, - tokensNum: params.tokensNum, - }, - }) - - const result = yield* McpExa.call( - http, - "get_code_context_exa", - McpExa.CodeArgs, - { - query: params.query, - tokensNum: params.tokensNum, - }, - "30 seconds", - ) - - return { - output: - result ?? - "No code snippets or documentation found. Please try a different query, be more specific about the library or programming concept, or check the spelling of framework names.", - title: `Code search: ${params.query}`, - metadata: {}, - } - }).pipe(Effect.orDie), - } - }), -) diff --git a/packages/opencode/src/tool/codesearch.txt b/packages/opencode/src/tool/codesearch.txt deleted file mode 100644 index 4187f08d1..000000000 --- a/packages/opencode/src/tool/codesearch.txt +++ /dev/null @@ -1,12 +0,0 @@ -- Search and get relevant context for any programming task using Exa Code API -- Provides the highest quality and freshest context for libraries, SDKs, and APIs -- Use this tool for ANY question or task related to programming -- Returns comprehensive code examples, documentation, and API references -- Optimized for finding specific programming patterns and solutions - -Usage notes: - - Adjustable token count (1000-50000) for focused or comprehensive results - - Default 5000 tokens provides balanced context for most queries - - Use lower values for specific questions, higher values for comprehensive documentation - - Supports queries about frameworks, libraries, APIs, and programming concepts - - Examples: 'React useState hook examples', 'Python pandas dataframe filtering', 'Express.js middleware' diff --git a/packages/opencode/src/tool/mcp-exa.ts b/packages/opencode/src/tool/mcp-exa.ts index 3340d84ef..af9a3390e 100644 --- a/packages/opencode/src/tool/mcp-exa.ts +++ b/packages/opencode/src/tool/mcp-exa.ts @@ -35,11 +35,6 @@ export const SearchArgs = Schema.Struct({ contextMaxCharacters: Schema.optional(Schema.Number), }) -export const CodeArgs = Schema.Struct({ - query: Schema.String, - tokensNum: Schema.Number, -}) - const McpRequest = <F extends Schema.Struct.Fields>(args: Schema.Struct<F>) => Schema.Struct({ jsonrpc: Schema.Literal("2.0"), diff --git a/packages/opencode/src/tool/registry.ts b/packages/opencode/src/tool/registry.ts index 4b442d4e3..a9a853e50 100644 --- a/packages/opencode/src/tool/registry.ts +++ b/packages/opencode/src/tool/registry.ts @@ -22,7 +22,6 @@ import { Plugin } from "../plugin" import { Provider } from "@/provider/provider" import { ProviderID, type ModelID } from "../provider/schema" import { WebSearchTool } from "./websearch" -import { CodeSearchTool } from "./codesearch" import { Flag } from "@opencode-ai/core/flag/flag" import * as Log from "@opencode-ai/core/util/log" import { LspTool } from "./lsp" @@ -108,7 +107,6 @@ export const layer: Layer.Layer< const webfetch = yield* WebFetchTool const websearch = yield* WebSearchTool const bash = yield* BashTool - const codesearch = yield* CodeSearchTool const globtool = yield* GlobTool const writetool = yield* WriteTool const edit = yield* EditTool @@ -198,7 +196,6 @@ export const layer: Layer.Layer< fetch: Tool.init(webfetch), todo: Tool.init(todo), search: Tool.init(websearch), - code: Tool.init(codesearch), skill: Tool.init(skilltool), patch: Tool.init(patchtool), question: Tool.init(question), @@ -221,7 +218,6 @@ export const layer: Layer.Layer< tool.fetch, tool.todo, tool.search, - tool.code, tool.skill, tool.patch, ...(Flag.OPENCODE_EXPERIMENTAL_LSP_TOOL ? [tool.lsp] : []), @@ -278,7 +274,7 @@ export const layer: Layer.Layer< const tools: Interface["tools"] = Effect.fn("ToolRegistry.tools")(function* (input) { const filtered = (yield* all()).filter((tool) => { - if (tool.id === CodeSearchTool.id || tool.id === WebSearchTool.id) { + if (tool.id === WebSearchTool.id) { return input.providerID === ProviderID.opencode || Flag.OPENCODE_ENABLE_EXA } diff --git a/packages/opencode/test/tool/__snapshots__/parameters.test.ts.snap b/packages/opencode/test/tool/__snapshots__/parameters.test.ts.snap index 02de54406..601f07cb3 100644 --- a/packages/opencode/test/tool/__snapshots__/parameters.test.ts.snap +++ b/packages/opencode/test/tool/__snapshots__/parameters.test.ts.snap @@ -60,29 +60,6 @@ Output: Creates directory 'foo'" } `; -exports[`tool parameters JSON Schema (wire shape) codesearch 1`] = ` -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "properties": { - "query": { - "description": "Search query to find relevant context for APIs, Libraries, and SDKs. For example, 'React useState hook examples', 'Python pandas dataframe filtering', 'Express.js middleware', 'Next js partial prerendering configuration'", - "type": "string", - }, - "tokensNum": { - "default": 5000, - "description": "Number of tokens to return (1000-50000). Default is 5000 tokens. Adjust this value based on how much context you need - use lower values for focused queries and higher values for comprehensive documentation.", - "maximum": 50000, - "minimum": 1000, - "type": "integer", - }, - }, - "required": [ - "query", - ], - "type": "object", -} -`; - exports[`tool parameters JSON Schema (wire shape) edit 1`] = ` { "$schema": "https://json-schema.org/draft/2020-12/schema", diff --git a/packages/opencode/test/tool/parameters.test.ts b/packages/opencode/test/tool/parameters.test.ts index 8ea008a45..bc42b0324 100644 --- a/packages/opencode/test/tool/parameters.test.ts +++ b/packages/opencode/test/tool/parameters.test.ts @@ -11,7 +11,6 @@ import { toJsonSchema } from "../../src/util/effect-zod" import { Parameters as ApplyPatch } from "../../src/tool/apply_patch" import { Parameters as Bash } from "../../src/tool/bash" -import { Parameters as CodeSearch } from "../../src/tool/codesearch" import { Parameters as Edit } from "../../src/tool/edit" import { Parameters as Glob } from "../../src/tool/glob" import { Parameters as Grep } from "../../src/tool/grep" @@ -37,7 +36,6 @@ describe("tool parameters", () => { describe("JSON Schema (wire shape)", () => { test("apply_patch", () => expect(toJsonSchema(ApplyPatch)).toMatchSnapshot()) test("bash", () => expect(toJsonSchema(Bash)).toMatchSnapshot()) - test("codesearch", () => expect(toJsonSchema(CodeSearch)).toMatchSnapshot()) test("edit", () => expect(toJsonSchema(Edit)).toMatchSnapshot()) test("glob", () => expect(toJsonSchema(Glob)).toMatchSnapshot()) test("grep", () => expect(toJsonSchema(Grep)).toMatchSnapshot()) @@ -85,21 +83,6 @@ describe("tool parameters", () => { }) }) - describe("codesearch", () => { - test("accepts query; tokensNum defaults to 5000", () => { - expect(parse(CodeSearch, { query: "hooks" })).toEqual({ query: "hooks", tokensNum: 5000 }) - }) - test("accepts override tokensNum", () => { - expect(parse(CodeSearch, { query: "hooks", tokensNum: 10000 }).tokensNum).toBe(10000) - }) - test("rejects tokensNum under 1000", () => { - expect(accepts(CodeSearch, { query: "x", tokensNum: 500 })).toBe(false) - }) - test("rejects tokensNum over 50000", () => { - expect(accepts(CodeSearch, { query: "x", tokensNum: 60000 })).toBe(false) - }) - }) - describe("edit", () => { test("accepts all four fields", () => { expect(parse(Edit, { filePath: "/a", oldString: "x", newString: "y", replaceAll: true })).toEqual({ diff --git a/packages/sdk/js/src/v2/gen/types.gen.ts b/packages/sdk/js/src/v2/gen/types.gen.ts index b6ab68467..d98d5c6fe 100644 --- a/packages/sdk/js/src/v2/gen/types.gen.ts +++ b/packages/sdk/js/src/v2/gen/types.gen.ts @@ -1221,7 +1221,6 @@ export type PermissionConfig = question?: PermissionActionConfig webfetch?: PermissionActionConfig websearch?: PermissionActionConfig - codesearch?: PermissionActionConfig lsp?: PermissionRuleConfig doom_loop?: PermissionActionConfig skill?: PermissionRuleConfig diff --git a/packages/sdk/openapi.json b/packages/sdk/openapi.json index bb6c74b83..65c1d810c 100644 --- a/packages/sdk/openapi.json +++ b/packages/sdk/openapi.json @@ -11231,9 +11231,6 @@ "websearch": { "$ref": "#/components/schemas/PermissionActionConfig" }, - "codesearch": { - "$ref": "#/components/schemas/PermissionActionConfig" - }, "lsp": { "$ref": "#/components/schemas/PermissionRuleConfig" }, diff --git a/packages/ui/src/components/message-part.tsx b/packages/ui/src/components/message-part.tsx index 013272205..cc046fdfc 100644 --- a/packages/ui/src/components/message-part.tsx +++ b/packages/ui/src/components/message-part.tsx @@ -356,12 +356,6 @@ export function getToolInfo(tool: string, input: any = {}): ToolInfo { title: i18n.t("ui.tool.websearch"), subtitle: input.query, } - case "codesearch": - return { - icon: "code", - title: i18n.t("ui.tool.codesearch"), - subtitle: input.query, - } case "task": { const type = typeof input.subagent_type === "string" && input.subagent_type @@ -1711,32 +1705,6 @@ ToolRegistry.register({ }) ToolRegistry.register({ - name: "codesearch", - render(props) { - const i18n = useI18n() - const query = createMemo(() => { - const value = props.input.query - if (typeof value !== "string") return "" - return value - }) - - return ( - <BasicTool - {...props} - icon="code" - trigger={{ - title: i18n.t("ui.tool.codesearch"), - subtitle: query(), - subtitleClass: "exa-tool-query", - }} - > - <ExaOutput output={props.output} /> - </BasicTool> - ) - }, -}) - -ToolRegistry.register({ name: "task", render(props) { const data = useData() diff --git a/packages/ui/src/components/tool-error-card.stories.tsx b/packages/ui/src/components/tool-error-card.stories.tsx index 03349ce01..dd6007581 100644 --- a/packages/ui/src/components/tool-error-card.stories.tsx +++ b/packages/ui/src/components/tool-error-card.stories.tsx @@ -44,10 +44,6 @@ const samples = [ error: "websearch Rate limited: Please try again in 30 seconds", }, { - tool: "codesearch", - error: "codesearch Timeout: exceeded 120s", - }, - { tool: "question", error: "question Dismissed: user dismissed this question", }, @@ -72,7 +68,7 @@ export default { argTypes: { tool: { control: "select", - options: ["apply_patch", "bash", "read", "glob", "grep", "webfetch", "websearch", "codesearch", "question"], + options: ["apply_patch", "bash", "read", "glob", "grep", "webfetch", "websearch", "question"], }, error: { control: "text", diff --git a/packages/ui/src/components/tool-error-card.tsx b/packages/ui/src/components/tool-error-card.tsx index 9983e2fe7..4f0df6cb4 100644 --- a/packages/ui/src/components/tool-error-card.tsx +++ b/packages/ui/src/components/tool-error-card.tsx @@ -33,7 +33,6 @@ export function ToolErrorCard(props: ToolErrorCardProps) { task: "ui.tool.task", webfetch: "ui.tool.webfetch", websearch: "ui.tool.websearch", - codesearch: "ui.tool.codesearch", bash: "ui.tool.shell", apply_patch: "ui.tool.patch", question: "ui.tool.questions", diff --git a/packages/ui/src/i18n/ar.ts b/packages/ui/src/i18n/ar.ts index ea4d03ac6..eaed41194 100644 --- a/packages/ui/src/i18n/ar.ts +++ b/packages/ui/src/i18n/ar.ts @@ -95,7 +95,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "جلب الويب", "ui.tool.websearch": "بحث الويب", - "ui.tool.codesearch": "بحث الكود", "ui.tool.shell": "Shell", "ui.tool.patch": "تصحيح", "ui.tool.todos": "المهام", diff --git a/packages/ui/src/i18n/br.ts b/packages/ui/src/i18n/br.ts index e8aefd937..2fd24f37f 100644 --- a/packages/ui/src/i18n/br.ts +++ b/packages/ui/src/i18n/br.ts @@ -95,7 +95,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Buscar Web", "ui.tool.websearch": "Pesquisa na Web", - "ui.tool.codesearch": "Pesquisa de Código", "ui.tool.shell": "Shell", "ui.tool.patch": "Patch", "ui.tool.todos": "Tarefas", diff --git a/packages/ui/src/i18n/bs.ts b/packages/ui/src/i18n/bs.ts index 4e8ce8042..3dc21b837 100644 --- a/packages/ui/src/i18n/bs.ts +++ b/packages/ui/src/i18n/bs.ts @@ -99,7 +99,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Web preuzimanje", "ui.tool.websearch": "Pretraga weba", - "ui.tool.codesearch": "Pretraga koda", "ui.tool.shell": "Shell", "ui.tool.patch": "Patch", "ui.tool.todos": "Lista zadataka", diff --git a/packages/ui/src/i18n/da.ts b/packages/ui/src/i18n/da.ts index 846fb3eca..1d4f848c1 100644 --- a/packages/ui/src/i18n/da.ts +++ b/packages/ui/src/i18n/da.ts @@ -94,7 +94,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webhentning", "ui.tool.websearch": "Websøgning", - "ui.tool.codesearch": "Kodesøgning", "ui.tool.shell": "Shell", "ui.tool.patch": "Patch", "ui.tool.todos": "Opgaver", diff --git a/packages/ui/src/i18n/de.ts b/packages/ui/src/i18n/de.ts index c07ceade2..dd841cd00 100644 --- a/packages/ui/src/i18n/de.ts +++ b/packages/ui/src/i18n/de.ts @@ -100,7 +100,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webabruf", "ui.tool.websearch": "Websuche", - "ui.tool.codesearch": "Codesuche", "ui.tool.shell": "Shell", "ui.tool.patch": "Patch", "ui.tool.todos": "Aufgaben", diff --git a/packages/ui/src/i18n/en.ts b/packages/ui/src/i18n/en.ts index 837fd5afc..d0d25bad9 100644 --- a/packages/ui/src/i18n/en.ts +++ b/packages/ui/src/i18n/en.ts @@ -108,7 +108,6 @@ export const dict: Record<string, string> = { "ui.tool.task": "Task", "ui.tool.webfetch": "Webfetch", "ui.tool.websearch": "Web Search", - "ui.tool.codesearch": "Code Search", "ui.tool.shell": "Shell", "ui.tool.patch": "Patch", "ui.tool.todos": "To-dos", diff --git a/packages/ui/src/i18n/es.ts b/packages/ui/src/i18n/es.ts index 3f4475a39..83d48b300 100644 --- a/packages/ui/src/i18n/es.ts +++ b/packages/ui/src/i18n/es.ts @@ -95,7 +95,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webfetch", "ui.tool.websearch": "Búsqueda web", - "ui.tool.codesearch": "Búsqueda de código", "ui.tool.shell": "Shell", "ui.tool.patch": "Parche", "ui.tool.todos": "Tareas", diff --git a/packages/ui/src/i18n/fr.ts b/packages/ui/src/i18n/fr.ts index 9cf17d5e3..9a4da7e75 100644 --- a/packages/ui/src/i18n/fr.ts +++ b/packages/ui/src/i18n/fr.ts @@ -95,7 +95,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webfetch", "ui.tool.websearch": "Recherche Web", - "ui.tool.codesearch": "Recherche de code", "ui.tool.shell": "Shell", "ui.tool.patch": "Patch", "ui.tool.todos": "Tâches", diff --git a/packages/ui/src/i18n/ja.ts b/packages/ui/src/i18n/ja.ts index 5bb7f1376..b6501c13e 100644 --- a/packages/ui/src/i18n/ja.ts +++ b/packages/ui/src/i18n/ja.ts @@ -94,7 +94,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webfetch", "ui.tool.websearch": "Web検索", - "ui.tool.codesearch": "コード検索", "ui.tool.shell": "Shell", "ui.tool.patch": "Patch", "ui.tool.todos": "Todo", diff --git a/packages/ui/src/i18n/ko.ts b/packages/ui/src/i18n/ko.ts index 088a2865a..ba1c25826 100644 --- a/packages/ui/src/i18n/ko.ts +++ b/packages/ui/src/i18n/ko.ts @@ -95,7 +95,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "웹 가져오기", "ui.tool.websearch": "웹 검색", - "ui.tool.codesearch": "코드 검색", "ui.tool.shell": "셸", "ui.tool.patch": "패치", "ui.tool.todos": "할 일", diff --git a/packages/ui/src/i18n/no.ts b/packages/ui/src/i18n/no.ts index af6e399ea..91c424e74 100644 --- a/packages/ui/src/i18n/no.ts +++ b/packages/ui/src/i18n/no.ts @@ -98,7 +98,6 @@ export const dict: Record<Keys, string> = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webhenting", "ui.tool.websearch": "Nettsøk", - "ui.tool.codesearch": "Kodesøk", "ui.tool.shell": "Shell", "ui.tool.patch": "Patch", "ui.tool.todos": "Gjøremål", diff --git a/packages/ui/src/i18n/pl.ts b/packages/ui/src/i18n/pl.ts index 2385edfeb..aeba784e5 100644 --- a/packages/ui/src/i18n/pl.ts +++ b/packages/ui/src/i18n/pl.ts @@ -94,7 +94,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Pobieranie sieciowe", "ui.tool.websearch": "Wyszukiwanie w sieci", - "ui.tool.codesearch": "Wyszukiwanie kodu", "ui.tool.shell": "Terminal", "ui.tool.patch": "Patch", "ui.tool.todos": "Zadania", diff --git a/packages/ui/src/i18n/ru.ts b/packages/ui/src/i18n/ru.ts index f78bd5c14..c97c76dd7 100644 --- a/packages/ui/src/i18n/ru.ts +++ b/packages/ui/src/i18n/ru.ts @@ -94,7 +94,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webfetch", "ui.tool.websearch": "Веб-поиск", - "ui.tool.codesearch": "Поиск кода", "ui.tool.shell": "Оболочка", "ui.tool.patch": "Патч", "ui.tool.todos": "Задачи", diff --git a/packages/ui/src/i18n/th.ts b/packages/ui/src/i18n/th.ts index a49fc2e52..775a58302 100644 --- a/packages/ui/src/i18n/th.ts +++ b/packages/ui/src/i18n/th.ts @@ -96,7 +96,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "ดึงจากเว็บ", "ui.tool.websearch": "ค้นหาเว็บ", - "ui.tool.codesearch": "ค้นหาโค้ด", "ui.tool.shell": "เชลล์", "ui.tool.patch": "แพตช์", "ui.tool.todos": "รายการงาน", diff --git a/packages/ui/src/i18n/tr.ts b/packages/ui/src/i18n/tr.ts index e6b50c1c0..faad574d8 100644 --- a/packages/ui/src/i18n/tr.ts +++ b/packages/ui/src/i18n/tr.ts @@ -101,7 +101,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Web getir", "ui.tool.websearch": "Web Araması", - "ui.tool.codesearch": "Kod Araması", "ui.tool.shell": "Kabuk", "ui.tool.patch": "Yama", "ui.tool.todos": "Görevler", diff --git a/packages/ui/src/i18n/zh.ts b/packages/ui/src/i18n/zh.ts index 577975437..b31b18e3d 100644 --- a/packages/ui/src/i18n/zh.ts +++ b/packages/ui/src/i18n/zh.ts @@ -99,7 +99,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webfetch", "ui.tool.websearch": "网络搜索", - "ui.tool.codesearch": "代码搜索", "ui.tool.shell": "Shell", "ui.tool.patch": "补丁", "ui.tool.todos": "待办", diff --git a/packages/ui/src/i18n/zht.ts b/packages/ui/src/i18n/zht.ts index 2d433b57a..75add8ce3 100644 --- a/packages/ui/src/i18n/zht.ts +++ b/packages/ui/src/i18n/zht.ts @@ -99,7 +99,6 @@ export const dict = { "ui.tool.grep": "Grep", "ui.tool.webfetch": "Webfetch", "ui.tool.websearch": "網頁搜尋", - "ui.tool.codesearch": "程式碼搜尋", "ui.tool.shell": "Shell", "ui.tool.patch": "修補", "ui.tool.todos": "待辦", diff --git a/packages/web/src/content/docs/agents.mdx b/packages/web/src/content/docs/agents.mdx index 7c5f21787..d7c85bc51 100644 --- a/packages/web/src/content/docs/agents.mdx +++ b/packages/web/src/content/docs/agents.mdx @@ -434,7 +434,6 @@ The available permission keys are: | `todowrite` | `todowrite`, `todoread` | | `webfetch` | `webfetch` | | `websearch` | `websearch` | -| `codesearch` | `codesearch` | | `lsp` | `lsp` | | `skill` | `skill` | | `question` | `question` | diff --git a/packages/web/src/content/docs/ar/permissions.mdx b/packages/web/src/content/docs/ar/permissions.mdx index 2f4d1c47c..c50428cb7 100644 --- a/packages/web/src/content/docs/ar/permissions.mdx +++ b/packages/web/src/content/docs/ar/permissions.mdx @@ -138,7 +138,7 @@ description: تحكّم في الإجراءات التي تتطلب موافقة - `skill` — تحميل مهارة (يطابق اسم المهارة) - `lsp` — تشغيل استعلامات LSP (حاليًا دون قواعد دقيقة) - `webfetch` — جلب عنوان URL (يطابق الـ URL) -- `websearch`, `codesearch` — بحث الويب/الكود (يطابق الاستعلام) +- `websearch` — بحث الويب (يطابق الاستعلام) - `external_directory` — يُفعَّل عندما تلمس أداة مسارات خارج دليل عمل المشروع - `doom_loop` — يُفعَّل عندما يتكرر نفس استدعاء الأداة 3 مرات مع نفس المُدخلات diff --git a/packages/web/src/content/docs/bs/permissions.mdx b/packages/web/src/content/docs/bs/permissions.mdx index ea8c3f00f..4192694fe 100644 --- a/packages/web/src/content/docs/bs/permissions.mdx +++ b/packages/web/src/content/docs/bs/permissions.mdx @@ -133,7 +133,7 @@ Dozvole OpenCode su označene imenom alata, plus nekoliko sigurnosnih mjera: - `skill` — učitavanje vještine (odgovara nazivu vještine) - `lsp` — pokretanje LSP upita (trenutno negranularno) - `webfetch` — dohvaćanje URL-a (odgovara URL-u) -- `websearch`, `codesearch` — pretraživanje weba/koda (odgovara upitu) +- `websearch` — pretraživanje weba (odgovara upitu) - `external_directory` — pokreće se kada alat dodirne staze izvan radnog direktorija projekta - `doom_loop` — aktivira se kada se isti poziv alata ponovi 3 puta sa identičnim unosom diff --git a/packages/web/src/content/docs/cli.mdx b/packages/web/src/content/docs/cli.mdx index 0df6b376e..fa6a77bc2 100644 --- a/packages/web/src/content/docs/cli.mdx +++ b/packages/web/src/content/docs/cli.mdx @@ -102,7 +102,7 @@ This command will guide you through creating a new agent with a custom system pr | `--path` | Directory to write the agent file to (defaults to global or `.opencode/agent` based on the prompt) | | `--description` | What the agent should do | | `--mode` | Agent mode: `all`, `primary`, or `subagent` | -| `--permissions` | Comma-separated list of permissions to allow (default: all). Available: `bash`, `read`, `edit`, `glob`, `grep`, `webfetch`, `task`, `todowrite`, `websearch`, `codesearch`, `lsp`, `skill`. Anything omitted is denied. Alias: `--tools` | +| `--permissions` | Comma-separated list of permissions to allow (default: all). Available: `bash`, `read`, `edit`, `glob`, `grep`, `webfetch`, `task`, `todowrite`, `websearch`, `lsp`, `skill`. Anything omitted is denied. Alias: `--tools` | | `--model`, `-m` | Model to use, in `provider/model` format | Passing all of `--path`, `--description`, `--mode`, and `--permissions` runs the command non-interactively. diff --git a/packages/web/src/content/docs/da/permissions.mdx b/packages/web/src/content/docs/da/permissions.mdx index 30de7aa86..2594f4d24 100644 --- a/packages/web/src/content/docs/da/permissions.mdx +++ b/packages/web/src/content/docs/da/permissions.mdx @@ -138,7 +138,7 @@ OpenCode tilladelser indtastes efter værktøjsnavn plus et par sikkerhedsafskæ - `skill` — indlæsning af en færdighed (matcher færdighedsnavnet) - `lsp` — kører LSP forespørgsler (i øjeblikket ikke-granulære) - `webfetch` — henter en URL (matcher URL) -- `websearch`, `codesearch` — web/code søgning (matcher forespørgslen) +- `websearch` — websøgning (matcher forespørgslen) - `external_directory` — udløses, når et værktøj berører stier uden for projektets arbejdsmappe - `doom_loop` — udløses, når det samme værktøjskald gentages 3 gange med identisk input diff --git a/packages/web/src/content/docs/de/permissions.mdx b/packages/web/src/content/docs/de/permissions.mdx index 6769ae74d..de51c20c0 100644 --- a/packages/web/src/content/docs/de/permissions.mdx +++ b/packages/web/src/content/docs/de/permissions.mdx @@ -138,7 +138,7 @@ OpenCode-Berechtigungen basieren auf Tool-Namen sowie einigen Sicherheitsvorkehr - `skill` – Laden einer Fertigkeit (entspricht dem Fertigkeitsnamen) - `lsp` – Ausführen von LSP-Abfragen (derzeit nicht granular) - `webfetch` – Abrufen eines URL (entspricht dem URL) -- `websearch`, `codesearch` – web/code Suche (entspricht der Abfrage) +- `websearch` – Websuche (entspricht der Abfrage) - `external_directory` – wird ausgelöst, wenn ein Tool Pfade außerhalb des Projektarbeitsverzeichnisses berührt - `doom_loop` – wird ausgelöst, wenn derselbe Werkzeugaufruf dreimal mit identischer Eingabe wiederholt wird diff --git a/packages/web/src/content/docs/es/permissions.mdx b/packages/web/src/content/docs/es/permissions.mdx index 131ab323b..af6e5f3e4 100644 --- a/packages/web/src/content/docs/es/permissions.mdx +++ b/packages/web/src/content/docs/es/permissions.mdx @@ -138,7 +138,7 @@ Los permisos OpenCode están codificados por el nombre de la herramienta, ademá - `skill` — cargar una habilidad (coincide con el nombre de la habilidad) - `lsp`: ejecución de consultas LSP (actualmente no granulares) - `webfetch` — obteniendo una URL (coincide con la URL) -- `websearch`, `codesearch` — búsqueda web/código (coincide con la consulta) +- `websearch` — búsqueda web (coincide con la consulta) - `external_directory`: se activa cuando una herramienta toca rutas fuera del directorio de trabajo del proyecto. - `doom_loop`: se activa cuando la misma llamada de herramienta se repite 3 veces con entrada idéntica diff --git a/packages/web/src/content/docs/fr/permissions.mdx b/packages/web/src/content/docs/fr/permissions.mdx index b3b9d7e2d..99902647a 100644 --- a/packages/web/src/content/docs/fr/permissions.mdx +++ b/packages/web/src/content/docs/fr/permissions.mdx @@ -138,7 +138,7 @@ Les autorisations OpenCode sont classées par nom d'outil, plus quelques garde-f - `skill` — chargement d'une compétence (correspond au nom de la compétence) - `lsp` — exécution de requêtes LSP (actuellement non granulaires) - `webfetch` — récupérer une URL (correspond à l'URL) -- `websearch`, `codesearch` — recherche Web/code (correspond à la requête) +- `websearch` — recherche Web (correspond à la requête) - `external_directory` - déclenché lorsqu'un outil touche des chemins en dehors du répertoire de travail du projet - `doom_loop` — déclenché lorsque le même appel d'outil se répète 3 fois avec une entrée identique diff --git a/packages/web/src/content/docs/it/permissions.mdx b/packages/web/src/content/docs/it/permissions.mdx index 417bf4a23..d4c848aba 100644 --- a/packages/web/src/content/docs/it/permissions.mdx +++ b/packages/web/src/content/docs/it/permissions.mdx @@ -138,7 +138,7 @@ I permessi di OpenCode sono indicizzati per nome dello strumento, piu' un paio d - `skill` — caricamento di una skill (corrisponde al nome della skill) - `lsp` — esecuzione query LSP (attualmente non granulare) - `webfetch` — fetch di un URL (corrisponde all'URL) -- `websearch`, `codesearch` — ricerca web/codice (corrisponde alla query) +- `websearch` — ricerca web (corrisponde alla query) - `external_directory` — si attiva quando uno strumento tocca percorsi fuori dalla working directory del progetto - `doom_loop` — si attiva quando la stessa chiamata a uno strumento si ripete 3 volte con input identico diff --git a/packages/web/src/content/docs/ja/permissions.mdx b/packages/web/src/content/docs/ja/permissions.mdx index 55f6f8700..6b8c06a0a 100644 --- a/packages/web/src/content/docs/ja/permissions.mdx +++ b/packages/web/src/content/docs/ja/permissions.mdx @@ -138,7 +138,7 @@ OpenCode の権限は、ツール名に加えて、いくつかの安全対策� - `skill` — スキルをロードしています(スキル名と一致します) - `lsp` — LSP クエリの実行 (現在は非細分性) - `webfetch` — URL を取得します (URL と一致します) -- `websearch`、`codesearch` — Web/コード検索 (クエリと一致) +- `websearch` — Web検索 (クエリと一致) - `external_directory` — ツールがプロジェクトの作業ディレクトリ外のパスにアクセスするとトリガーされます。 - `doom_loop` — 同じ入力で同じツール呼び出しが 3 回繰り返されたときにトリガーされます。 diff --git a/packages/web/src/content/docs/ko/permissions.mdx b/packages/web/src/content/docs/ko/permissions.mdx index e19c3c49c..c956b8f11 100644 --- a/packages/web/src/content/docs/ko/permissions.mdx +++ b/packages/web/src/content/docs/ko/permissions.mdx @@ -138,7 +138,7 @@ opencode 권한은 도구 이름에 의해 키 입력되며, 두 개의 안전 � - `skill` - 기술을 로딩 (기술 이름을 매칭) - `lsp` - LSP 쿼리 실행 (현재 비 과립) - `webfetch` - URL을 fetching ( URL을 매칭) -- `websearch`, `codesearch` - 웹 / 코드 검색 (문자 쿼리) +- `websearch` - 웹 검색 (문자 쿼리) - `external_directory` - 프로젝트 작업 디렉토리 외부의 도구 접촉 경로 때 트리거 - `doom_loop` - 동일한 도구 호출이 동일한 입력으로 3 번 반복 할 때 트리거 diff --git a/packages/web/src/content/docs/nb/permissions.mdx b/packages/web/src/content/docs/nb/permissions.mdx index 5f54d23aa..09d72442e 100644 --- a/packages/web/src/content/docs/nb/permissions.mdx +++ b/packages/web/src/content/docs/nb/permissions.mdx @@ -138,7 +138,7 @@ OpenCode-tillatelser tastes inn etter verktøynavn, pluss et par sikkerhetsvakte - `skill` — laster en ferdighet (tilsvarer navnet på ferdigheten) - `lsp` — kjører LSP-spørringer (for øyeblikket ikke-granulære) - `webfetch` — henter en URL (tilsvarer URL) -- `websearch`, `codesearch` - nett-/kodesøk (samsvarer med søket) +- `websearch` - nettsøk (samsvarer med søket) - `external_directory` - utløses når et verktøy berører stier utenfor prosjektets arbeidskatalog - `doom_loop` — utløses når det samme verktøykallet gjentas 3 ganger med identisk inndata diff --git a/packages/web/src/content/docs/permissions.mdx b/packages/web/src/content/docs/permissions.mdx index f2efe3a49..19182e274 100644 --- a/packages/web/src/content/docs/permissions.mdx +++ b/packages/web/src/content/docs/permissions.mdx @@ -139,7 +139,7 @@ OpenCode permissions are keyed by tool name, plus a couple of safety guards: - `lsp` — running LSP queries (currently non-granular) - `question` — asking the user questions during execution - `webfetch` — fetching a URL (matches the URL) -- `websearch`, `codesearch` — web/code search (matches the query) +- `websearch` — web search (matches the query) - `external_directory` — triggered when a tool touches paths outside the project working directory - `doom_loop` — triggered when the same tool call repeats 3 times with identical input diff --git a/packages/web/src/content/docs/pl/permissions.mdx b/packages/web/src/content/docs/pl/permissions.mdx index b17b87347..c33857277 100644 --- a/packages/web/src/content/docs/pl/permissions.mdx +++ b/packages/web/src/content/docs/pl/permissions.mdx @@ -138,7 +138,7 @@ Uprawnienia opencode są określane na podstawie nazwy narzędzia i kilku zabezp - `skill` — ładowanie umiejętności (pasuje do nazwy umiejętności) - `lsp` — uruchamianie zapytań LSP (obecnie nieszczegółowych) - `webfetch` — pobieranie adresu URL (pasuje do adresu URL) -- `websearch`, `codesearch` — wyszukiwanie sieci/kodu (pasuje do zapytań) +- `websearch` — wyszukiwanie sieci (pasuje do zapytań) - `external_directory` — wywoływacz, gdy narzędzie jest dostępne poza katalogiem roboczym projektu - `doom_loop` — wyzwalane, gdy samo wywołanie narzędzia zostanie powtórzone 3 razy z tymi samymi danymi podstawowymi diff --git a/packages/web/src/content/docs/pt-br/permissions.mdx b/packages/web/src/content/docs/pt-br/permissions.mdx index 077524b87..a0d5432c5 100644 --- a/packages/web/src/content/docs/pt-br/permissions.mdx +++ b/packages/web/src/content/docs/pt-br/permissions.mdx @@ -138,7 +138,7 @@ As permissões do opencode são indexadas pelo nome da ferramenta, além de algu - `skill` — carregamento de uma habilidade (corresponde ao nome da habilidade) - `lsp` — execução de consultas LSP (atualmente não granular) - `webfetch` — busca de uma URL (corresponde à URL) -- `websearch`, `codesearch` — busca na web/código (corresponde à consulta) +- `websearch` — busca na web (corresponde à consulta) - `external_directory` — acionado quando uma ferramenta toca em caminhos fora do diretório de trabalho do projeto - `doom_loop` — acionado quando a mesma chamada de ferramenta se repete 3 vezes com entrada idêntica diff --git a/packages/web/src/content/docs/ru/permissions.mdx b/packages/web/src/content/docs/ru/permissions.mdx index 7e027029e..05028c8bb 100644 --- a/packages/web/src/content/docs/ru/permissions.mdx +++ b/packages/web/src/content/docs/ru/permissions.mdx @@ -138,7 +138,7 @@ opencode использует конфигурацию `permission`, чтобы - `skill` — загрузка навыка (соответствует названию навыка) - `lsp` — выполнение запросов LSP (в настоящее время не детализированных) - `webfetch` — получение URL-адреса (соответствует URL-адресу) -- `websearch`, `codesearch` — поиск в сети/коде (соответствует запросу) +- `websearch` — поиск в сети (соответствует запросу) - `external_directory` — срабатывает, когда инструмент касается путей за пределами рабочего каталога проекта. - `doom_loop` — срабатывает, когда один и тот же вызов инструмента повторяется 3 раза с одинаковым вводом. diff --git a/packages/web/src/content/docs/th/permissions.mdx b/packages/web/src/content/docs/th/permissions.mdx index 4526b7495..55457ec56 100644 --- a/packages/web/src/content/docs/th/permissions.mdx +++ b/packages/web/src/content/docs/th/permissions.mdx @@ -138,7 +138,7 @@ OpenCode ใช้การกำหนดค่า `permission` เพื่อ - `skill` — กำลังโหลดทักษะ (ตรงกับชื่อทักษะ) - `lsp` — กำลังเรียกใช้คำสั่ง LSP (ปัจจุบันยังไม่ละเอียด) - `webfetch` — กำลังดึง URL (ตรงกับ URL) -- `websearch`, `codesearch` — การค้นหาเว็บ/code (ตรงกับข้อความค้นหา) +- `websearch` — การค้นหาเว็บ (ตรงกับข้อความค้นหา) - `external_directory` — ทริกเกอร์เมื่อเครื่องมือแตะเส้นทางนอกไดเร็กทอรีการทำงานของโปรเจ็กต์ - `doom_loop` — ทริกเกอร์เมื่อมีการเรียกใช้เครื่องมือเดียวกันซ้ำ 3 ครั้งโดยมีอินพุตเหมือนกัน diff --git a/packages/web/src/content/docs/tr/permissions.mdx b/packages/web/src/content/docs/tr/permissions.mdx index 89c0ebb2c..67dded220 100644 --- a/packages/web/src/content/docs/tr/permissions.mdx +++ b/packages/web/src/content/docs/tr/permissions.mdx @@ -138,7 +138,7 @@ opencode izinleri araç adına ve birkaç güvenlik önlemine göre anahtarlanı - `skill` — bir skill yükleniyor (skill adıyla eşleşir) - `lsp` — LSP sorgularını çalıştırıyor (şu anda ayrıntılı değil) - `webfetch` — URL getiriliyor (URL ile eşleşiyor) -- `websearch`, `codesearch` — web/kod arama (sorguyla eşleşir) +- `websearch` — web arama (sorguyla eşleşir) - `external_directory` — bir araç proje çalışma dizini dışındaki yollara dokunduğunda tetiklenir - `doom_loop` — aynı araç çağrısı aynı girdiyle 3 kez tekrarlandığında tetiklenir diff --git a/packages/web/src/content/docs/zh-cn/permissions.mdx b/packages/web/src/content/docs/zh-cn/permissions.mdx index a497742c0..7f905ac22 100644 --- a/packages/web/src/content/docs/zh-cn/permissions.mdx +++ b/packages/web/src/content/docs/zh-cn/permissions.mdx @@ -138,7 +138,7 @@ OpenCode 的权限以工具名称为键,外加几个安全防护项: - `skill` — 加载技能(匹配技能名称) - `lsp` — 运行 LSP 查询(当前不支持细粒度配置) - `webfetch` — 获取 URL(匹配 URL) -- `websearch`、`codesearch` — 网页/代码搜索(匹配查询内容) +- `websearch` — 网页搜索(匹配查询内容) - `external_directory` — 当工具访问项目工作目录之外的路径时触发 - `doom_loop` — 当同一工具调用以相同输入重复 3 次时触发 diff --git a/packages/web/src/content/docs/zh-tw/permissions.mdx b/packages/web/src/content/docs/zh-tw/permissions.mdx index 5d98bddfb..08670da80 100644 --- a/packages/web/src/content/docs/zh-tw/permissions.mdx +++ b/packages/web/src/content/docs/zh-tw/permissions.mdx @@ -138,7 +138,7 @@ OpenCode 的權限以工具名稱為鍵,外加幾個安全防護項: - `skill` — 載入技能(比對技能名稱) - `lsp` — 執行 LSP 查詢(目前不支援細粒度設定) - `webfetch` — 擷取 URL(比對 URL) -- `websearch`、`codesearch` — 網頁/程式碼搜尋(比對查詢內容) +- `websearch` — 網頁搜尋(比對查詢內容) - `external_directory` — 當工具存取專案工作目錄之外的路徑時觸發 - `doom_loop` — 當同一工具呼叫以相同輸入重複 3 次時觸發 |
