dsh-plugin-manager:DeepSeek Harness 插件管理工具

前言

在 DeepSeek Harness(DSH)的開發生態中,一切皆插件。隨着插件數量的增加,單純依賴配置文件管理依賴、bundles 以及啓停狀態容易出錯且效率低下。dsh-plugin-manager 提供了一個可視化的管理入口,解決插件查看、啓用、停用及卸載的痛點。

插件簡介

這是一個客戶端插件,由 HTUP1 維護。它允許用戶在 DSH 的設置面板中查看已安裝插件,支持停用、啓用與卸載操作。界面隨 DSH 界面語言自動切換中英文。

核心功能

插件一覽

在設置面板左側的「插件管理」頁,可以看到已安裝插件的名稱、版本、安裝方式(pnpm 市場或手動安裝)以及當前的啓用狀態。

啓停與持久化

支持通過按鈕快速停用或啓用插件。操作會立即生效,並持久化寫入 profile 的 bundles 註冊列表,重啓後狀態保持不變。

卸載機制

  • pnpm 插件:通過 dsh plugin remove 徹底刪除包文件並移除註冊。
  • 手動安裝插件:移除註冊並停用,node_modules 中的文件保留。
  • 降級處理:若 CLI 刪除失敗,自動降級爲“軟卸載”(移除註冊 + 停用),並顯示錯誤信息。

狀態提示與自保護

界面會區分“已停用但重啓後恢復”和“已註冊但重啓生效”等中間狀態,避免誤導。此外,插件市場(dshmarket)和插件管理自身受到保護,不能被卸載。

安裝與啓用

本插件以 DSH 插件包形式安裝到 profiles 中:

  1. 將插件包放入 profiles\node_modules\dsh-plugin-manager。
  2. 在 profiles\web\package.json 的 dependencies 與 dsh.profile.bundles 中登記 dsh-plugin-manager。
  3. 重啓 dsh web(或通過市場安裝)。

使用示例

  1. 在 DSH 設置面板左側找到「插件管理」頁。
  2. 查看列表中的插件信息。
  3. 點擊「停用」或「啓用」按鈕控制插件運行。
  4. 點擊「卸載」按鈕(需二次確認)移除插件。

技術實現與注意

運行環境

插件以 trusted-host 權限運行,需要宿主提供 loader、connection、slots、locale 服務以及 dsh-client-* 客戶端依賴。

安全設計

  • 輸入校驗:插件名參數經過 TARGET_RE 白名單校驗(^[A-Za-z0-9@:./_+-]+$)。
  • 操作校驗:卸載/停用前會校驗插件是否在 dependencies 中。
  • 錯誤處理:所有 RPC 返回統一 { ok, value | error } 結構,異常信息不外泄堆棧。

目錄與源碼

更多詳情請查看插件目錄頁或 GitHub 倉庫。

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

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

小夜