dsh-guard:DSH 开发配套守护插件

在 DSH 的开发体系中,插件是核心组件,其运行稳定性直接影响开发效率。当插件出现异常或状态错乱时,手动回退往往存在遗漏风险。dsh-guard 是为此设计的配套守护插件,它通过自动化机制提供滚动快照、失败自动回退以及本机管理面板,解决运行期的不确定性。

这是 x2802490130-prog 维护的工作流插件,采用 MIT 许可证。它位于 DeepSeek Harness 生态中,旨在为开发者提供一套标准化的插件守护方案。

核心能力

该插件主要提供以下六项能力:

  1. 滚动快照:每次存档保留最近 N 份(默认 5),文件名带时间戳和原因。同时镜像 last-good 供外部启动器或脚本调用。
  2. 自动存档:插件启动成功且度过宽限期后,自动触发存档(原因标记为 auto)。
  3. 自动回退:监听到插件运行失败时,自动回退到 last-good 状态。
  4. 管理面板:提供 Web 界面查看状态、管理快照和日志。
  5. 管理 API:提供 RESTful 接口进行控制。
  6. 事件日志:记录所有快照和回退操作,位于 snapshotRoot/guard.log。

配置与用法

插件通过 YAML profile 补丁层配置,以下为关键配置项示例:

- id: dsh-guard
  config:
    snapshotRoot: D:\path\to\snapshots
    profileDir: C:\path\to\profiles\web
    sourceDirs: [D:\path\to\plugin-src]
    restartCommand: D:\path\to\restart.bat
    graceMs: 120000
    autoSaveDelayMs: 150000
    keepSnapshots: 5

典型行为:
- 滚动快照:默认保留最近 5 份快照。
- 宽限期:插件启动后需等待 graceMs(默认 120000ms)才触发自动存档,避免误存。
- 自动回退:仅在插件运行失败时触发,且每次启动最多触发一次,防止死循环。

访问方式:
- 管理面板:http://127.0.0.1:<端口>/dsh-guard
- 管理 API:/api/dsh-guard/{status,snapshots,backups,log,save,rollback,restore}

注意事项

  • Boot 崩坏无法救援:当进程在启动期崩溃时,插件无法运行,因此无法处理此场景。Boot 救援由外部启动器(如 dsh-balance-float 仓库的 windows/launch-dsh.vbs)承担。
  • 仅限本机访问:管理面板和 API 仅监听本机回环地址,不提供远程访问。
  • 防死循环机制:每次插件启动最多自动回退一次,回退后需手动重启才能再次触发。

总结

dsh-guard 为 DSH 开发提供了基础的运行期守护能力,通过自动化的快照和回退机制降低了开发过程中的维护成本。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜