
Momojie-S/dsh-workspace-mcp
30最近提交 2026年8月14日
dsh-workspace-mcp DSH 插件
该插件读取项目根目录下的 `.dsh/mcp.servers.yml` 文件,在 agent 创建时自动连接对应 MCP 服务器。支持 stdio 和 streamable-http 两种传输方式,具备指数退避的自动重连机制,配置文件保存后自动热重载。MCP 工具注册到 agent scope,随 agent 销毁自动回收,不同项目的 MCP 互不干扰。
如何安装 dsh-workspace-mcp DSH 插件
dsh plugin --profile web add github:Momojie-S/dsh-workspace-mcp复制不会执行命令。安装 dsh-workspace-mcp DSH 插件前请核对仓库和版本。
dsh-workspace-mcp DSH 插件数据来源
dsh-workspace-mcp DSH 插件快照日期:2026年8月16日
discovered
dsh-workspace-mcp DSH 插件能做什么
- 根据当前 workspace 自动从 `.dsh/mcp.servers.yml` 加载 MCP 服务器
- 支持 stdio 和 streamable-http 两种传输方式
- 断线自动重连,支持指数退避和可配置的尝试次数(per-server 覆盖)
- 使用 chokidar 监听配置文件变更,保存即热重载
- MCP 工具注册到 agent scope,agent 销毁时自动清理
- 响应 MCP 服务器的 `toolListChanged` 通知,自动同步工具列表
dsh-workspace-mcp DSH 插件适合哪些场景
- 每个项目可以定义自己的 MCP 服务器,互不干扰
- 在 DSH agent 会话中使用项目特定的 MCP 工具(如数据库、API 客户端)
- 开发或测试 MCP 服务器,失败时自动重连
- 在不同项目间无缝切换,MCP 工具随 workspace 自动变更
- 通过详细日志调试 MCP 服务器连接问题
dsh-workspace-mcp DSH 插件适合谁
- 管理多个项目且每个项目需要不同 MCP 服务器的 DSH 用户
- 希望将 MCP 服务器配置限定在项目范围内的开发者
dsh-workspace-mcp DSH 插件的限制
- 仅在 DSH 0.1.0-rc.6 上验证,其他版本可能不兼容
- 在 headless“创建后立即发消息”的竞速场景中,第一个模型请求可能不包含 MCP 工具(第二个请求保证包含)
- 需要在项目根目录存在 `.dsh/mcp.servers.yml` 文件,无该文件的目录不加载任何 MCP
- 重连期间旧工具保持注册,但调用会失败直到服务器恢复
- 配置字段必须与 `@deepseek-ai/dsh-mcp-client` 规范对齐
dsh-workspace-mcp DSH 插件的仓库 README 摘录
以下文字摘自 dsh-workspace-mcp DSH 插件的上游仓库 Momojie-S/dsh-workspace-mcp 的 README,版权归原作者,仅作引用。
DSH 插件:按 **workspace(session cwd)** 自动加载/卸载 MCP server——每个项目自己的 `.dsh/mcp.servers.yml` 只在自己的会话生效,MCP 工具注册到 agent scope,随 agent 生灭自动回收,不同项目的 MCP 互不干扰。 ## 环境要求 - DSH `0.1.0-rc.6`(已验证) ## 用法 项目根放 `.dsh/mcp.servers.yml`: ```yaml servers: my-server: transport: stdio command: npx args: ["-y", "some-mcp-server@latest"] env: {} remote: transport: streamable-http url: https://example.com/mcp headers: Authorization: "Bearer <token>" ``` 字段与 `@deepseek-ai/dsh-mcp-client` 对齐(`transport` / `command` / `args` / `env` / `url` / `headers` / `toolCallTimeoutMs` / `reconnect`)。 - agent 创建即连接注册(`agent/created`),**首个模型请求就含这些工具**;headless "create 后立刻发消息" 的竞速场景第 1 步可能没有,第 2 步必有 - **断线自动重连**(移植官方 dsh-mcp-client 的 supervisor):启动失败与中途断线均按指数退避重连并重新注册工具;重连期间旧工具保持注册(调用会失败),server 恢复后自动换新。stdio = 重新 spawn,http = 重新握手 - server 发 `toolListChanged` 通知时自动重同步工具列表 - 改配置文件由 chokidar 监听,保存即重载;无该文件的目录不加载任何 MCP ## 安装 本插件是**组合包**(`dsh.bundle`),用 `dsh plugin` 安装进 profile,自动追加配置层,无需手编 patch: ```bash # GitHub(私仓需 git 凭据;pnpm ≥10 首次 add 会提示授权构建,按提示把包键 # 写进 ~/.dsh/profiles/web/pnpm-workspace.yaml 的 allowBuilds 后重新 add) dsh plugin --profile web add github:Momojie-S/dsh-workspace-
阅读完整 README仓库许可: MIT
dsh-workspace-mcp DSH 插件常见问题
如何安装 dsh-workspace-mcp?
通过 DSH 插件命令安装:`dsh plugin --profile web add github:Momojie-S/dsh-workspace-mcp`。也可以使用 tarball:`dsh plugin --profile web add momojie-s-dsh-workspace-mcp-0.2.0.tgz`。安装后重启 DSH,用 `dsh web --dump-config | Select-String workspace-mcp` 验证。
MCP 配置文件应该放在哪里?
在项目根目录创建 `.dsh/mcp.servers.yml` 文件。插件会读取相对于 workspace 当前工作目录的配置文件。如果文件不存在,该 workspace 不会加载任何 MCP 服务器。
这个插件支持哪些传输方式?
支持两种传输方式:`stdio`(例如通过 `npx` 运行本地 MCP 服务器)和 `streamable-http`(连接到远程 HTTP 端点)。配置字段与 `@deepseek-ai/dsh-mcp-client` 规范对齐。
自动重连是如何工作的?
插件实现了从官方 dsh-mcp-client 移植的指数退避重连。首次延迟 500ms,每次尝试翻倍,最大延迟 30 秒。如果服务器存活时间超过 `maxDelayMs`,尝试预算重置。连续失败 10 次后,该服务器的工具会被卸载。你可以在配置文件中为每个服务器覆盖这些设置。
为什么第一个 agent 请求没有 MCP 工具?
在 headless 场景下,创建 agent 后立即发送消息,第一个模型请求可能不包含 MCP 工具,因为插件在 `agent/created` 事件时才连接。第二个请求保证包含这些工具。如果创建 agent 后稍等片刻,第一个请求也会包含它们。