前言¶
DeepSeek Harness (DSH) 採用“一切皆插件”的理念。在桌面端開發時,管理 Skill(技能)和 MCP Server(模型上下文協議服務器)通常需要直接操作配置文件,缺乏統一入口且容易誤改。下面介紹 dsh-skill-mcp-manager,它爲 DSH Desktop 提供了一個設置頁內的統一管理界面。
核心功能¶
該插件基於 DSH 的雙面插件機制(Host + 瀏覽器端)和 profile bundle 方式加載,隨 DSH 升級自動存續。
Skill 管理¶
插件管理位於 ~/.dsh/skills 的技能文件:
* 列表與搜索:列出所有 Skill,支持按名稱或描述搜索。
* 開關與刪除:通過修改 frontmatter 標記實現啓用/禁用;刪除操作涉及真實文件或軟鏈,具有破壞性,需先確認。
* 導入:支持上傳 .md 文件,名稱自動規範化爲 kebab-case。
* 文件夾同步:通過軟鏈接(ln -s)將源文件夾同步至目標目錄,源文件修改實時生效。
MCP 管理¶
插件管理位於 ~/.dsh/mcp.json 的服務器配置:
* 支持協議:支持 stdio(命令/參數/環境變量/工作目錄)和 streamable-http(URL/請求頭)。
* 漸進加載:啓動時不連接服務器,僅在模型命中描述後調用 mcp_session(load),按需加載工具,不同會話互不影響。
* 配置編輯:支持通過系統編輯器打開配置文件。
系統提示集成¶
每個會話的系統提示詞會自動追加 capability:mcp 段,列出已配置 Server 的名稱、描述及加載狀態,模型據此決定調用哪些工具。
安裝與啓用¶
需要一個支持 profile bundle patch 的 DSH 環境。在 profile 的 package.json 中添加依賴和 bundle 配置:
{
"dependencies": {
"@kiligzzz/dsh-skill-mcp-manager": "^0.3.0"
},
"dsh": {
"profile": {
"bundles": ["@kiligzzz/dsh-skill-mcp-manager"]
}
}
}
配置完成後重啓 DSH,在設置頁面即可看到新增的管理入口。
典型用法¶
- 統一管理:在 DSH 設置頁面對 Skill 和 MCP Server 進行增刪改查。
- 軟鏈同步:在宿主機上執行命令,將技能文件夾通過軟鏈接同步到
~/.dsh/skills,實現外部文件實時更新。
說明與注意事項¶
- 配置格式:插件寫入
~/.dsh/mcp.json時使用 map 格式({ "name": { ... } })。舊版{ "servers": [...] }數組格式在首次讀取時會自動遷移。 - 依賴項:Host 半區依賴運行時解析
@deepseek-ai/dsh-mcp-client,不隨包發佈;瀏覽器端依賴slots服務。 - 破壞性操作:刪除或開關 Skill 會直接修改文件系統,屬於破壞性操作。
- 開發:插件無構建步驟,純 JavaScript 實現。
總結¶
該插件解決了 DSH 環境下 Skill 與 MCP Server 手動配置繁瑣的問題,通過設置頁提供可視化管理,並實現了按會話漸進加載工具的能力,適合需要頻繁調整上下文協議配置的開發者。
- GitHub 倉庫:https://github.com/kiligzzz/dsh-skill-mcp-manager
- 插件目錄:https://www.skillhub.cn/plugins/kiligzzz/dsh-skill-mcp-manager