前言¶
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