前言¶
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 管理员提供了一个可视化的插件管理界面,涵盖版本检测、启停控制及安全的删除回滚机制,降低了插件管理的维护成本。