tmeeli/dsh-guardian
tmeeli★ 0Shell最后同步: 2026-08-16
DeepSeek Harness 无模型自愈守护者:DSH 不可逆故障时自动接管、诊断、回滚快照、重启、通知模型。
README 摘要
dsh-guardian DeepSeek Harness 守护者 —— 始终活着的无模型底层,当 DSH 陷入不可逆状态时自动接管、诊断、回滚、重启、静默。 这是"agent 自己修复自己"的自举困境的答案:能改自己,就可能改坏自己;而改坏后 agent 跑不了,就需要一个 不依赖 DSH、不依赖模型 的底层来救场。 目录 - 设计哲学 - 工作原理 - 安装 - 配置 - 自动快照 - 模型如何第一时间发现问题 - 命令 - 与插件体系的关系 - 边界与局限 - 许可证 设计哲学 - 无模型 :纯 bash + 系统命令(systemctl / curl / md5sum / python3),每一步确定、可预测; - 进程外 :独立 systemd 服务( Restart=always ),DSH 死它不死; - 静默 :正常时只做只读健康检查,零干预; - 通知 :修复后把自愈事件写进 AGENTS.md 与事件文件,让恢复后的模型第一时间知情。 工作原理 健康判据: 所以 Termux / docker / 前台进程 / 任意服务名都能监控。 安装 安装自动完成:脚本 → systemd 单元 → enable --now (开机自启)→ 基准快照。幂等,可重复执行。 卸载: 配置 环境变量(在 systemd 单元 Environment= 里设置,或用你自己的启动方式注入): 变量 默认 说明 DSH GUARDIAN SERVICE dsh-web.service systemd 服务名;留空 = 无 systemd 场景(只靠 HTTP 监控) DSH GUARDIAN URL http://127.0.0.1:3080/ HTTP 健康探活地址 DSH GUARDIAN INTERVAL 30 健康检查间隔(秒) DSH GUARDIAN THRESHOLD 3 连续失败接管阈值 DSH GUARDIAN SNAPSHOT EVERY 600 定期良好快照间隔(秒) 自动快照 保护对象(组合/配置层,agent 最可能改坏自己的 3 个文件): - /.dsh/profiles/web/cordis.patch.yml (用户组合层) - /.dsh/profiles/web/package.json (bundle 注册表) - /.dsh/settings.yaml (全局设置) 三层快照时机: 层 触发 作用 变更检测 组合文件 md5 变化(每检查间隔) 改配置自动留"后悔药" 定期基准 健康时每 SNAPSHOT EVERY 秒 始终有近期良好快照 修复后 接管修复成功 良好状态存为新基准 回滚时 逐份回溯,跳过结构不可用(YAML/JSON 解析失败)的快照 ,即使最近快照也被写坏,也能找到更早的可用那份。 快照位置: /.d…
在 GitHub 查看完整 README →