DeepSeek Harness 的設計理念是「一切皆插件」。在開發和調試過程中,當需要頻繁切換某個插件的啓用/停用狀態時,傳統做法通常是修改配置文件並重啓 DSH。dsh-plugin-hot-toggle 解決了這個問題,它通過 Web 設置頁提供了一個啓停管理界面,可以在不重啓 DSH 進程的情況下,即時啓用或停用已安裝的插件。
這是一個爲 DeepSeek Harness Web 設置頁提供的輔助插件。由開發者 5102a 維護,採用 MIT 協議開源。它的核心功能是在 Web 界面中直接操作 Cordis Loader 的條目狀態,實現熱插拔效果。
核心功能¶
- 即時啓停:直接調用 Cordis Loader 的
Entry.update({ disabled })接口,在進程內銷燬或重新加載插件 Fiber,無需重啓 DSH。 - 狀態持久化:開關狀態會寫入配置層(
cordis.patch.yml),由 HMR 監聽器熱應用,重啓後依然生效。 - 安全防護:系統核心條目(如
loader、hmr、timer等)被標記爲「系統核心」,無法被停用。 - 多維篩選與排序:支持按狀態(全部/啓用/停用)、來源(官方/核心/社區)、類型(LLM/工具等)篩選,支持按最近使用或名稱排序。
- 國際化:界面語言跟隨 DSH 的語言偏好(中文/英文)。
安裝與啓用¶
- 在終端執行安裝命令:
dsh plugin --profile web add dsh-plugin-hot-toggle
- 啓動 DeepSeek Harness(或等待 HMR 自動應用),進入 設置 → 插件 → 啓停管理。
典型用法¶
- 通過 Web 界面操作:打開設置頁面的「啓停管理」選項卡,使用篩選器定位插件,點擊開關即可生效。
- 通過 HTTP API 操作:
- 獲取插件列表:
GET /plugin-hot-toggle/api/list
* 修改插件狀態:
POST /plugin-hot-toggle/api/setEnabled
Content-Type: application/json
{
"entryId": "plugin-name",
"enabled": false
}
注意事項¶
- 核心條目鎖定:
loader、hmr、timer以及動態插件宿主等系統核心條目被鎖定,無法被停用。 - 持久化路徑:插件狀態持久化存儲在
$DSH_HOME/profiles/<profile>/cordis.patch.yml。 - 跨平臺支持:插件在 Windows、macOS 和 Linux 上均可運行。
- 依賴要求:需要
@deepseek-ai/cordis和react作爲對等依賴(peer dependencies)。 - 安全校驗:HTTP API 使用同源策略進行安全校驗,跨域請求將被拒絕。
通過這個插件,可以在不中斷 DSH 進程的情況下調整插件生態,大幅提升開發調試效率。插件詳情與源碼可參考下方鏈接。