前言¶
在 DeepSeek Harness(DSH)裏跑智能體,MCP 服務、Skills 和內置插件包會隨使用不斷增減。常見做法是直接編輯 ~/.dsh/profiles/web/cordis.patch.yml,或在文件系統裏手動挪動 ~/.dsh/skills/ 下的目錄。配置項一多,開關某個 MCP、確認傳輸方式、刪掉不再用的 Skill,都要對着 YAML 和路徑操作,改完通常還要重啓 dsh web 才能看到效果。
dsh-plugin-manager(維護者 liqichen)把上述操作收進 DSH 設置面板裏的圖形界面:三個標籤頁分別對應 MCP 服務、Skills 和內置插件包,改動寫入真實配置文件後熱生效,無需重啓 dsh web。項目在 GitHub 上開源(MIT,當前版本 0.1.0),支持 macOS 與 Linux,歸類爲客戶端插件。
這是什麼¶
dsh-plugin-manager 是標準 DSH 雙端插件:瀏覽器端 client.js 在設置面板注入「插件管理」頁,Node 端 index.js 內嵌在 dsh web 宿主裏,註冊 /plugin-manager/api/* 路由,讀寫 cordis.patch.yml 與 Skills 目錄。不額外起進程,不佔端口,API 與頁面同源。
社區目錄頁:https://www.skillhub.cn/plugins/liqichen/dsh-plugin-manager
源碼倉庫:https://github.com/liqichen/dsh-plugin-manager
核心功能¶
| 能力 | 說明 | 生效方式 |
|---|---|---|
| MCP 開關 | 一鍵禁用/啓用任意 MCP 服務(寫入 disabled: true 或移除) |
即時熱生效 |
| MCP 刪除 | 從 cordis.patch.yml 刪除整個 MCP 條目(上方註釋保留) |
即時熱生效 |
| Skills 管理 | 瀏覽全部 skill 及描述;刪除時移入 .trash-* 目錄,可恢復 |
立即生效 |
| 內置插件包瀏覽 | 只讀查看 DSH 本體 160+ 內置插件包的名稱、版本、說明 | 只讀 |
| 自動備份 | 每次寫操作前自動備份爲 cordis.patch.yml.bak-<時間戳> |
— |
寫操作涉及的主要路徑:
~/.dsh/profiles/web/cordis.patch.yml— MCP 服務配置(補丁層)~/.dsh/skills/— Skill 目錄~/.dsh/profiles/node_modules/@deepseek-ai/— DSH 本體插件包(只讀)
安裝與啓用¶
前提:已安裝 DeepSeek Harness(dsh web),並瞭解 ~/.dsh 目錄結構。
下面是從倉庫安裝並註冊的完整步驟(README 推薦方式):
# 1. 克隆並放入用戶插件目錄
git clone https://github.com/liqichen/dsh-plugin-manager.git
mkdir -p ~/.dsh/plugins/dsh-plugin-manager
cp -r dsh-plugin-manager/{index.js,client.js,package.json} ~/.dsh/plugins/dsh-plugin-manager/
# 2. 通過 dsh CLI 註冊插件
dsh plugin --profile web add ~/.dsh/plugins/dsh-plugin-manager
接着手動完成依賴與插件聲明:
# 3. 編輯 ~/.dsh/profiles/web/package.json,在 dependencies 加入:
# "dsh-plugin-manager": "file:../../plugins/dsh-plugin-manager"
# 4. 編輯 ~/.dsh/profiles/web/cordis.patch.yml,在 plugins 列表加入:
# - id: plugin-manager-ui
# name: dsh-plugin-manager
完成上述步驟後,重啓 dsh web,打開「設置」→「插件管理」即可使用。
若插件機制不適用,倉庫還提供早期獨立版 Python 服務作爲備用:
python3 legacy/server.py --port 17891
# 瀏覽器打開 http://127.0.0.1:17891/
典型用法¶
安裝並重啓後,進入 DSH 設置 → 插件管理。
MCP 服務標籤頁:每個 MCP 以卡片展示名稱、傳輸方式(stdio / http)、運行狀態與配置 id。右側開關可禁用或啓用;刪除按鈕會二次確認後移除條目。頂部顯示配置文件路徑與總數量。
Skills標籤頁:列出所有 skill、SKILL.md 中的描述及目錄路徑。刪除操作將目錄移入 ~/.dsh/skills/.trash-*,可手動恢復。
內置插件包標籤頁:表格只讀展示 DSH 本體全部插件包。升級 DSH 本體請使用:
npm update -g @deepseek-ai/dsh
操作完成後,頁面會提示改動已即時熱生效。配置雖即時寫入,當前已打開的會話仍持有舊工具列表,建議新開一個會話以刷新。
後端提供兩個同源 API,供界面或腳本調用:
# 讀取當前狀態
GET /plugin-manager/api/state
# 執行操作(kind 區分:mcp-toggle / mcp-delete / skill-delete)
POST /plugin-manager/api/action
寫操作示例:
{ "kind": "mcp-toggle", "id": "mcp-scrapling", "disable": true }
{ "kind": "mcp-delete", "id": "mcp-scrapling" }
{ "kind": "skill-delete", "name": "obsidian-cli" }
適用場景與注意¶
適合誰: 經常在 DSH 裏增減 MCP 或 Skills、希望少碰 YAML 和路徑、又需要確認傳輸方式與運行狀態的用戶。內置插件包頁適合快速覈對 DSH 自帶模塊名稱與版本,不負責升級本體。
使用邊界:
- 操作的是真實配置,改動直接寫入
cordis.patch.yml與~/.dsh/skills/;雖有自動備份,重要環境改前仍建議自行留檔。 - MCP 刪除只移除配置條目,不會卸載 npm 包;可從
cordis.patch.yml.bak-*恢復,或手動加回條目。 - Skill 刪除是移入
.trash-*,徹底刪除需手動rm -rf對應目錄。 - 默認作用於
~/.dsh/profiles/web/這一 profile;其他 profile 需調整路徑。 - 插件後端跑在當前 dsh web 進程權限下,安裝前請閱讀源碼與 MIT 許可證,確認可接受其讀寫本地配置的行爲。
若頁面提示「插件後端未響應」,檢查安裝步驟 3、4 是否完成,以及 ~/.dsh/profiles/node_modules/dsh-plugin-manager 是否正確指向插件目錄,然後重啓 dsh web。
結尾¶
dsh-plugin-manager 把 MCP、Skills 與內置插件包的日常維護收進 DSH 設置面板,配置改動熱生效,減少手改 YAML 和反覆重啓。DSH 社區奉行「一切皆插件」;SkillHub 目錄是獨立社區站點,與 DeepSeek / 幻方無官方從屬關係。