前言¶
DeepSeek Harness (DSH) 採用插件化架構,隨着插件數量增加,手動維護 cordis.patch.yml 配置及管理運行時狀態變得繁瑣。dsh-plugin-toggle 插件提供了可視化的管理入口,統一處理插件的啓用、停用與刪除流程,解決了插件生命週期管理的痛點。
插件定位¶
該插件是 host + client 一體包,由開發者 tuogusa 維護,歸類爲 admin-security 類別。它通過 UI 界面和後端接口,爲 DSH 提供了一套完整的插件開關與刪除管理方案。
核心功能¶
- 列表查看:在設置 → 插件 → 插件列表中,列出當前 profile 已加載的全部插件。
- 啓停控制:支持一鍵啓用或停用插件。操作會即時生效,並將狀態持久化到
cordis.patch.yml。 - 刪除與回收:可刪除已停用的用戶插件,從 profile 依賴與配置中移除。刪除時記錄快照,當前會話內可一鍵恢復(會話級撤回),也支持徹底刪除或查看最近刪除列表。
- 版本檢測:顯示已安裝版本,支持“全部檢查”按鈕,檢查完成後彈窗彙總可更新插件列表,每個插件旁均有“更新”按鈕。
- Bundle 管理:支持 bundle 整組開關或刪除,自動識別
dsh.bundle.patch聲明的整組插件。
安裝與啓用¶
插件兼容 DSH Web GUI 的 web profile。
dsh plugin --profile web add github:tuogusa/dsh-plugin-toggle
安裝後需按 dsh 引導添加 pnpm-workspace.yaml 的 allowBuilds 條目(git 依賴的 prepare 腳本需要放行),重啓 DSH 並使用 Ctrl+Shift+R 刷新瀏覽器。
典型用法與更新¶
更新插件推薦使用 CLI 命令:
dsh plugin --profile web update dsh-plugin-toggle
若需重新從 GitHub 源安裝或強制更新,可執行:
dsh plugin --profile web add github:tuogusa/dsh-plugin-toggle
適用場景與注意¶
- 兼容性:僅適用於
webprofile。安裝後需配合pnpm-workspace.yaml配置使用。 - 安全限制:端點僅接受 loopback 或受信 Host 的請求。核心組件(PROTECTED 名單)拒絕開關或刪除操作。
- 刪除邏輯:刪除快照保存在內存中,DSH 重啓後自動清空,僅當前會話可撤回。內置(
@deepseek-ai/*)插件只能停用,不可刪除。 - Bundle 行爲:bundle 插件刪除會立即從
package.json/dsh.profile.bundles移除。由於 bundle 層在 DSH 啓動時靜態組合,當前會話內相關 loader 行保持 disabled,刷新或重啓後徹底不再加載。
總結¶
該插件爲 DSH 管理員提供了一個可視化的插件管理界面,涵蓋版本檢測、啓停控制及安全的刪除回滾機制,降低了插件管理的維護成本。