dsh-guard

by x2802490130-prog

开发与运行时github 检测到 manifest package.json#dsh 社区精选 收录于 08-16

开发配套守护:滚动快照、插件失败自动回退、启动失败救援、设置页管理面板。

A development safety kit: rolling config snapshots, automatic rollback on plugin failures, boot-failure rescue, and an in-settings management panel.

安装

dsh plugin --profile web add github:x2802490130-prog/dsh-guard

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

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

原始 README: https://github.com/x2802490130-prog/dsh-guard/blob/main/README.md ↗