前言¶
DeepSeek Harness(命令名 dsh)把智能體運行時拆成插件:MCP 服務、Skill、內置包,都可以往當前 profile 裏疊。用久了之後,常見情況是 ~/.dsh/profiles/web/cordis.patch.yml 越寫越長,~/.dsh/skills/ 裏也堆了不少目錄。要臨時關掉某個 MCP、刪掉用不上的 Skill,往往得手改 YAML 或挪文件夾,再確認宿主有沒有把改動喫進去。改錯一行縮進,工具列表就不對;改對了,已打開的會話也不一定立刻刷新。
dsh-plugin-manager 把這件事收進 dsh web 的設置面板。打開「設置 → 插件管理」,用開關和刪除按鈕操作 MCP 與 Skills,寫配置前自動備份,宿主走 HMR,不必重啓 dsh web。本文按社區目錄詳情頁、倉庫 README、package.json / index.js 原文,以及 DeepSeek Harness 官方倉庫 覈對後整理。
社區插件目錄 deepseek-harness-plugin.com 是獨立站點,和 DeepSeek / 幻方沒有官方從屬關係,不能當成官方應用商店。GitHub 上還有若干同名或相近的「插件管理器」,能力邊界不一樣;下面只介紹目錄頁收錄、由 liqichen 維護的這一份。
這是什麼¶
dsh-plugin-manager 是一款開發與運行時類的 DSH 雙端 Web 插件:瀏覽器半在設置面板注入「插件管理」頁,Node 半把後端接口掛在 dsh web 宿主上。維護者是 liqichen,源碼在 liqichen/dsh-plugin-manager,許可證 MIT,package.json 版本爲 0.1.0。目錄頁記錄主要語言爲 JavaScript,dsh.client.platform 聲明爲 web。README 的平臺徽章寫的是 macOS | Linux。截至 2026-08-18,目錄頁與 GitHub 倉庫均顯示 10 星。
它解決的是「已經裝進當前 web profile 的 MCP / Skill / 內置包,怎麼用圖形界面看清、開關、刪掉」,而不是再做一個插件市場。三個標籤頁對應三類對象:
- MCP 服務:讀、改
~/.dsh/profiles/web/cordis.patch.yml - Skills:瀏覽
~/.dsh/skills/,刪除時移入可恢復的.trash-*目錄 - 內置插件包:只讀列出
~/.dsh/profiles/node_modules/@deepseek-ai/下的包名、版本和說明
改動由宿主監聽 patch 文件後熱生效。官方倉庫的口號是「Everything is a Plugin」;這個插件自己也是標準 DSH 插件,裝回去管理 DSH 的配置。
核心功能¶
倉庫 README 把能力寫成一張表,和 index.js 裏的實現一致。
MCP 開關與刪除¶
每個 MCP 一張卡片,展示名稱、傳輸方式(stdio / http 徽章)、運行狀態和配置 id。頁面頂部還有 patch 文件路徑和條目總數。
- 開關:禁用時在對應條目下寫入
disabled: true,啓用時刪掉這一行。 - 刪除:從
cordis.patch.yml去掉整段 MCP 配置,條目上方的註釋行會保留。界面有二次確認。
兩種寫操作都會先把文件備份成 cordis.patch.yml.bak-<時間戳>,再改原文。README 寫明:刪除的是配置條目,不會卸載 npm 包;包還在,把條目加回去或從備份恢復即可。
Skills 瀏覽與回收站¶
Skills 頁列出全部 skill 名稱、SKILL.md 裏的 description,以及目錄路徑。刪除不是 rm -rf,而是把目錄重命名爲 ~/.dsh/skills/.trash-<時間戳>-<名稱>。源碼裏對名稱做了 ^[\w.\-]+$ 校驗,並以 .trash- 前綴的目錄不出現在列表中。要恢復,把對應 .trash-* 目錄改回原名;要徹底刪掉,需要自己處理回收站目錄。
內置插件包只讀瀏覽¶
第三頁表格展示 DSH 本體插件包的名稱、版本、說明。README 用「160+」描述規模,實際條數取決於本機 ~/.dsh/profiles/node_modules/@deepseek-ai/ 裏有什麼。這一頁不能升級、不能卸載。倉庫 FAQ 寫明:升級本體請使用 npm update -g @deepseek-ai/dsh。
內嵌後端,不另開端口¶
package.json 聲明瞭 dsh.bundle.patch 和客戶端注入(@deepseek-ai/dsh-client-runtime、dsh-client-locale、dsh-client-ui-settings)。Node 半 inject: ["webServer"],在宿主上註冊 /plugin-manager 前綴:
GET /plugin-manager/api/state:返回當前 MCP、Skills、內置包,以及 patch 文件、skills 目錄路徑POST /plugin-manager/api/action:kind爲mcp-toggle、mcp-delete或skill-delete
瀏覽器同源 fetch,不額外佔端口,也沒有單獨暴露的 CORS 服務。早期倉庫裏還有 legacy/server.py 獨立網頁版,那是插件機制不可用時的備用路徑,和設置面板內嵌版不是同一條安裝線。
安裝與啓用¶
目錄頁給出的安裝命令如下,在 DeepSeek Harness 終端運行即可:
dsh plugin add github:liqichen/dsh-plugin-manager
dsh CLI 會從 GitHub 解析插件並裝進當前配置。需要可復現安裝時,按目錄頁說明固定 commit 哈希:
dsh plugin add github:liqichen/dsh-plugin-manager#commit
把 commit 換成倉庫裏實際的提交哈希。目錄頁同時提醒:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼;裝之前檢查源碼倉庫和許可證。
README 還提供了一條「從本倉庫安裝」的本地路徑,前提是已經裝好 dsh web,並瞭解 ~/.dsh 目錄:把 index.js、client.js、package.json 拷到 ~/.dsh/plugins/dsh-plugin-manager/,再執行 dsh plugin --profile web add ~/.dsh/plugins/dsh-plugin-manager,並在 web profile 的 package.json 與 cordis.patch.yml 裏聲明依賴和插件 id。本地安裝完成後需要重啓一次 dsh web,之後打開「設置 → 插件管理」。若頁面提示「插件後端未響應」,README 要求回頭檢查依賴聲明、patch 裏的插件條目,以及 ~/.dsh/profiles/node_modules/dsh-plugin-manager 是否指向插件目錄。
典型用法¶
打開 DSH 設置 → 插件管理,按三個標籤頁操作。
臨時關掉一個 MCP。 在「MCP 服務」裏找到對應卡片,撥開關即可。配置寫入後,頁面會提示改動已熱生效。已打開的會話仍持有舊工具列表,需要新開一個會話纔會看到刷新後的 MCP。
刪掉配置裏的 MCP 條目。 點刪除並確認。條目從 cordis.patch.yml 消失,但 npm 包還在。誤刪時用最近的 cordis.patch.yml.bak-* 覆蓋回去,或把 YAML 片段手工貼回。
清掉用不上的 Skill。 在 Skills 頁刪除後,到 ~/.dsh/skills/ 下找 .trash-<時間戳>-<名稱>,需要時再改回原名。
覈對本機裝了哪些 DSH 本體包。 打開「內置插件包」頁查看名稱和版本;這裏只能看,不能點升級。
README 給出的動作請求形狀如下,便於對照界面在做什麼(一般不用自己 curl):
{ "kind": "mcp-toggle", "id": "mcp-scrapling", "disable": true }
{ "kind": "mcp-delete", "id": "mcp-scrapling" }
{ "kind": "skill-delete", "name": "obsidian-cli" }
成功時響應類似 { "ok": true, "message": "已禁用 mcp-scrapling(熱生效)" }。
適用場景與注意事項¶
比較適合已經在用 dsh web、MCP 和 Skill 數量開始變多、又不想每次都手改 YAML 的人。它默認只管理 web profile:MCP 路徑寫死爲 ~/.dsh/profiles/web/cordis.patch.yml,Skills 路徑爲 ~/.dsh/skills/。其他 profile 要自己改路徑,README 寫明瞭這條邊界。
使用前注意這幾件事:
- 改的是真實配置。 開關和刪除直接寫磁盤。寫前有
.bak-*備份,出問題先找最近一份備份。 - 熱生效有邊界。 patch 文件的改動由宿主 HMR 應用,但當前會話的工具列表不會自動刷新,需要開新會話。
- 刪除 MCP ≠ 卸載包;刪除 Skill ≠ 徹底消失。 前者只去配置,後者進回收站。
- 不能從這裏升級 DSH。 內置插件包頁只讀。
- 權限與來源。 插件跑在當前 dsh 進程裏,能讀你的 home 下
.dsh目錄並改配置。安裝前看 源碼 和 MIT 許可證,不要把目錄頁當成官方背書。 - 同名項目。 檢索
dsh-plugin-manager時會碰到其他維護者的倉庫,有的管 Cordis 插件啓停,有的做市場或擴展中心。裝之前核對 owner 是否爲liqichen,安裝命令是否爲目錄頁原文。
小結¶
MCP 和 Skill 一多,瓶頸往往不在「會不會裝」,而在「能不能看清、敢不敢改」。dsh-plugin-manager 把這三件事收進設置面板:MCP 可開關可刪且熱生效,Skill 進回收站可恢復,內置包只讀可查,寫配置前自動備份。它是社區 MIT 插件,不是 DeepSeek 官方組件;裝之前核對倉庫,固定 commit 更穩妥。
- 目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-plugin-manager/
- GitHub:https://github.com/liqichen/dsh-plugin-manager
- DeepSeek Harness:https://github.com/deepseek-ai/deepseek-harness