前言¶
DeepSeek Harness (DSH) 的插件加载依赖于配置文件(如 cordis.patch.yml)。当配置出现异常(例如重复的 entry id、YAML 语法错误或缺失包)时,DSH 会在启动阶段崩溃,导致无法打开 GUI 设置面板,进而无法手动修复。brockdsaver 是一个运行在 DSH 外部的独立工具,用于在 DSH 启动前诊断配置问题并提供一键恢复功能。
功能定位¶
这是一个由 kirigayakazima 维护的 DSH 插件,同时具备独立 CLI 和 DSH Bundle 两种运行模式:
* 独立 CLI:在系统任意位置运行,用于 DSH 启动前的诊断与修复。
* DSH Bundle:作为插件安装到 DSH 中,提供运行时的健康检查与状态监控。
安装与启用¶
1. 安装独立 CLI¶
需要安装 Node.js 环境(版本 >= 20)。
npm install -g brockdsaver
2. 安装 DSH Bundle 插件¶
在 DSH 正常运行时,通过命令行安装插件。
dsh plugin --profile web add "github:kirigayakazima/brockdsaver"
CLI 诊断与修复¶
使用 CLI 模式需要在 DSH 服务器停止状态下进行,避免文件锁定。默认 profile 为 web。
诊断配置¶
检查配置文件的完整性,检测损坏的插件(如重复的 entry id)。
brockdsaver doctor [--profile <name>]
一键恢复¶
自动备份配置并尝试禁用导致启动失败的问题行。执行此命令前请先停止 DSH 服务器。
brockdsaver recover [--profile <name>]
配置备份与恢复¶
不依赖 DSH 进程,仅备份 cordis.patch.yml 和 package.json。
# 备份配置文件
brockdsaver backup [--profile <name>]
# 从最近一次备份恢复
brockdsaver restore [--profile <name>]
插件模式功能¶
安装为 DSH Bundle 后,插件会在 DSH 启动后提供以下能力:
- 健康检查页面:在 Settings 中提供配置状态、重复 ID 数量、运行时错误及插件源信息。
- 救援通知横幅:当触发救援事件时,右下角会弹出通知,显示检测到的修复详情。横幅可手动关闭,关闭后该事件不再重复提醒。
- 救援日志:记录所有救援事件,日志文件为 JSONL 格式。
注意事项¶
- Node.js 版本:要求 Node.js 版本 >= 20。
- 服务状态:执行
doctor或recover命令前,必须先停止 DSH 服务器,否则会出现文件锁定错误。 - 许可证:遵循 MIT 许可证。