前言¶
对需要频繁调整插件组合的 DSH 用户来说,手工改配置和重启服务并不方便。plugin-switch 把“启用 / 停用插件”做成页面上的滑块操作。
它给 DeepSeek Harness (DSH) 的插件清单页加上滑块开关:点一下即可启用/停用任何插件,立即生效、不用重启服务端,重启后状态保持。
这是什么¶
plugin-switch 由 cynch18 维护,包名为 dsh-profile-plugin-switch,包版本为 0.5.1,许可证为 MIT。
它是 DSH 的一个本地 web profile 插件,主要入口是设置里的“插件清单”页。
核心功能¶
- 实时启停:通过主动重放通道生效,绕开平台
watcher死锁,确定性生效。 - 列表管理:支持按系统 / 第三方 / 本地分组,并提供状态筛选、排序、搜索。
- 批量操作:支持批量启用/停用;批量动作按单事务处理,一次备份,撤销一步全回。
- 撤销与备份:提供“↺ 撤销”按钮;每次开关前自动备份,保留最近 20 份。
- 风险提示:关键条目强确认、被依赖提示、停用确认警告、停用来源分层、
config预览、失败诊断。 - 其他能力:多标签页实时同步、CLI 恢复工具、双语界面与动画。
安装与启用¶
前提¶
需要以 web profile 运行 DSH,并且 Node ≥ 22。以 web profile 运行可用:
npx @deepseek-ai/dsh web
推荐安装方式¶
使用 dsh plugin 命令安装:
dsh plugin --profile web add github:cynch18/plugin-switch
安装后重启 dsh web,按 Ctrl+Shift+R 强制刷新浏览器,然后打开:
设置 → 插件 → 插件清单
插件右侧会出现滑块开关。
其他安装方式¶
如果使用 PowerShell 环境,也可以使用下面的方式。三种安装方式任选其一,不要重复安装;同一 profile 装两次会产生重复条目,重启会报错。
直接下载 plugin-switch.zip 后运行:
powershell -ExecutionPolicy Bypass -File .\install.ps1
或通过 git clone 后运行:
git clone https://github.com/cynch18/plugin-switch.git
cd plugin-switch
powershell -ExecutionPolicy Bypass -File .\scripts\install.ps1
方式二和方式三的 PowerShell 脚本支持以下参数:
-KeepOriginal:保留原只读清单,仅启用 HTTP API。-Dev:建立junction指向源码,改代码直接生效。
典型用法¶
临时启用或停用插件¶
进入:
设置 → 插件 → 插件清单
找到目标插件,点击右侧滑块即可启用或停用。状态立即生效,不需要重启 dsh web。
批量调整¶
可以批量启用或停用多个插件。批量动作使用单事务:一次备份,撤销时一步全回。
误操作后撤销¶
如果点错,可以使用页面上的“↺ 撤销”按钮,恢复到上一次开关前的配置。每次开关前都会自动备份,保留最近 20 份。
开关页消失后的恢复¶
如果关闭“插件开关”自身,开关页会消失。可以打开:
%USERPROFILE%\.dsh\profiles\web\cordis.patch.yml
找到 plugin-switch 条目,把 disabled: true 改回 false,保存后恢复开关页。
用 CLI 恢复¶
如果 GUI 无法打开,可以运行 CLI 恢复工具:
node scripts/dsh-plugin-fix.mjs list
node scripts/dsh-plugin-fix.mjs enable <id>
node scripts/dsh-plugin-fix.mjs disable <id>
node scripts/dsh-plugin-fix.mjs undo
node scripts/dsh-plugin-fix.mjs backups
恢复原只读清单¶
如果希望回到 DSH 原来的只读插件清单,把 %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml 中 ui-settings-plugin-inventory、plugin-inventory 的 disabled: true 改回 false,同时删除 plugin-switch 条目。
彻底卸载¶
删除插件目录:
%USERPROFILE%\.dsh\profiles\web\node_modules\dsh-profile-plugin-switch
并移除:
%USERPROFILE%\.dsh\profiles\web\cordis.patch.yml
中的相关条目。
适用场景与注意¶
适合在本机使用 DSH web profile、需要频繁调整插件组合、希望减少重启和手工改配置的人。
使用前注意:
plugin-switch会作为本地webprofile 插件运行。/plugin-switch是无鉴权的本地 HTTP 路由,与 DSH 自带/plugins/...同级信任,仅限个人本机使用。- 插件会以当前
dsh进程权限运行,安装前建议检查源码与MIT许可证。 - 三种安装方式不要重复执行。
- 如果改包内
index.js,需要重启dsh;如果只改client.js,刷新页面即可。 - 批量操作和关键条目会有确认或风险提示,启用/停用前可先看
config预览。
获取¶
GitHub 仓库:https://github.com/cynch18/plugin-switch
目录页:请以你使用的 DSH 社区目录检索结果为准。DSH 社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。