核心用法
OpenClaw Guardian 是一个独立的 Bash 守护脚本,专为保障 OpenClaw Gateway 的高可用性而设计。它通过定时健康检查(默认 30 秒间隔)监控 Gateway 状态,并在检测到故障时启动三级修复阶梯:首先自动执行 openclaw doctor --fix(最多 3 次尝试);若修复失败,则通过 git reset --hard 将工作区回滚至最后一个稳定提交并重启 Gateway;若全部失败,进入 300 秒冷却期后恢复监控。此外,Guardian 每日自动创建 Git 快照,支持可选的 Discord 告警推送。
显著优点
1. 自动化自愈:无需人工干预即可处理常见故障场景,显著降低运维负担
2. Git 原生保护:利用版本控制实现配置回滚,避免配置腐化导致的持续故障
3. 层级化修复策略:从轻量级修复到激进回滚的分级处理,兼顾恢复速度与数据安全
4. 低开销设计:纯 Bash 实现,无额外运行时依赖,适合容器和 VPS 环境
5. 可观测性:支持 Discord 状态推送和本地日志记录,便于远程监控
潜在缺点与局限性
- 数据丢失风险:
git reset --hard会丢弃所有未提交更改,需用户主动提交重要变更 - Git 依赖:回滚功能依赖 Git 初始化,无 Git 时降级为仅修复模式
- 网络外联:Discord 告警需配置 webhook,虽仅传输状态信息,但引入外部网络依赖
- 单点部署:单个 Guardian 进程本身无高可用保障,需结合
gw-watchdog.sh实现分层防护 - Cooldown 设计:300 秒冷却期在关键业务场景下可能过长
适合人群
- 运行 OpenClaw Gateway 的个人开发者和小型团队
- 缺乏专职运维资源、需要自动化故障恢复的用户
- 使用容器或 VPS 部署、偏好轻量级 Shell 方案的技术用户
- 已通过 Git 管理工作区配置、重视版本可追溯性的用户
常规风险
- 误回滚风险:若用户忘记提交关键配置更改,自动回滚可能导致功能丢失
- 日志累积:长期运行的
/tmp/openclaw-guardian.log需定期清理 - 权限配置:Guardian 需对
~/.openclaw目录有读写权限,不当配置可能引发安全问题 - Webhook 泄露:Discord webhook URL 若暴露在环境变量中,存在被提取滥用的可能