前言¶
dsh-mcp-toggle 是由 Zenjibad 开发的一个 DeepSeek Harness 插件。它解决了一个常见痛点:在 DSH 中管理 MCP 服务器的启用与停用通常需要修改配置文件并重启。该插件在 DSH 设置中添加了一个名为 “MCP Servers” 的页面,允许用户直接在界面中实时切换连接状态,并将配置持久化保存。
功能特性¶
添加设置页面¶
插件在 DSH 设置中注册了一个名为 mcp-toggle 的页面(顺序 70)。该页面是累加式的,列出所有已配置的 @deepseek-ai/dsh-mcp-client 服务器,每一行都有一个独立的开关。
实时切换¶
切换开关会调用 Cordis Loader 的 Entry.update({disabled}) 接口,立即停止或启动 MCP 连接的 fiber,并实时注销或注册 mcp__* 工具,无需重启 DSH 进程。
持久化存储¶
每次更改都会被追加到 $DSH_HOME/cordis.patch.yml 文件中(home patch layer)。该层优先级高于配置文件,因此更改会在 DSH 重启后依然生效。
状态概览¶
页面显示服务器名称、启用/禁用标签以及连接阶段(Connected / Stopped / Connecting / Connection failed),让状态一目了然。
安全防护¶
插件对特定条目进行了锁定保护:加载器的 include 条目、插件自身以及非 MCP 条目无法被操作。操作未知 ID 会返回 404,操作受保护条目会返回 403。
主题适配¶
界面使用 --dsw-alias-* 设计令牌,自动适配浅色和深色主题。
安装与启用¶
安装命令¶
使用以下命令安装插件:
dsh plugin --profile web add github:Zenjibad/dsh-mcp-toggle
重载页面¶
安装或更新插件后,必须重启 DSH 并对浏览器页面执行硬刷新(Ctrl+F5)。热更新(HMR)仅替换已加载的 bundle,不会自动拉取新的 bundle。
使用说明¶
访问设置¶
安装完成后,在 DSH 设置中找到 “MCP Servers” 页面。
操作服务器¶
点击列表中对应服务器的开关即可启用或停用。操作会立即生效,并在界面下方弹出提示。
注意事项¶
系统要求¶
需要安装了 Web Profile 的 DSH 版本(DSH ≥ 0.1),且配置中至少有一条 @deepseek-ai/dsh-mcp-client 记录。如果没有配置任何服务器,页面将显示 “No MCP servers are configured”。
行为逻辑¶
插件没有配置文件,其行为由源代码中的常量定义。系统会区分未知 ID(返回 404)和受保护条目(返回 403)。
来源与文档¶
插件开源,许可证为 MIT。
- GitHub: https://github.com/Zenjibad/dsh-mcp-toggle
- 目录页: https://www.skillhub.cn/plugins/Zenjibad/dsh-mcp-toggle