diff --git a/packages/app/src/i18n/ar.ts b/packages/app/src/i18n/ar.ts index 702210e4d3..49808f3fbb 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 b414fff36e..5b96ff57a6 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 e316f87da2..98e565464b 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 d368f292d2..5c1dcfcae4 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 a2b049c880..68a4def36a 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 eae5aeb949..1d2b03db76 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 8dc644bb8e..4761cd2000 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 1b4916c7d9..f470cace42 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 979f94203d..51eab3d09b 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 56ce374a96..206ae23d82 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 d14dd6f98b..3014e1e5d3 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 9859ea0ae6..a555f09e35 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 6e6ca32030..d8a81357b6 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 84e5d3ff21..b51b9a13c3 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 06e233cb51..0284e908b6 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 fa83707e8d..e9d0fa4715 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 e9d265acc0..ff6392d259 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 0319df4a0e..c4f9769224 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 3cc277357b..37a76e9487 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 81dbded082..2a090b0eed 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 80f91e7af3..a1a440eaa1 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 4c60023b76..c94e962038 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) { ) } -function codesearch(info: ToolProps) { - inline({ - icon: "◇", - title: `Exa Code Search "${info.input.query}"`, - }) -} - function websearch(info: ToolProps) { inline({ icon: "◈", @@ -415,7 +407,6 @@ export const RunCommand = cmd({ if (part.tool === "write") return write(props(part)) if (part.tool === "webfetch") return webfetch(props(part)) if (part.tool === "edit") return edit(props(part)) - if (part.tool === "codesearch") return codesearch(props(part)) if (part.tool === "websearch") return websearch(props(part)) if (part.tool === "task") return task(props(part)) if (part.tool === "todowrite") return todo(props(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 183ce52cde..60343de496 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 - - - @@ -1948,15 +1944,6 @@ function WebFetch(props: ToolProps) { ) } -function CodeSearch(props: ToolProps) { - const metadata = props.metadata as { results?: number } - return ( - - Exa Code Search "{props.input.query}" ({metadata.results} results) - - ) -} - function WebSearch(props: ToolProps) { 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 30e2358ad2..720a05ff7e 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: ( - - - {"Query: " + query} - - - ), - } - } - 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 29278338dc..9513951c29 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 87cab043bd..d8da6d2017 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/ 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 2753732dd0..0000000000 --- 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 4187f08d12..0000000000 --- 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 3340d84efd..af9a3390e3 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 = (args: Schema.Struct) => Schema.Struct({ jsonrpc: Schema.Literal("2.0"), diff --git a/packages/opencode/src/tool/registry.ts b/packages/opencode/src/tool/registry.ts index 4b442d4e3a..a9a853e504 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 02de54406a..601f07cb3a 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 8ea008a457..bc42b0324b 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 b6ab684678..d98d5c6fe1 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 bb6c74b838..65c1d810c5 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 0132722050..cc046fdfc5 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 @@ -1710,32 +1704,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 ( - - - - ) - }, -}) - ToolRegistry.register({ name: "task", render(props) { diff --git a/packages/ui/src/components/tool-error-card.stories.tsx b/packages/ui/src/components/tool-error-card.stories.tsx index 03349ce011..dd60075812 100644 --- a/packages/ui/src/components/tool-error-card.stories.tsx +++ b/packages/ui/src/components/tool-error-card.stories.tsx @@ -43,10 +43,6 @@ const samples = [ tool: "websearch", 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 9983e2fe79..4f0df6cb4d 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 ea4d03ac67..eaed411949 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 e8aefd9378..2fd24f37fa 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 4e8ce80425..3dc21b837d 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 846fb3ecaa..1d4f848c19 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 c07ceade2f..dd841cd000 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 837fd5afcb..d0d25bad9f 100644 --- a/packages/ui/src/i18n/en.ts +++ b/packages/ui/src/i18n/en.ts @@ -108,7 +108,6 @@ export const dict: Record = { "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 3f4475a39b..83d48b300d 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 9cf17d5e33..9a4da7e75d 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 5bb7f1376b..b6501c13e1 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 088a2865af..ba1c258264 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 af6e399eac..91c424e74d 100644 --- a/packages/ui/src/i18n/no.ts +++ b/packages/ui/src/i18n/no.ts @@ -98,7 +98,6 @@ export const dict: Record = { "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 2385edfeb7..aeba784e54 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 f78bd5c14b..c97c76dd76 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 a49fc2e52e..775a583027 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 e6b50c1c09..faad574d85 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 5779754376..b31b18e3d3 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 2d433b57ab..75add8ce33 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 7c5f217878..d7c85bc517 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 2f4d1c47c5..c50428cb77 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 ea8c3f00f3..4192694fe3 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 0df6b376e1..fa6a77bc21 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 30de7aa863..2594f4d243 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 6769ae74d3..de51c20c09 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 131ab323b4..af6e5f3e44 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 b3b9d7e2d1..99902647af 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 417bf4a239..d4c848abae 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 55f6f87007..6b8c06a0a9 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 e19c3c49c3..c956b8f112 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 5f54d23aa0..09d72442e3 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 f2efe3a49b..19182e2749 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 b17b873472..c33857277d 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 077524b87f..a0d5432c55 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 7e027029e6..05028c8bb3 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 4526b7495d..55457ec563 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 89c0ebb2c5..67dded2209 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 a497742c09..7f905ac22e 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 5d98bddfb2..08670da80e 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 次時觸發