前言¶
DeepSeek Harness (DSH) 採用「一切皆插件」的架構。官方設置頁提供了一個只讀的插件清單,無法直接在運行時切換插件狀態,也不區分不同來源的插件層級。當需要在開發調試中快速啓用或禁用某個插件時,這種機制會帶來不便。
dsh-plugin-hotplug 解決了這個問題。它是一個熱插拔管理器和替代插件清單 UI,用一份具備來源感知的清單替換了官方只讀清單,並提供了安全的運行時控制能力。
插件信息¶
- 名稱: dsh-plugin-hotplug
- 描述: DeepSeek Harness (DSH) 的熱插拔管理器和替代插件清單 UI
- 作者: zhangnan
- 許可: MIT
核心功能¶
該插件在清單展示和運行時控制上具備以下能力:
- 分層分組: 按當前配置文件、第三方 Profile Bundles、全局層和 DSH 內置插件進行分組展示。
- 即時控制: 對當前配置文件插件和第三方 Bundles 進行啓用/禁用操作,無需重啓 DSH 進程。
- 狀態持久化: 將開關狀態寫入當前配置文件的
cordis.patch.yml中。 - 生命週期管理: 基於 Cordis Loader 生命週期實現可逆的熱卸載與恢復。
- 狀態分離: 在 UI 中分別展示配置狀態和運行時 Fiber 階段的狀態。
- 安全保護: 對 Web 傳輸、UI Shell、全局插件以及管理器自身進行保護,防止誤刪。
安裝與使用¶
- 安裝插件:
dsh plugin --profile web add -w dsh-plugin-hotplug
- 安裝完成後,需重啓 Web Profile 以使管理器生效。
- 在設置頁中,插件會替換原本只讀的清單 Tab,提供可操作的開關。
適用場景與注意¶
- Profile Patch 插件: 可以通過當前配置文件的 Patch 插入的插件進行開關控制。
- 第三方 Bundle: 支持對第三方 Profile Bundles 進行開關控制。
- 層級限制: 由於配置文件層優先於全局層,全局層插件在清單中顯示爲只讀。DSH 內置插件同樣爲只讀。
- 核心保護: Web 傳輸、UI 入口、全局插件以及該插件本身始終處於受保護狀態,不會被意外移除。
- 狀態寫入: 插件將持久化狀態寫入一個小的託管區域,而不是重寫整個用戶補丁文件。
總結¶
該工具爲 DSH 用戶提供了更精細的插件管理手段,解決了官方界面功能受限的問題。通過熱插拔機制,可以更方便地進行插件調試和配置管理。
- 插件目錄: https://www.skillhub.cn/plugins/zhangnan/dsh-plugin-hotplug
- 源碼地址: https://github.com/zhangnan/dsh-plugin-hotplug