dsh-capability-center:在 DSH 裏用一頁管理技能、插件、組合包與 MCP 連接器

前言

在 DeepSeek Harness(DSH)裏,技能、插件、組合包和 MCP 連接器往往分散在側欄「插件」、配置補丁和目錄結構裏。要開關某條能力、看清說明、再把它送進當前對話,通常要在多處點選或手敲 / 路徑。社區插件 dsh-capability-center(維護者 niueigang,分類:客戶端)做的是豆包式能力管理頁:同一界面分組展示、可搜索、右側開關,技能詳情支持「插入到對話」。下文按資料說明它解決什麼、怎麼用、以及開關背後的行爲。

這是什麼

dsh-capability-center 是給 DSH Web 客戶端加的能力中心面板。裝好後側欄在「插件」與「自動化任務」之間多一項「能力中心」。它不改 app.asar、不寫註冊表、不建計劃任務;宿主側通過 cordis 補丁掛路由,瀏覽器側 lib/client.js 直接按宿主約定加載,無單獨前端構建步驟。

資料中版本爲 0.1.0,許可證 MIT,依賴 @deepseek-ai/cordis 約 4.0.5,Node ≥18。

核心功能

四個頁籤

頁籤 內容 開關實際做了什麼
技能 用戶技能、Agents 技能、內置技能;可閱讀 SKILL.md 全文 在 <root>/ 與 <root>/.disabled/ 之間搬目錄,立刻生效、不用重啓
插件 Loader 裏每一行,帶標題和描述 pluginManager.setPluginEnabled(),寫入 profile 的 cordis.patch.yml,宿主熱重組
組合包 官方/第三方、版本、是否已裝 setBundleEnabled(),改 profile 層疊;部分包需重啓
連接器 Loader 裏的 MCP 行:傳輸方式與地址 同插件行,關閉即斷開,下一次工具調用生效

技能掃描遵循 dsh-skill-filesystem 只掃根目錄下一層的約定,不支持嵌套 **/SKILL.md。因此禁用技能是挪進 .disabled,內容不變,文件監聽會立即重掃。內置技能、插件內置技能沒有可搬目錄時,開關爲灰並在面板說明原因。

若宿主返回 application: "overridden"(例如用戶級 ~/.dsh/cordis.patch.yml 覆蓋 profile),面板會提示「改動被更高層配置覆蓋」,不假裝成功。

插入到對話

技能詳情頁「插入到對話」會切回會話界面,聚焦輸入框,等待約 240ms 讓 Lexical 同步選區後,執行 insertText 寫入 /技能名;失敗則退到剪貼板並用全局提示條說明。插入內容與手敲 / 選技能一致,由宿主渲染爲 chip。

HTTP 接口

面板只註冊前綴在宿主 webServer 上的路由:

方法 路徑 作用
GET /capability/api/state 全量清單(技能/插件/組合包/連接器及計數)
POST /capability/api/toggle {kind, id, enabled} 開關一條
GET /capability/api/skill?id=… 某技能正文(含內置技能兜底)
GET /capability/api/ping 健康檢查

實現上 inject 不寫死未存在的服務,各依賴軟取,裝配段獨立 try/catch,避免 cordis pending 導致宿主卡死。

安裝與啓用

插件以當前 DSH 進程權限運行;安裝前建議閱讀倉庫源碼與 MIT 許可證。DSH 生態理念是「一切皆插件」;SkillHub 目錄頁 爲社區站點,與 DeepSeek / 幻方無官方從屬關係。

方式 A · 應用內(推薦)

  1. 打開 DSH → 側欄 插件
  2. 右上角 添加插件
  3. 粘貼倉庫地址並安裝、啓用、重啓客戶端:
https://github.com/niueigang/dsh-capability-center

方式 B · PowerShell 一行

irm https://raw.githubusercontent.com/niueigang/dsh-capability-center/main/install.ps1 | iex

指定 profile 或版本:

& ([scriptblock]::Create((irm https://raw.githubusercontent.com/niueigang/dsh-capability-center/main/install.ps1))) -Profile web -Ref v0.1.0

腳本將源碼放到 %USERPROFILE%\.dsh\plugins\dsh-capability-center,用 junction 鏈到 profile 的 node_modules,並更新該 profile 的 package.json(dependencies 與 dsh.profile.bundles);修改前會備份爲 package.json.bak-capcenter-<時間戳>。

新 bundle 裝入後需重啓客戶端,profile 的 loader 樹纔會掛上能力中心。

卸載

node "%USERPROFILE%\.dsh\plugins\dsh-capability-center\tools\uninstall.mjs" desktop

典型用法

  1. 安裝並重啓後,從側欄進入 能力中心。
  2. 用搜索或分組瀏覽 技能 / 插件 / 組合包 / 連接器,用右側開關啓用或禁用;觀察面板是否在覆蓋場景下給出真實狀態。
  3. 打開某技能詳情閱讀說明,點 插入到對話,在輸入框確認出現 /技能名 chip,回車發起調用。
  4. 需要排查時,可訪問 /capability/api/ping 與 /capability/api/state(由本機 DSH Web 服務提供,勿對不可信環境暴露)。

適用場景與注意

  • 適合:經常在 DSH 裏切換技能與插件、管理組合包和 MCP 連接器,並希望在一個頁面完成開關與說明閱讀的智能體開發者。
  • 注意:組合包開關後部分情況仍需重啓;連接器關閉後於下一次工具調用生效。Windows 本地源碼進 profile 可用 node tools/install.mjs desktop(見 README「方式 C」),與 PowerShell 安裝目標一致。

結尾

dsh-capability-center 把 DSH 分散的能力條目收成一頁:可視化、可開關、技能一鍵寫入對話輸入框。更多說明與截圖見倉庫 README。

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

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

小夜