核心用法
OpenClaw Guardian 是一款专为 OpenClaw Gateway 设计的轻量级 Bash 守护脚本,通过多层修复阶梯实现故障自愈:
1. 健康检测:每 30 秒轮询 Gateway 状态
2. 自动修复:触发 openclaw doctor --fix 最多 3 次尝试
3. Git 回滚:失败时自动 git reset --hard 至最后稳定提交并重启
4. 冷却保护:全失败后进入 300 秒冷却期,避免无限循环
5. 日备快照:每日自动创建 workspace Git 快照
部署流程简洁:初始化 Git 仓库、复制脚本、以 nohup 或 systemd 启动,并可嵌入容器启动脚本实现持久化。可选 Discord Webhook 实现实时告警通知。
显著优点
- 零依赖自愈:纯 Bash 实现,无需额外运行时,适合容器与裸金属环境
- 数据安全兜底:Git 版本控制回滚机制,有效防止配置损坏导致的服务瘫痪
- 分层韧性设计:可与
gw-watchdog.sh并行运行,形成双重保障 - 开箱即用:环境变量驱动配置,默认参数覆盖常见场景
潜在缺点与局限性
- Git 强依赖回滚:未初始化 Git 时仅保留 doctor 修复能力,灾难恢复能力降级
- 回滚粒度粗糙:
--hard回滚会丢失工作区未提交修改,不适合频繁手动编辑场景 - 日志管理缺失:固定路径
/tmp/openclaw-guardian.log,无内置轮转,长期运行需外部清理 - 冷却期静态:300 秒固定冷却,无法根据故障频率动态调整
适合人群
- 运行 OpenClaw Gateway 的生产环境运维人员
- 需要无人值守高可用部署的容器化/K8s 用户
- 配置变更频繁、需要快速回滚能力的开发测试团队
常规风险
- 权限提升隐患:脚本以用户级运行但需执行 service 级操作,sudo 配置不当可能扩大攻击面
- Webhook 泄露:Discord URL 若以明文导出,存在凭证泄露风险
- 回滚误伤:自动回滚可能在调试期间覆盖有意但未提交的变更
- 日志注入:若 Gateway 状态检测依赖外部输入,需防范日志伪造攻击向量