x2802490130-prog/dsh-guard
DSH 开发配套守护:滚动快照、失败自动回退、启动救援、设置页管理面板。
Bundle 已验证
MIT
JavaScript
未知
Bundle 已验证
已收录
0
Dev
Bundle 已验证
★ 0
在 GitHub 查看
预览
功能介绍
开发配套守护:滚动快照、插件失败自动回退、启动失败救援、设置页管理面板。
适合
- 需要滚动配置快照,并在插件运行失败后回退的插件开发者。
- 需要在设置页查看快照、备份、状态和守护事件的本机 DSH 操作者。
- 能够配合外部启动器处理启动期故障恢复的环境。
不适合
- 没有外部启动器却要求恢复启动故障的场景;进程在启动期崩溃时插件本身无法运行。
- 插件与配置很少变化、因而频繁快照价值有限的生产工作流。
- 远程管理工作流;管理面板与 API 仅允许回环地址访问。
README
dsh-guard
DSH 开发配套守护插件:滚动快照 + 失败自动回退 + 本机管理面板。
能力
- 滚动快照:每次存档保留最近 N 份(默认 5,带时间戳+原因),同时镜像 last-good 供外部启动器/bat 互操作
- 自动存档:启动成功且度过宽限期后自动存档(reason=auto)
- 自动回退:监听到插件运行失败,三道护栏内自动回退 last-good(每启动一次、宽限期内、快照早于本次启动)
-
管理面板(仅本机):
http://127.0.0.1:<端口>/dsh-guard—— 状态 / 快照列表 / 一键存档 / 回退 / 恢复备份 / 事件日志 -
管理 API(仅本机):
/api/dsh-guard/{status,snapshots,backups,log,save,rollback,restore} -
事件日志:
snapshotRoot/guard.log
配置(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
安全边界(重要)
- boot 崩坏插件救不了:进程在启动期崩溃时插件无法运行,boot 救援由外部启动器承担(见 dsh-balance-float 仓库的 windows/launch-dsh.vbs SNAP_TOOL 机制)
- 管理面板/API 仅限本机回环地址访问
- 每次启动最多自动回退一次(防死循环)
测试
node test.mjs # 21 项
License
MIT
常见问题常见问题
在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:x2802490130-prog/dsh-guard。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。
兼容性以页面上展示的 bundle 与 profile 状态为准。如果某个 profile 尚未检测到,请先保持禁用,并在生产启用前阅读仓库文档。
GitHub 链接和 activity 元数据是 release 与维护状态的来源。新版本发布后重新查看本页,确认目录已经观察到最新版本。