前言¶
DeepSeek Harness (DSH) 採用插件化架構。在開發過程中,管理技能和 MCP 服務器通常涉及命令行操作或手動編輯配置文件,操作分散且容易出錯。dsh-tool-explorer 提供了一個 Web 設置頁面,用於統一管理這些資源,實現了可視化的瀏覽、安裝、更新、編輯和監控。
是什麼¶
這是一個由 6pofx 維護的 DSH 插件。它是一個 Web 管理控制台,允許用戶在瀏覽器中完成以下操作:
* 技能:瀏覽、安裝、更新、編輯、切換技能。
* MCP 服務器:添加、編輯、啓用/禁用、測試和監控服務器。
安裝與啓用¶
該插件已發佈在 npm 上。安裝時不需要指定版本,當前版本(v0.4.2)的構建包覆蓋了所有支持的 DSH 版本。
- 執行安裝命令:
dsh plugin --profile web add dsh-tool-explorer
- 安裝完成後,重啓
dsh web(主機端插件在啓動時加載),然後打開 Settings → Skills 和 MCP。
兼容性¶
一個構建版本服務於所有支持的 DSH 版本。經運行時驗證,支持:
* 0.1.5-rc.2(當前):支持啓動、主機路由、設置和客戶端包。
* 0.1.1-rc.2:支持相同的運行時檢查。
* 0.1.0-rc.7 到 0.1.4:預期支持,因爲該版本暴露了相同的設置接口。
* 無 ctx.settings 的主機:可以加載並工作,偏好設置會回退到組合入口配置。
技能管理¶
插件提供了一套完整的技能管理能力:
- 目錄瀏覽:合併了所有提供者(項目/用戶/內置/插件)和共享
.skill-lock的完整目錄。支持按來源層級瀏覽(可摺疊樹:project-dsh → project-agents → custom → user-dsh → user-agents → runtime → bundled),並顯示已加載/禁用的計數。 - 編輯與創建:支持搜索、詳情預覽和在線創建/編輯。編輯器支持 Kebab-case 驗證、Frontmatter 表單和 Markdown 正文。
- 調用控制:提供獨立的模型/用戶調用開關。可以單獨關閉某技能的模型調用(
disable-model-invocation)或用戶調用(user-invocable),或者兩者都關閉。 - 可恢復的垃圾箱:刪除用戶根目錄下的技能時,會將其移至
<dshHome>/skills-trash(鎖定條目會被快照)。恢復操作會將技能以字節完全一致的方式放回,支持永久清除或清空垃圾箱。 - GitHub 安裝:支持從 GitHub 安裝,解析 URL(
owner/repo、樹路徑、#branch),支持多選/全選批量安裝,並提供更新檢查和應用(含備份和回滾)。 - 兼容性:
skillFolderHash與 Skills CLI (npx skills) 保持字節兼容。
MCP 服務器管理¶
插件提供了 MCP 服務器的全方位管理功能:
- 服務器列表與監控:顯示服務器列表及其實時狀態(fiber phase)、工具清單和每個服務器的工具計數。
- 增刪改查:支持添加、編輯、刪除服務器(支持 stdio 和 streamable-http),並通過啓用/禁用開關控制。
- 跨代理導入:支持一鍵掃描並導入 Claude、Cursor、Codex、Cline、Roo、Continue、Codeium Windsurf 的 MCP 配置。
- 連接測試:使用獨立的 SDK 探針測試連接,不會干擾運行中的實例。
- 併發保護:提供寫圍欄(expected-hash)機制,防止併發手動編輯導致的數據衝突。
注意事項¶
- 運行時依賴:如果添加了運行時依賴(例如
tar),需要執行 重新打包 + 重新安裝 操作,僅複製lib/目錄是不夠的。 - 熱重載:主機端更改需要重啓
dsh web;客戶端更改支持熱重載。 - MCP 客戶端補丁:在執行
dsh upgrade後,必須重新運行本地 dsh-mcp-client 補丁。升級操作會恢復官方的dsh-mcp-client字節,導致補丁失效。 - 許可證:MIT。
參考實現¶
該插件的 M5 功能集(源分組瀏覽、按軸調用、可恢復垃圾箱)參考了以下社區插件的設計模式:
* cheshireez/dsh-skill-hub
* SeverusZh/dsh-skills-mcp-group-manager
* BAIKAI23333/dsh-skills-manager
* peiqi10086/dsh-skills-market