dsh-plugin-switchboard:側邊欄一行啓停 DSH 插件

前言

在 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):

  1. 分類:默認按來源分成「官方自帶 / 市場安裝 / 本地導入」三組;組頭顯示「已啓用/總數」,點組頭可摺疊。判定規則:availability: 'installation' 記爲官方自帶;source 爲 file: / link: 記爲本地導入;其餘爲市場安裝。
  2. 搜索與篩選:全部、官方、市場、本地、待重啓;也可按插件名搜索。
  3. 發現:列出若干未安裝的推薦插件,點「安裝」走插件管理器安裝。
  4. 一行一個插件:狀態點、中文名、模塊名、開關;整行可點。
  5. 待重啓:宿主返回 application: 'restart-required' 時,該行標「待重啓」,頂部黃色橫幅並統計條數。
  6. 被覆蓋:返回 overridden 時提示「已保存,但被更高優先級層覆蓋」,開關此時不會真正生效。
  7. 底部動作:刷新列表;重載界面(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 端刷新頁面;桌面端重啓應用。

典型用法

  1. 打開 DSH,在左側欄底部點開關圖標,展開面板。
  2. 按組或篩選找到目標插件,點整行或開關切換啓用狀態。
  3. 若出現「待重啓」,改完後在面板底部點 重啓 Host;注意桌面端會結束應用進程,需手動重新打開 DeepSeek Harness(會話與插件配置在磁盤上,不會因此丟失)。
  4. 若只是界面層插件、宿主支持熱生效,可先嚐試 重載界面;仍不生效再重啓 Host。
  5. 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。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜