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),進入 設置 → 插件 → 插件管理。
典型用法¶
禁用插件¶
- 展開來源包,查看包簡介和實際插件數量。
- 點擊“禁用”,頁面會自動滾動到確認區。
- 檢查直接變更和依賴影響。
- 確認應用,等待 Loader 返回穩定狀態。
保存和應用 Mod 方案¶
- 調整當前第三方插件啓停狀態。
- 在“Mod 啓停方案”輸入名稱並保存。
- 需要切換時選擇該方案並檢查預覽。
- 確認後由 watcher/Loader 應用。
創建新 Agent 預設¶
- 展開一個官方或用戶 Agent 預設。
- 點擊“以此爲新預設基礎”。
- 調整所需能力,填寫新標識符和顯示名。
- 生成並驗證預設。
注意事項¶
- 權限與安全:所有會寫文件、調用 AI 或執行更新的 API 都要求 loopback 請求。從 LAN 地址訪問 Web UI 時,這些敏感 API 會返回
403。更新可能執行目標 npm 包允許的安裝腳本。 - 禁用與卸載:禁用不會卸載、刪除或改寫第三方包文件。卸載必須顯式執行 DSH 插件移除命令。
- 宿主組件:官方宿主組件和管理器自身不可在本界面禁用。
- 重啓要求:插件啓停通常由 watcher 熱重載,但 npm 包更新涉及 Host 與 Client 代碼一致性,完成後明確要求重啓 DSH。
- 診斷限制:管理器展示當前 profile 的可觀測狀態,不能替代 DSH/Cordis 底層日誌診斷。
結語¶
該插件通過結構化的視圖和安全的變更機制,解決了 DSH Web profile 插件管理的混亂問題。適合需要精細控制插件組合、頻繁切換工作場景的開發者使用。