Bundle
dsh-guard
DSH 运行期守护:启动成功后自动存档;插件加载失败时自动回退到上次良好快照并重启。
- Source
- x2802490130-prog
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 2 days ago
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 补丁层,均可省略)
```yaml
- 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 仅限本机回环地址访问
- 每次启动最多自动回退一次(防死循环)
## 测试
```bash
node test.mjs # 21 项
```
## License
MIT
Install
dsh plugin --profile web add github:x2802490130-prog/dsh-guard#71396827781c2579ebf48a8d29da484942364032
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-guard from the hub