From baef8c1b80ae085241b749fa5fecf69cf2867392 Mon Sep 17 00:00:00 2001 From: wangtsiao Date: Sat, 1 Aug 2026 13:58:25 +0800 Subject: [PATCH] docs: present code_search as optional MCP and expand CLI setup --- README.ja.md | 17 +++-- README.md | 17 +++-- README.ru.md | 20 +++--- README.zh-Hans.md | 13 ++-- README.zh-Hant.md | 13 ++-- apps/web/app/_components/landing/data.ts | 4 +- docs/configuration.ja.md | 56 +++++++++++++-- docs/configuration.md | 84 ++++++++++++---------- docs/configuration.ru.md | 58 ++++++++++++++-- docs/configuration.zh-Hans.md | 88 ++++++++++++++++-------- docs/configuration.zh-Hant.md | 55 +++++++++++++-- 11 files changed, 311 insertions(+), 114 deletions(-) diff --git a/README.ja.md b/README.ja.md index 624dc7b1..4fc2d2ef 100644 --- a/README.ja.md +++ b/README.ja.md @@ -49,20 +49,18 @@ Desktop 体験、terminal workflow、ランタイムの動作、ワークスペ 日常の coding を行い、端末ネイティブな自動化、remote shell、scriptable workflow が 必要なときは CLI/TUI を使えます。 - **Agent Runtime として拡張可能** - MCP server、再利用可能な skills、 - ローカルのセマンティックコード検索、監査可能なセッション、権限管理、 - マルチエージェント flow は、一回限りの prompt ではなくランタイム機能です。 + 監査可能なセッション、権限管理、マルチエージェント flow は、一回限りの + prompt ではなくランタイム機能です。 ## 機能 -- **組み込みのセマンティックコード検索** - ローカル CPU のコード埋め込みモデルを実行し、 - dense retrieval と BM25 キーワードマッチングを組み合わせることで、grep/find のみに頼るエージェントより - コード検索のコンテキストを削減します。 - **Model-neutral provider runtime** - provider/model binding により、OpenAI 互換、 Anthropic 互換、DeepSeek、Qwen、Kimi、GLM、MiniMax、Xiaomi MiMo、 OpenRouter、またはローカルエンドポイントを利用できます。 - **MCP サポート** - [Model Context Protocol](https://modelcontextprotocol.io/) - サーバーを通じて外部ツールとコンテキストを接続できます。設定方法は - [設定](./docs/configuration.ja.md#mcp-サーバー) を参照してください。 + サーバーを通じて外部ツールとコンテキストを接続できます。CLI で + `devo mcp add|list|enable|disable|remove` により追加・管理できます( + [設定](./docs/configuration.ja.md#mcp-サーバー) を参照)。 - **Skill サポート** - 再利用可能なワークフロー、手順、スクリプト、参照資料を [Agent Skills](https://agentskills.io/) としてパッケージ化できます。 - **長時間タスクのサポート** - 複数ターンにまたがる作業でも Devo が自動的にコンテキストを管理し、 @@ -76,6 +74,11 @@ Desktop 体験、terminal workflow、ランタイムの動作、ワークスペ - **コストとコンテキストの可視化** - プロバイダーが提供する場合、入力/出力 token、cached token、 コンテキストウィンドウ使用量を表示します。 - **軽量な Rust ランタイム** - Rust で構築され、メモリ使用量が小さく、コンパクトなローカルランタイムを備えます。 +- **組み込みセマンティックコード検索(MCP)** - 同梱のオプション MCP サーバー + (`code_search` / `devo-code-search-mcp`)。**既定では無効**です。ローカル CPU の + コード埋め込みモデルを実行し、dense retrieval と BM25 を組み合わせて、grep/find + のみのエージェントよりコード検索コンテキストを削減します。 + `devo mcp enable code_search` または TUI `/mcps` で有効化します。 ## 検証済みモデル diff --git a/README.md b/README.md index f4846285..adf3b2eb 100644 --- a/README.md +++ b/README.md @@ -50,20 +50,18 @@ runtime behavior, and workspace execution under your control. onboarding and daily coding, or the CLI/TUI for terminal-native automation, remote shells, and scriptable workflows. - **Built for agent runtime extensibility** - MCP servers, reusable skills, - local semantic code search, auditable sessions, permissions, and multi-agent - flows are runtime features rather than one-off prompts. + auditable sessions, permissions, and multi-agent flows are runtime features + rather than one-off prompts. ## Features -- **Built-in semantic code search** - Runs a local CPU code-embedding model and - combines dense retrieval with BM25 keyword matching, reducing code-search - context compared with grep/find-only agent. - **Model-neutral provider runtime** - Use provider/model bindings for OpenAI-compatible, Anthropic-compatible, DeepSeek, Qwen, Kimi, GLM, MiniMax, Xiaomi MiMo, OpenRouter, or local endpoints. - **MCP support** - Connect external tools and context through - [Model Context Protocol](https://modelcontextprotocol.io/) servers. See - [Configuration](./docs/configuration.md#mcp-servers) for setup. + [Model Context Protocol](https://modelcontextprotocol.io/) servers. Add and + manage servers from the CLI with `devo mcp add|list|enable|disable|remove` + (see [Configuration](./docs/configuration.md#mcp-servers)). - **Skill support** - Package repeatable workflows, instructions, scripts, and references as reusable [Agent Skills](https://agentskills.io/). - **Long-running task support** - Let Devo manage context automatically across @@ -82,6 +80,11 @@ runtime behavior, and workspace execution under your control. context-window usage where providers expose them. - **Lightweight Rust runtime** - Built in Rust with low memory overhead and a compact local runtime. +- **Built-in semantic code search (MCP)** - Optional bundled MCP server + (`code_search` / `devo-code-search-mcp`), **disabled by default**. Runs a + local CPU code-embedding model and combines dense retrieval with BM25 keyword + matching to reduce code-search context versus grep/find-only agents. Enable + with `devo mcp enable code_search` or TUI `/mcps`. ## Tested Models diff --git a/README.ru.md b/README.ru.md index 55d28258..c70c5f30 100644 --- a/README.ru.md +++ b/README.ru.md @@ -48,22 +48,19 @@ Devo предназначен для команд, которым нужен cod - **Один agent для Desktop и terminal** - Используйте Desktop app для визуального onboarding и повседневного coding, либо CLI/TUI для terminal-native automation, remote shell и scriptable workflows. -- **Расширяемый agent runtime** - MCP servers, reusable skills, локальный - semantic code search, аудируемые сессии, permissions и multi-agent flows - являются возможностями runtime, а не одноразовыми prompt. +- **Расширяемый agent runtime** - MCP servers, reusable skills, аудируемые + сессии, permissions и multi-agent flows являются возможностями runtime, а не + одноразовыми prompt. ## Возможности -- **Встроенный семантический поиск по коду** - Запускает локальную CPU-модель - эмбеддингов кода и сочетает плотный поиск с BM25-поиском по ключевым словам, - сокращая объем контекста для поиска по коду по сравнению с агентами, которые - используют только grep/find. - **Модельно-нейтральный provider runtime** - Используйте provider/model bindings для OpenAI-совместимых, Anthropic-совместимых, DeepSeek, Qwen, Kimi, GLM, MiniMax, Xiaomi MiMo, OpenRouter или локальных endpoint. - **Поддержка MCP** - Подключайте внешние инструменты и контекст через серверы - [Model Context Protocol](https://modelcontextprotocol.io/). Настройка описана в - [Конфигурации](./docs/configuration.ru.md#mcp-серверы). + [Model Context Protocol](https://modelcontextprotocol.io/). Управляйте через + CLI: `devo mcp add|list|enable|disable|remove` (см. + [Конфигурацию](./docs/configuration.ru.md#mcp-серверы)). - **Поддержка Skill** - Упаковывайте повторяемые workflow, инструкции, скрипты и справочные материалы как переиспользуемые [Agent Skills](https://agentskills.io/). @@ -83,6 +80,11 @@ Devo предназначен для команд, которым нужен cod cached token и использование context window там, где провайдеры это раскрывают. - **Легковесный Rust runtime** - Построен на Rust, с малым расходом памяти и компактным локальным runtime. +- **Встроенный семантический поиск по коду (MCP)** - Опциональный bundled MCP + сервер (`code_search` / `devo-code-search-mcp`), **по умолчанию выключен**. + Запускает локальную CPU-модель эмбеддингов и сочетает dense retrieval с BM25, + сокращая контекст поиска по сравнению с агентами только на grep/find. Включите + через `devo mcp enable code_search` или TUI `/mcps`. ## Проверенные модели diff --git a/README.zh-Hans.md b/README.zh-Hans.md index 82c4872a..507c49ad 100644 --- a/README.zh-Hans.md +++ b/README.zh-Hans.md @@ -45,19 +45,18 @@ Desktop 体验、终端工作流以及工作区执行边界的团队。 可以指向内部端点,不依赖托管式 agent 服务。 - **Desktop 与终端双入口** - 用 Desktop app 完成可视化上手和日常编码,也可以在需要 终端原生自动化、远程 shell 或脚本化流程时使用 CLI/TUI。 -- **面向 Agent Runtime 扩展** - MCP server、可复用 skills、本地语义代码搜索、 - 可审计会话、权限控制和多 agent 流程都是运行时能力,不是一次性 prompt。 +- **面向 Agent Runtime 扩展** - MCP server、可复用 skills、可审计会话、权限控制 + 和多 agent 流程都是运行时能力,不是一次性 prompt。 ## 功能 -- **内置语义代码搜索** - 运行本地 CPU 代码嵌入模型,并结合密集检索 - 与 BM25 关键词匹配,相比仅使用 grep/find 的代理减少代码搜索上下文。 - **模型中立的 provider runtime** - 通过 provider/model 绑定接入 OpenAI 兼容、 Anthropic 兼容、DeepSeek、Qwen、Kimi、GLM、MiniMax、Xiaomi MiMo、 OpenRouter 或本地端点。 - **MCP 支持** - 通过 [Model Context Protocol](https://modelcontextprotocol.io/) 服务器连接外部工具和上下文。 - 配置方式见 [配置](./docs/configuration.zh-Hans.md#mcp-服务器)。 + 可用 CLI 管理:`devo mcp add|list|enable|disable|remove`(见 + [配置](./docs/configuration.zh-Hans.md#mcp-服务器))。 - **Skill 支持** - 将可复用工作流、说明、脚本和参考资料打包成可复用的 [Agent Skills](https://agentskills.io/)。 - **长任务支持** - 让 Devo 在多轮工作中自动管理上下文,避免任务变长后丢失上下文。 @@ -70,6 +69,10 @@ Desktop 体验、终端工作流以及工作区执行边界的团队。 - **成本和上下文可见性** - 在提供商支持时显示输入/输出 token、缓存 token 和上下文窗口用量。 - **轻量级 Rust 运行时** - 使用 Rust 构建,内存开销低,本地运行时紧凑。 +- **内置语义代码搜索(MCP)** - 可选的捆绑 MCP 服务器(`code_search` / + `devo-code-search-mcp`),**默认关闭**。在本地 CPU 上运行代码嵌入模型,并结合 + 密集检索与 BM25 关键词匹配,相比仅用 grep/find 的代理减少代码搜索上下文。用 + `devo mcp enable code_search` 或 TUI `/mcps` 启用。 ## 已测试模型 diff --git a/README.zh-Hant.md b/README.zh-Hant.md index 679acd45..d18d70b3 100644 --- a/README.zh-Hant.md +++ b/README.zh-Hant.md @@ -45,19 +45,18 @@ Desktop 體驗、終端機工作流以及工作區執行邊界的團隊。 可以指向內部端點,不依賴託管式 agent 服務。 - **Desktop 與終端機雙入口** - 用 Desktop app 完成可視化上手和日常編碼,也可以在需要 終端機原生自動化、遠端 shell 或腳本化流程時使用 CLI/TUI。 -- **面向 Agent Runtime 擴展** - MCP server、可重用 skills、本地語義程式碼搜尋、 - 可稽核會話、權限控制和多 agent 流程都是執行階段能力,不是一次性 prompt。 +- **面向 Agent Runtime 擴展** - MCP server、可重用 skills、可稽核會話、權限控制 + 和多 agent 流程都是執行階段能力,不是一次性 prompt。 ## 功能 -- **內建語義程式碼搜尋** - 執行本地 CPU 程式碼嵌入模型,並結合密集檢索 - 與 BM25 關鍵字比對,相比僅使用 grep/find 的代理減少程式碼搜尋上下文。 - **模型中立的 provider runtime** - 透過 provider/model 綁定接入 OpenAI 相容、 Anthropic 相容、DeepSeek、Qwen、Kimi、GLM、MiniMax、Xiaomi MiMo、 OpenRouter 或本地端點。 - **MCP 支援** - 透過 [Model Context Protocol](https://modelcontextprotocol.io/) 伺服器連接外部工具和上下文。 - 配置方式見 [配置](./docs/configuration.zh-Hant.md#mcp-伺服器)。 + 可用 CLI 管理:`devo mcp add|list|enable|disable|remove`(見 + [配置](./docs/configuration.zh-Hant.md#mcp-伺服器))。 - **Skill 支援** - 將可重複工作流程、說明、腳本和參考資料打包成可重用的 [Agent Skills](https://agentskills.io/)。 - **長時間任務支援** - 讓 Devo 在多輪工作中自動管理上下文,避免任務變長後丟失脈絡。 @@ -70,6 +69,10 @@ Desktop 體驗、終端機工作流以及工作區執行邊界的團隊。 - **成本和上下文可見性** - 在供應商支援時顯示輸入/輸出 token、快取 token 和上下文視窗用量。 - **輕量級 Rust 執行階段** - 使用 Rust 建構,記憶體開銷低,本地執行階段緊湊。 +- **內建語義程式碼搜尋(MCP)** - 可選的捆綁 MCP 伺服器(`code_search` / + `devo-code-search-mcp`),**預設關閉**。在本地 CPU 執行程式碼嵌入模型,並結合 + 密集檢索與 BM25 關鍵字比對,相比僅用 grep/find 的代理減少程式碼搜尋上下文。用 + `devo mcp enable code_search` 或 TUI `/mcps` 啟用。 ## 已測試模型 diff --git a/apps/web/app/_components/landing/data.ts b/apps/web/app/_components/landing/data.ts index 48030c41..4eecc376 100644 --- a/apps/web/app/_components/landing/data.ts +++ b/apps/web/app/_components/landing/data.ts @@ -66,7 +66,7 @@ export const landingCopy = { products: [ { status: "yes", - evidence: "Local embeddings + BM25.", + evidence: "Optional bundled MCP; off by default.", }, { status: "no", @@ -448,7 +448,7 @@ export const landingCopy = { products: [ { status: "yes", - evidence: "本地 embedding + BM25。", + evidence: "内置 MCP,默认关闭。", }, { status: "no", diff --git a/docs/configuration.ja.md b/docs/configuration.ja.md index bef06ad4..027efd0d 100644 --- a/docs/configuration.ja.md +++ b/docs/configuration.ja.md @@ -214,6 +214,55 @@ Devo は、ユーザーまたは workspace の `config.toml` の `[mcp]` で設 各サーバーは `servers` 配列の 1 エントリで、`transport` テーブルが接続方式を 決めます。対応トランスポートは `stdio`、`streamable_http`、非推奨の `sse` です。 +`config.toml` の編集、または CLI(`devo mcp …`)で設定できます。日常の追加 / +有効化 / 無効化 / 削除は CLI を優先し、transport・env・header の細かい調整は +TOML を編集してください。 + +### 同梱の `code_search`(既定では無効) + +Devo は `devo` の隣にオプションのセマンティック検索 MCP バイナリを同梱します。 +設定エントリは欠落時に自動注入され、明示的に有効化するまで **disabled** のままです: + +```toml +[[mcp.servers]] +id = "code_search" +display_name = "Code Search" +enabled = false +startup_policy = "lazy" + +[mcp.servers.transport] +kind = "stdio" +command = ["devo-code-search-mcp"] +``` + +```bash +devo mcp enable code_search +# または対話セッションで: /mcps → Code Search → Enable +``` + +有効化後のモデル向けツール名は `mcp__code_search__code_search` です。 + +### CLI 管理 + +ユーザー級 MCP サーバー(`~/.devo/config.toml`)は `devo mcp` で管理します: + +```bash +devo mcp list +devo mcp add time -- docker run -i --rm mcp/time +devo mcp add filesystem --env HOME=/tmp -- npx -y @modelcontextprotocol/server-filesystem . +devo mcp add --transport http hello-mcp http://localhost:8080/mcp +devo mcp add --transport http github --bearer-token "$TOKEN" https://api.githubcopilot.com/mcp/ +devo mcp add --transport sse legacy-mcp https://example.com/mcp/sse +devo mcp enable time +devo mcp disable time +devo mcp remove time +``` + +CLI の `enable|disable` はユーザー `config.toml` に書き込みます。実行中の対話 +セッションは TUI `/mcps`(`mcp/set_enabled`)でライブ適用されます。 + +### TOML の例 + stdio の例: ```toml @@ -285,8 +334,5 @@ url = "https://example.com/mcp/sse" `servers` は配列です。したがって、workspace の `[[mcp.servers]]` リストは ユーザーレベルのリストを `id` 単位でマージせず置き換えます。 -TUI の `/mcps` で対話的に確認できます(一覧 → 詳細 → ツール。Enable/Disable は -設定を保存し、`mcp/set_enabled` で次ターンからライブ適用します)。クライアントは -`mcp/list` / `mcp/tools` / `mcp/set_enabled` RPC も利用できます。ユーザー設定 -(`~/.devo/config.toml`) は `devo mcp add|list|remove|enable|disable` でも管理できます -(`--transport stdio|http|sse`)。 +TUI の `/mcps`(一覧 → 詳細 → ツール)で確認できます。クライアントは +`mcp/list` / `mcp/tools` / `mcp/set_enabled` RPC も利用できます。 diff --git a/docs/configuration.md b/docs/configuration.md index 9c599a92..f2bf8303 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -224,7 +224,14 @@ is one entry in the `servers` array, and its `transport` table selects how Devo connects. Supported transports are `stdio`, `streamable_http`, and the deprecated `sse`. -Devo also presets a bundled, disabled-by-default semantic search server: +You can configure MCP either by editing `config.toml` or with the CLI +(`devo mcp …`). Prefer the CLI for day-to-day add / enable / disable / remove; +edit TOML when you need transport details, env vars, or headers. + +### Bundled `code_search` (disabled by default) + +Devo ships an optional semantic search MCP binary next to `devo`. The config +entry is injected when missing and stays **disabled** until you enable it: ```toml [[mcp.servers]] @@ -238,8 +245,47 @@ kind = "stdio" command = ["devo-code-search-mcp"] ``` -Enable it with `devo mcp enable code_search` (or `/mcps` in the TUI). The -`devo-code-search-mcp` binary is installed next to `devo`. +```bash +devo mcp enable code_search +# or, in an interactive session: /mcps → Code Search → Enable +``` + +When enabled, the model-facing tool name is `mcp__code_search__code_search`. +The `devo-code-search-mcp` binary is installed next to `devo`. + +### CLI management + +Manage user-level MCP servers (`~/.devo/config.toml`) with `devo mcp`: + +```bash +# List configured servers (effective / user config) +devo mcp list + +# Add a stdio server (command + args after --) +devo mcp add time -- docker run -i --rm mcp/time +devo mcp add filesystem --env HOME=/tmp -- npx -y @modelcontextprotocol/server-filesystem . + +# Add Streamable HTTP (`--transport http` writes kind = "streamable_http") +devo mcp add --transport http hello-mcp http://localhost:8080/mcp +devo mcp add --transport http github --bearer-token "$TOKEN" https://api.githubcopilot.com/mcp/ + +# Add legacy SSE +devo mcp add --transport sse legacy-mcp https://example.com/mcp/sse + +# Enable / disable / remove by server id +devo mcp enable time +devo mcp disable time +devo mcp remove time +``` + +CLI `devo mcp enable|disable` writes user `config.toml` for offline use. An +already-running interactive session applies enable/disable live through the TUI +`/mcps` path (`mcp/set_enabled` RPC). + +Verify configuration in the TUI with `/mcps` (interactive server list → detail → +tools). Clients can also call `mcp/list`, `mcp/tools`, and `mcp/set_enabled`. + +### TOML examples Stdio example: @@ -312,35 +358,3 @@ Field notes: Merge behavior: `[mcp]` is merged field-wise like other tables, but `servers` is an array. A project-level `[[mcp.servers]]` list therefore replaces the user-level list instead of merging by `id`. - -### CLI management - -Manage user-level MCP servers (`~/.devo/config.toml`) with `devo mcp`: - -```bash -# Stdio (command + args after --) -devo mcp add time -- docker run -i --rm mcp/time -devo mcp add filesystem --env HOME=/tmp -- npx -y @modelcontextprotocol/server-filesystem . - -# Streamable HTTP (`--transport http` writes kind = "streamable_http") -devo mcp add --transport http hello-mcp http://localhost:8080/mcp -devo mcp add --transport http github --bearer-token "$TOKEN" https://api.githubcopilot.com/mcp/ - -# Legacy SSE -devo mcp add --transport sse legacy-mcp https://example.com/mcp/sse - -devo mcp list -devo mcp enable time -devo mcp disable time -devo mcp remove time -``` - -CLI `devo mcp enable|disable` writes user `config.toml` for offline use. An -already-running interactive session applies enable/disable live through the TUI -`/mcps` path (`mcp/set_enabled` RPC). - -Verify configuration in the TUI with `/mcps` (interactive server list → detail → -tools; Enable/Disable persists config and applies the manager + tool registry -for the next turn). Clients can also call `mcp/list`, `mcp/tools`, and -`mcp/set_enabled`. Use `devo mcp add|list|remove|enable|disable` for CLI -management. diff --git a/docs/configuration.ru.md b/docs/configuration.ru.md index 229d36c9..839e0bf3 100644 --- a/docs/configuration.ru.md +++ b/docs/configuration.ru.md @@ -222,6 +222,56 @@ Devo подключается к серверам [Model Context Protocol](https определяет способ подключения. Поддерживаются транспорты `stdio`, `streamable_http` и устаревший `sse`. +Настраивать MCP можно правкой `config.toml` или через CLI (`devo mcp …`). +Для повседневного add / enable / disable / remove предпочитайте CLI; TOML +удобнее, когда нужны детали транспорта, env или заголовки. + +### Встроенный `code_search` (по умолчанию выключен) + +Devo устанавливает опциональный бинарник семантического поиска рядом с `devo`. +Запись конфигурации подставляется при отсутствии и остается **disabled**, пока +вы ее не включите: + +```toml +[[mcp.servers]] +id = "code_search" +display_name = "Code Search" +enabled = false +startup_policy = "lazy" + +[mcp.servers.transport] +kind = "stdio" +command = ["devo-code-search-mcp"] +``` + +```bash +devo mcp enable code_search +# или в интерактивной сессии: /mcps → Code Search → Enable +``` + +После включения модель видит инструмент как `mcp__code_search__code_search`. + +### Управление через CLI + +Пользовательские MCP-серверы (`~/.devo/config.toml`) управляются через `devo mcp`: + +```bash +devo mcp list +devo mcp add time -- docker run -i --rm mcp/time +devo mcp add filesystem --env HOME=/tmp -- npx -y @modelcontextprotocol/server-filesystem . +devo mcp add --transport http hello-mcp http://localhost:8080/mcp +devo mcp add --transport http github --bearer-token "$TOKEN" https://api.githubcopilot.com/mcp/ +devo mcp add --transport sse legacy-mcp https://example.com/mcp/sse +devo mcp enable time +devo mcp disable time +devo mcp remove time +``` + +`enable|disable` пишет пользовательский `config.toml`. В уже запущенной +интерактивной сессии изменение применяется через TUI `/mcps` (`mcp/set_enabled`). + +### Примеры TOML + Пример stdio: ```toml @@ -295,9 +345,5 @@ url = "https://example.com/mcp/sse" `servers` - это массив. Поэтому список `[[mcp.servers]]` уровня проекта заменяет пользовательский список целиком, а не сливает по `id`. -Проверить конфигурацию можно в TUI командой `/mcps` (интерактивный список → -детали → инструменты; Enable/Disable сохраняет конфиг и применяет -`mcp/set_enabled` для следующего хода). Пользовательский `~/.devo/config.toml` -также можно менять через `devo mcp add|list|remove|enable|disable` -(`--transport stdio|http|sse`). Клиенты могут вызывать RPC `mcp/list`, -`mcp/tools` и `mcp/set_enabled`. +Проверить конфигурацию можно в TUI командой `/mcps`. Клиенты могут вызывать RPC +`mcp/list`, `mcp/tools` и `mcp/set_enabled`. diff --git a/docs/configuration.zh-Hans.md b/docs/configuration.zh-Hans.md index 8929c68e..46cd3d47 100644 --- a/docs/configuration.zh-Hans.md +++ b/docs/configuration.zh-Hans.md @@ -205,6 +205,66 @@ Devo 通过用户或工作区 `config.toml` 中的 `[mcp]` 配置 `servers` 数组中的一项,其 `transport` 表决定 Devo 的连接方式。支持的传输方式有 `stdio`、`streamable_http` 和已弃用的 `sse`。 +可以用编辑 `config.toml` 或 CLI(`devo mcp …`)两种方式配置 MCP。日常的添加 / +启用 / 禁用 / 删除优先用 CLI;需要细调传输参数、环境变量或 header 时再改 TOML。 + +### 捆绑的 `code_search`(默认关闭) + +Devo 会在 `devo` 旁边安装可选的语义搜索 MCP 二进制。配置项在缺失时会自动注入, +且保持 **disabled**,直到你显式启用: + +```toml +[[mcp.servers]] +id = "code_search" +display_name = "Code Search" +enabled = false +startup_policy = "lazy" + +[mcp.servers.transport] +kind = "stdio" +command = ["devo-code-search-mcp"] +``` + +```bash +devo mcp enable code_search +# 或在交互会话中:/mcps → Code Search → Enable +``` + +启用后,模型侧工具名为 `mcp__code_search__code_search`。 + +### CLI 管理 + +用 `devo mcp` 管理用户级 MCP 服务器(`~/.devo/config.toml`): + +```bash +# 列出已配置服务器 +devo mcp list + +# 添加 stdio 服务器(`--` 后为 command + args) +devo mcp add time -- docker run -i --rm mcp/time +devo mcp add filesystem --env HOME=/tmp -- npx -y @modelcontextprotocol/server-filesystem . + +# 添加 Streamable HTTP(`--transport http` 写入 kind = "streamable_http") +devo mcp add --transport http hello-mcp http://localhost:8080/mcp +devo mcp add --transport http github --bearer-token "$TOKEN" https://api.githubcopilot.com/mcp/ + +# 添加旧版 SSE +devo mcp add --transport sse legacy-mcp https://example.com/mcp/sse + +# 按 id 启用 / 禁用 / 删除 +devo mcp enable time +devo mcp disable time +devo mcp remove time +``` + +CLI `devo mcp enable|disable` 会写入用户 `config.toml`(离线配置)。已在运行的 +交互会话通过 TUI `/mcps`(`mcp/set_enabled` RPC)即时启用/禁用。 + +可在 TUI 中用 `/mcps`(交互式列表 → 详情 → 工具)验证配置。客户端也可调用 +`mcp/list`、`mcp/tools`、`mcp/set_enabled`。 + +### TOML 示例 + stdio 示例: ```toml @@ -272,31 +332,3 @@ url = "https://example.com/mcp/sse" 合并行为:`[mcp]` 与其他表一样按字段合并,但 `servers` 是数组。项目级的 `[[mcp.servers]]` 列表会整体替换用户级列表,而不是按 `id` 合并。 - -### CLI 管理 - -用 `devo mcp` 管理用户级 MCP 服务器(`~/.devo/config.toml`): - -```bash -# Stdio(`--` 后为 command + args) -devo mcp add time -- docker run -i --rm mcp/time - -# Streamable HTTP(`--transport http` 写入 kind = "streamable_http") -devo mcp add --transport http hello-mcp http://localhost:8080/mcp - -# 旧版 SSE -devo mcp add --transport sse legacy-mcp https://example.com/mcp/sse - -devo mcp list -devo mcp enable time -devo mcp disable time -devo mcp remove time -``` - -CLI `devo mcp enable|disable` 会写入用户 `config.toml`(离线配置)。已在运行的 -交互会话通过 TUI `/mcps`(`mcp/set_enabled` RPC)即时启用/禁用。 - -可在 TUI 中用 `/mcps`(交互式列表 → 详情 → 工具;Enable/Disable 会持久化配置并为 -下一回合应用管理器与工具注册表)验证配置。客户端也可调用 `mcp/list`、 -`mcp/tools`、`mcp/set_enabled`。也可用 `devo mcp add|list|remove|enable|disable` -管理用户级配置。 diff --git a/docs/configuration.zh-Hant.md b/docs/configuration.zh-Hant.md index d713fcd8..719bbc23 100644 --- a/docs/configuration.zh-Hant.md +++ b/docs/configuration.zh-Hant.md @@ -205,6 +205,54 @@ Devo 透過使用者或工作區 `config.toml` 中的 `[mcp]` 設定 `servers` 陣列中的一項,其 `transport` 表決定 Devo 的連線方式。支援的傳輸方式有 `stdio`、`streamable_http` 和已棄用的 `sse`。 +可用編輯 `config.toml` 或 CLI(`devo mcp …`)設定 MCP。日常新增 / 啟用 / 停用 / +刪除優先用 CLI;需要細調傳輸參數、環境變數或 header 時再改 TOML。 + +### 捆綁的 `code_search`(預設關閉) + +Devo 會在 `devo` 旁邊安裝可選的語義搜尋 MCP 二進位。設定項在缺失時會自動注入, +且保持 **disabled**,直到你明確啟用: + +```toml +[[mcp.servers]] +id = "code_search" +display_name = "Code Search" +enabled = false +startup_policy = "lazy" + +[mcp.servers.transport] +kind = "stdio" +command = ["devo-code-search-mcp"] +``` + +```bash +devo mcp enable code_search +# 或在互動工作階段:/mcps → Code Search → Enable +``` + +啟用後,模型側工具名稱為 `mcp__code_search__code_search`。 + +### CLI 管理 + +用 `devo mcp` 管理使用者級 MCP 伺服器(`~/.devo/config.toml`): + +```bash +devo mcp list +devo mcp add time -- docker run -i --rm mcp/time +devo mcp add filesystem --env HOME=/tmp -- npx -y @modelcontextprotocol/server-filesystem . +devo mcp add --transport http hello-mcp http://localhost:8080/mcp +devo mcp add --transport http github --bearer-token "$TOKEN" https://api.githubcopilot.com/mcp/ +devo mcp add --transport sse legacy-mcp https://example.com/mcp/sse +devo mcp enable time +devo mcp disable time +devo mcp remove time +``` + +CLI `enable|disable` 會寫入使用者 `config.toml`。已在執行的互動工作階段透過 +TUI `/mcps`(`mcp/set_enabled`)即時套用。 + +### TOML 範例 + stdio 範例: ```toml @@ -273,8 +321,5 @@ url = "https://example.com/mcp/sse" 合併行為:`[mcp]` 與其他表一樣依欄位合併,但 `servers` 是陣列。專案級的 `[[mcp.servers]]` 列表會整體取代使用者級列表,而不是依 `id` 合併。 -可在 TUI 中用 `/mcps`(互動式清單 → 詳情 → 工具;Enable/Disable 會寫入設定並透過 -`mcp/set_enabled` 即時套用到下一個回合)驗證配置。也可用 -`devo mcp add|list|remove|enable|disable` 管理使用者級 `~/.devo/config.toml` -(支援 `--transport stdio|http|sse`)。客戶端可呼叫 `mcp/list`、`mcp/tools`、 -`mcp/set_enabled` RPC。 +可在 TUI 中用 `/mcps`(互動式清單 → 詳情 → 工具)驗證配置。客戶端可呼叫 +`mcp/list`、`mcp/tools`、`mcp/set_enabled` RPC。