DeepSeek Harness 插件管理器

DeepSeek Harness(DSH)Web profile 安裝多個插件包後,用戶常遇到三個問題:不知道插件來源、不清楚 Loader 或 Cordis 的管理歸屬、臨時切換配置容易出錯。zaogaogwc/dsh-plugin-manager 面向 DSH Web GUI 提供了一套 Mod 風格的管理界面,將分散的來源包、Loader 實例和 Agent 預設整理爲可理解、可預覽、可撤銷的結構。

插件簡介

zaogaogwc/dsh-plugin-manager 是一個工作流類插件,由 Zaogaogwc 維護。它遵循 MIT 許可證。插件入口位於 設置 → 插件 → 插件管理。

核心價值在於管理“是否啓用”,而非僞裝成“卸載”。插件文件與 npm 依賴不會因禁用而刪除。它通過原子寫入 ~/.dsh/cordis.patch.yml 的專屬 managed 段來實現狀態變更,並利用 DSH 官方的 plugin-include watcher 執行熱重載。

核心功能

三級瀏覽與來源歸屬

管理器還原真實的安裝來源,提供三級視圖:
1. 方案或來源包:展示官方/用戶 Agent 預設與已安裝來源包。
2. 功能分類:按文件、終端、規劃、Web、設置等用途分組。
3. 插件實例:展示實際 Loader 條目、配置狀態、Cordis FiberState 和診斷信息。

安全啓停與變更預覽

  • 安全策略:單個插件、分類和整包均可啓停。所有批量操作必須先進入變更預覽,由用戶確認後執行。
  • 原子寫入:修改僅作用於 ~/.dsh/cordis.patch.yml 的 managed 段。
  • 歷史與撤銷:保留最近 20 次變更歷史,可撤銷上一次管理器操作。
  • 恢復默認:只清除本管理器託管的禁用項,不影響其他工具配置。

狀態與診斷

界面區分配置、Loader、Cordis 和管理器推導狀態:
- availability:live、configured、disposed 或 declared。
- configState:Loader 配置層的 enabled 或 disabled。
- fiberState:Cordis 的 pending、loading、active 等。
- status:運行中、已禁用、未運行和需要重啓。
- issue:依賴缺失、加載失敗等獨立診斷信息。

Mod 啓停方案

可將當前 Web profile 的第三方插件啓停狀態保存爲具名方案(如“寫作”、“開發”)。方案只記錄狀態,不復制文件,應用前仍顯示變更預覽。

Agent 預設生成

基於任意現有預設(官方或用戶預設)創建新 Agent 預設。差量合併會保留來源預設的專有工具、配置和註釋。

AI 輔助篩選

輸入自然語言需求,AI 可生成分類或啓停建議。結果只作爲候選方案,用戶必須進入變更預覽並再次確認。AI 服務不可用時,基礎功能仍可使用。

npm 來源包更新

對於可識別的 npm registry 第三方來源包,支持一鍵更新:
1. 查詢最新版本。
2. 顯示版本差異。
3. 備份 profile 依賴清單、鎖文件和 managed 狀態。
4. 調用 DSH 官方更新命令。
5. 失敗時自動回滾。
6. 更新成功後標記“需要重啓”。

安裝與啓用

發佈到 npm 後,執行以下命令安裝:

dsh plugin --profile web add @zaogaogwc/dsh-plugin-manager
dsh web

安裝完成後,打開 Web UI(默認 http://127.0.0.1:3080),進入 設置 → 插件 → 插件管理。

典型用法

禁用插件

  1. 展開來源包,查看包簡介和實際插件數量。
  2. 點擊“禁用”,頁面會自動滾動到確認區。
  3. 檢查直接變更和依賴影響。
  4. 確認應用,等待 Loader 返回穩定狀態。

保存和應用 Mod 方案

  1. 調整當前第三方插件啓停狀態。
  2. 在“Mod 啓停方案”輸入名稱並保存。
  3. 需要切換時選擇該方案並檢查預覽。
  4. 確認後由 watcher/Loader 應用。

創建新 Agent 預設

  1. 展開一個官方或用戶 Agent 預設。
  2. 點擊“以此爲新預設基礎”。
  3. 調整所需能力,填寫新標識符和顯示名。
  4. 生成並驗證預設。

注意事項

  1. 權限與安全:所有會寫文件、調用 AI 或執行更新的 API 都要求 loopback 請求。從 LAN 地址訪問 Web UI 時,這些敏感 API 會返回 403。更新可能執行目標 npm 包允許的安裝腳本。
  2. 禁用與卸載:禁用不會卸載、刪除或改寫第三方包文件。卸載必須顯式執行 DSH 插件移除命令。
  3. 宿主組件:官方宿主組件和管理器自身不可在本界面禁用。
  4. 重啓要求:插件啓停通常由 watcher 熱重載,但 npm 包更新涉及 Host 與 Client 代碼一致性,完成後明確要求重啓 DSH。
  5. 診斷限制:管理器展示當前 profile 的可觀測狀態,不能替代 DSH/Cordis 底層日誌診斷。

結語

該插件通過結構化的視圖和安全的變更機制,解決了 DSH Web profile 插件管理的混亂問題。適合需要精細控制插件組合、頻繁切換工作場景的開發者使用。

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

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

小夜