跳到正文

SaiSenBox/dsh-boot-guard

40最近提交 2026年8月15日

dsh-boot-guard DSH 插件

Boot Guard 是 DSH 的一个插件,当 Web UI 由于插件加载失败而显示“Failed to load plugins”时,它能自动检测疑似故障插件,允许临时跳过并刷新页面,从而恢复工作区。它通过将一段救援脚本注入失败页面来工作,不依赖正常的客户端插件加载链。

如何安装 dsh-boot-guard DSH 插件

dsh plugin --profile web add github:SaiSenBox/dsh-boot-guard

复制不会执行命令。安装 dsh-boot-guard DSH 插件前请核对仓库和版本。

dsh-boot-guard DSH 插件数据来源

dsh-boot-guard DSH 插件快照日期:2026年8月16日

discovered

dsh-boot-guard DSH 插件能做什么

  • 从加载错误中自动识别疑似故障插件并预选中
  • 临时跳过一个或多个插件,刷新后立即重新尝试启动
  • 单独恢复某个插件,或二次确认后恢复全部救援跳过项
  • 明确区分 Boot Guard 临时跳过和配置原本就禁用
  • 复制简短诊断信息,方便粘贴到 Issue 中排查
  • 提供只读自检模式,支持暗色、亮色和窄屏适配

dsh-boot-guard DSH 插件适合哪些场景

  • 当某个插件崩溃导致整个 Web UI 无法访问时,使用 Boot Guard 恢复
  • 在开发插件时,通过选择性跳过插件来测试兼容性
  • 调试插件加载问题,无需重启整个 DSH 进程
  • 快速识别并隔离有问题的插件
  • 修复插件后,恢复之前被跳过的插件

dsh-boot-guard DSH 插件适合谁

  • 开发或管理 DSH 插件的用户
  • 需要在不使用命令行的情况下恢复插件故障的 DSH 管理员

dsh-boot-guard DSH 插件的限制

  • 当前仅在 DSH 0.1.0-rc.6、Node.js 24.5.0 和 Windows 上验证通过
  • 不能跳过自身,只能通过修改 cordis.patch.yml 跳过其他插件
  • 远程修改需要显式设置环境变量,且不推荐在没有额外认证时开启
  • DSH 仍处于开发者预览阶段,插件接口可能变化

dsh-boot-guard DSH 插件的仓库 README 摘录

以下文字摘自 dsh-boot-guard DSH 插件的上游仓库 SaiSenBox/dsh-boot-guard 的 README,版权归原作者,仅作引用。

简体中文 · [English](README.en.md) [![Check](https://github.com/SaiSenBox/dsh-boot-guard/actions/workflows/check.yml/badge.svg)](https://github.com/SaiSenBox/dsh-boot-guard/actions/workflows/check.yml) [![MIT License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) > 插件把插件管理页面一起弄崩了,接下来怎么办? `dsh-boot-guard` 是给 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) Web UI 准备的一道小保险。正常情况下它安安静静地待着;只有插件加载失败、页面只剩下 `Failed to load plugins` 时,它才会出现,帮你找出可疑插件、临时跳过,然后把工作区救回来。 ![Boot Guard 启动恢复中心](assets/boot-guard-preview.png) _上图是只读自检模式,只展示界面和诊断结果,不会真的改配置。_ ## 为什么写它 起因其实有点尴尬:我在给 DSH 调一个界面插件,刷新之后,整个 Web UI 直接起不来了。 问题插件本来应该去插件管理页里关掉,可插件管理页也属于 Web UI。结果就像把车钥匙锁在车里——明明知道是哪儿出了问题,却没有入口修它。 Boot Guard 就是为这个死循环写的。它不依赖正常的客户端插件加载链,而是由 host 直接把一段很小的救援脚本放进失败页面。其他插件没能加载时,它仍然有机会工作。 ## 它能做什么 - 从加载错误里找出疑似故障插件,并自动选中 - 默认只看用户插件,也可以搜索名称或 loader 条目 ID - 临时跳过一个或一批插件,刷新后立即重新尝试启动 - 单独恢复某个插件,或二次确认后恢复全部救援跳过项 - 明确区分“Boot Guard 临时跳过”和“配置原本就禁用” - 复制一份简短诊断,方便贴到 Issue 里一起排查 - 界面提供中文和英文,并跟随 DSH 设置里的语言选项 - 提供暗色、亮色和窄屏适配的只读自检页 它不会删除插件,也不会碰插件的数据。所谓“跳过”,只是向当前 DSH profile 的 `cordis.patch.yml` 写入一个带 Boot Guard 标记的 `disabled: true` 数组项;写入前会识别空文件、`[]` 和已有数组,恢复时也只会删除自己写入的块。 ## 安装 需要先安装并运行 [DeepSeek

阅读完整 README仓库许可: MIT

dsh-boot-guard DSH 插件常见问题

如何安装 DSH Boot Guard?

你可以通过 DSH CLI 安装:`dsh plugin --profile web add github:SaiSenBox/dsh-boot-guard`,安装后重启 `dsh web`。如果包已发布到 npm,也可以用 `dsh plugin --profile web add dsh-boot-guard`。在 Windows 上本地开发时,克隆仓库并运行 `install.ps1` 脚本即可。

Boot Guard 会删除我的插件或数据吗?

不会。Boot Guard 从不删除插件或数据。它只是向 `cordis.patch.yml` 写入一条带标记的 `disabled: true` 条目来跳过插件。恢复操作时也只移除自己添加的条目,不会影响用户配置或插件文件。

插件加载失败时 Boot Guard 没有出现怎么办?

请确认 Boot Guard 已安装并启用。正常情况下它应该自动显示在“Failed to load plugins”消息下方。如果没有出现,检查该插件是否在你的 profile 中启用。你也可以通过访问 `http://127.0.0.1:3080/boot-guard/health` 来测试自检页面,确认它是否可访问。

我可以在远程机器上使用 Boot Guard 吗?

默认情况下,Boot Guard 只接受来自本机的请求。要允许远程修改,请在启动 DSH 前设置环境变量 `DSH_BOOT_GUARD_ALLOW_REMOTE_MUTATION=1`。由于没有额外的认证保护,不建议在没有妥善防护的情况下开启。

如何恢复不小心跳过的插件?

刷新页面后,打开 Boot Guard 的恢复界面。在“救援已跳过”部分找到被跳过的插件,点击“恢复”即可。你也可以使用“恢复已跳过”按钮(需要二次确认)来恢复所有被 Boot Guard 跳过的插件。恢复操作只会移除 Boot Guard 的跳过标记,不会删除插件本身。