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 进程的情况下调整插件生态,大幅提升开发调试效率。插件详情与源码可参考下方链接。