前言¶
DeepSeek Harness(DSH)允许通过插件扩展 Web UI。插件把本地工作区的能力拆开,但也带来一个现实问题:某个插件加载失败时,Web UI 可能直接起不来,插件管理页也无法打开。
dsh-boot-guard 是为这个场景准备的 loader-independent rescue console。它不依赖正常客户端插件加载链;当页面只剩 Failed to load plugins 时,由 host 提供救援入口,用来找疑似故障插件、临时跳过、刷新重试。
DSH 的插件目录是社区站点,不是官方应用商店。下面介绍 SaiSenBox/dsh-boot-guard 的功能、安装、用法和安全边界。
这是什么¶
dsh-boot-guard 是一个 DSH Web UI 救援插件。它不删除插件,也不碰插件的数据;所谓“跳过”,只是向当前 DSH profile 的 cordis.patch.yml 写入一个带 Boot Guard 标记的 disabled: true 数组项。恢复时,它也只会处理自己写入的标记。
版本与许可信息如下:
- 包名:
dsh-boot-guard - 仓库:
https://github.com/SaiSenBox/dsh-boot-guard - 维护者:
SaiSenBox - 版本:
1.1.2 - 许可证:
MIT © 2026 SaiSenBox peerDependencies:@deepseek-ai/cordis ^4.0.1- Node.js:
^22.19.0 || >=24.0.0 - 验证环境:DSH
0.1.0-rc.6、Node.js24.5.0、Windows
核心功能¶
- 从加载错误里找出疑似故障插件,并自动选中
- 默认只看用户插件,也可以搜索名称或 loader 条目 ID
- 临时跳过一个或一批插件,刷新后立即重新尝试启动
- 单独恢复某个插件,或在二次确认后恢复全部救援跳过项
- 明确区分“Boot Guard 临时跳过”和“配置原本就禁用”
- 复制一份简短诊断,方便贴到 Issue 里一起排查
- 界面提供中文和英文,并跟随 DSH 设置里的语言选项
- 提供暗色、亮色和窄屏适配的只读自检页
安装与启用¶
先安装并运行 DeepSeek Harness。从 GitHub 安装:
dsh plugin --profile web add github:SaiSenBox/dsh-boot-guard
这条命令把插件添加到 web profile。安装完成后重启 dsh web:
dsh web
README 还给出 npm 安装命令。由于它的前提是“这个包已经发布到 npm”,本文不确认当前发布状态;如果确认可用,可以用:
dsh plugin --profile web add dsh-boot-guard
在 Windows 上做本地开发安装时,可以:
git clone https://github.com/SaiSenBox/dsh-boot-guard.git
cd dsh-boot-guard
powershell -ExecutionPolicy Bypass -File .\install.ps1
本地安装器会把依赖放在 DSH profile 同盘目录,避开 Windows 上跨盘 file: 依赖可能产生的坏 junction。
典型用法¶
先做一次只读自检。启动 DSH Web 后,打开以下地址:
http://127.0.0.1:3080/boot-guard/preview
http://127.0.0.1:3080/boot-guard/preview?theme=light
http://127.0.0.1:3080/boot-guard/health
自检页只展示界面和诊断结果,不会真的改配置。搜索、筛选和勾选都能试,但最终操作不会写入配置。
当插件真正导致启动失败时,按下面步骤处理:
1、页面出现 Failed to load plugins,恢复中心会自动挂在错误信息下方。
2、先看“疑似故障”是否找对了;没找对就搜索名称或 loader 条目 ID,并勾选其他插件。
3、点击“跳过所选并刷新”。页面会重新加载,不需要重启整个 DSH 进程。
4、修好插件后,在“救援已跳过”里逐个恢复,或者使用“恢复已跳过”。
恢复全部需要点两次,主要是防手滑。单次最多处理 64 个条目;如果一次需要处理更多插件,可以分批跳过和恢复。
安全边界¶
这个插件会修改本地配置,所以边界写得比较死:
- 写接口只接受同源
POST+ JSON 请求,并且默认只允许本机回环连接 - 校验请求体大小、条目数量和 ID 格式
- Boot Guard 不能把自己设为跳过
- 找不到明确声明了
dsh.profile的 profile 时自动进入只读模式,不会猜测当前目录 - 写入前确认配置是顶层 YAML 数组;空文件与
[]会安全归一化,其他结构直接拒绝 - 配置修改串行执行,通过同目录临时文件原子替换,并在提交前检查外部改动后重新计算
- 恢复只认 Boot Guard 自己的标记,不会顺手清理用户配置
- 不做遥测,也不会把错误信息发到外部服务
如果确实需要从非回环地址执行恢复操作,可以在启动 DSH 前显式设置:
DSH_BOOT_GUARD_ALLOW_REMOTE_MUTATION=1
这会放宽 Boot Guard 的本机限制;没有额外认证保护时不建议开启。
适用场景与注意¶
- 适合本地 DSH 插件开发、调试和排障,尤其是在插件管理页无法打开时提供一个紧急入口。
- 该插件会运行在当前 DSH 进程内,并能修改当前 DSH profile 的本地配置。安装前应先检查源码、许可证和仓库信息。
- DSH 目前仍是 developer preview,插件接口可能继续变化。当前版本在 DSH
0.1.0-rc.6、Node.js24.5.0和 Windows 上完成验证,并遵循 Node.js^22.19.0 || >=24.0.0。 - 如果新版本导致救援入口异常,可以带上 DSH 版本和“复制诊断”的内容提 Issue。
链接¶
- GitHub 仓库:
https://github.com/SaiSenBox/dsh-boot-guard - 目录页地址:
https://www.skillhub.cn/plugins/SaiSenBox/dsh-boot-guard