前言¶
在 DeepSeek Harness(DSH)裏做智能體或工作流時,往往會裝不少插件:有的來自官方 bundle,有的從社區目錄安裝,有的在本地用路徑導入。默認要在設置或插件頁裏逐項找開關,改完還要自己判斷要不要重啓 Host。dsh-plugin-switchboard 把這件事收到左側欄底部:一行一個插件,點一下啓停;需要重啓的改動會標出來,同一塊面板裏還能刷新列表、重載界面或結束 Host 進程。下面按安裝、界面用法和實現要點說明。
這是什麼¶
dsh-plugin-switchboard 是 DSH 的側邊欄「插件開關板」:面向已安裝插件的行級啓停,並提示 restart-required、overridden 等宿主返回狀態。維護者爲 AnJiaqi0926;在 SkillHub 插件目錄 中歸類爲工作流。源碼與說明見 GitHub 倉庫(MIT,當前包版本 0.1.1)。它不負責安裝或卸載 bundle,只管理「哪一行插件當前是否啓用」。
核心功能¶
面板入口在左側欄底部、設置旁的開關圖標。打開後主要能力如下(均來自項目 README):
- 分類:默認按來源分成「官方自帶 / 市場安裝 / 本地導入」三組;組頭顯示「已啓用/總數」,點組頭可摺疊。判定規則:
availability: 'installation'記爲官方自帶;source爲file:/link:記爲本地導入;其餘爲市場安裝。 - 搜索與篩選:全部、官方、市場、本地、待重啓;也可按插件名搜索。
- 發現:列出若干未安裝的推薦插件,點「安裝」走插件管理器安裝。
- 一行一個插件:狀態點、中文名、模塊名、開關;整行可點。
- 待重啓:宿主返回
application: 'restart-required'時,該行標「待重啓」,頂部黃色橫幅並統計條數。 - 被覆蓋:返回
overridden時提示「已保存,但被更高優先級層覆蓋」,開關此時不會真正生效。 - 底部動作:刷新列表;重載界面(
location.reload,僅對界面層改動有效);重啓 Host。
安裝與啓用¶
先確認 DSH 版本滿足 >= 0.2.1(package.json 中 engines.dsh 爲 >=0.2.1-rc.1,依賴 sidebar.footer.action 與 shell.overlay 插槽)。
命令行安裝(將 <profile> 換成你的 profile 名):
dsh plugin --profile <profile> add dsh-plugin-switchboard
也可以在 DSH 桌面端 插件 → 添加插件 中填入包名或 GitHub 地址;本地目錄安裝示例:
dsh plugin --profile <profile> add /absolute/path/to/dsh-plugin-switchboard
安裝後:Web 端刷新頁面;桌面端重啓應用。
典型用法¶
- 打開 DSH,在左側欄底部點開關圖標,展開面板。
- 按組或篩選找到目標插件,點整行或開關切換啓用狀態。
- 若出現「待重啓」,改完後在面板底部點 重啓 Host;注意桌面端會結束應用進程,需手動重新打開 DeepSeek Harness(會話與插件配置在磁盤上,不會因此丟失)。
- 若只是界面層插件、宿主支持熱生效,可先嚐試 重載界面;仍不生效再重啓 Host。
- bundle 的安裝與卸載仍在 DSH 自帶插件頁完成,本插件不替代該流程。
工作原理(簡述)¶
插件分宿主與瀏覽器兩部分:
index.js:經ctx.webServer註冊同源路由,內部調用官方pluginManager,不依賴生成的 Remote 類型。
| 路由 | 作用 |
|---|---|
GET /dsh-switchboard/list |
讀取 pluginManager.listPlugins() |
POST /dsh-switchboard/toggle |
調用 setPluginEnabled(id, enabled),返回精簡 ChangeResult |
POST /dsh-switchboard/restart |
應答後約 1.2 秒結束 Host 進程 |
client.js:React 組件,掛到sidebar.footer.action(按鈕)與shell.overlay(浮層);樣式使用--dsw-alias-*主題變量。無第三方運行時依賴。
適用場景與注意¶
適合:經常開關多個 DSH 插件、需要區分官方/市場/本地來源、希望一眼看到「待重啓」條目的開發者。
限制與權限(安裝前建議通讀倉庫源碼與許可證):
- 插件在當前 dsh 進程權限下運行;切換與重啓 Host 會影響本機上的 DSH 會話與已加載模塊。
- 「重啓 Host」在桌面端不會自動重開應用,只會結束進程。
- 是否立即生效由宿主決定:多數界面層可熱生效;改 system prompt 或佔用宿主模塊的插件通常要重啓。
- 僅操作行級
entryId,不提供 bundle 級安裝/卸載。
DSH 生態提倡「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-plugin-switchboard 把「像管理 Mod 一樣」的訴求落在側邊欄:列表、篩選、啓停、重啓提示和操作集中在一處,減少在多個頁面之間來回找開關的成本。進一步瞭解可查看 SkillHub 目錄頁 與 GitHub README。