返回顶部
o

openclaw-guardian开爪守护

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
271
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

openclaw-guardian

🛡️ OpenClaw Guardian

一个久经沙场的看门狗,确保你的 OpenClaw 网关持续运行——并在无法运行时及时通知你。

功能概述

OpenClaw Guardian 作为后台服务运行,通过两个独立的健康信号持续监控 OpenClaw 网关。当网关宕机时,它会执行逐步升级的修复序列,然后进入冷却状态并等待人工干预。每个重要事件都会被记录并发送到你配置的告警渠道。

健康检查策略(分级)

  1. 1. CLI 检查 — openclaw gateway status(权威信号)
  2. HTTP 备用检查 — curl http://localhost:${OPENCLAW_PORT}/health(5秒超时)
  3. 两个检查均失败后,守护程序才会认为网关真正宕机

修复策略(逐步升级)

级别操作触发条件
1 — 重启openclaw gateway restart首次失败
2 — 自动修复
openclaw doctor --fix → openclaw gateway start | 级别1失败后 | | 3 — Git 回滚 | 暂存 → 重置到最后一个稳定提交 → 恢复暂存 | 达到 GUARDIANMAXREPAIR 次失败后,仅当 GUARDIANENABLEROLLBACK=true 时 | | 冷却 | 休眠 GUARDIAN_COOLDOWN 秒 | 所有级别均耗尽后 |

注意: 级别3回滚默认关闭,需要通过 GUARDIANENABLEROLLBACK=true 显式启用。即使启用,它也会在重置前暂存未提交的工作——你的更改永远不会被静默丢弃。

告警

Guardian 同时支持 Telegram 和 Discord。如果两者均未配置,则仅以日志模式运行。

告警事件:

  • - Guardian 启动/停止
  • 检测到网关宕机
  • 每次修复尝试(含级别信息)
  • 修复成功/失败
  • 触发回滚
  • 所有修复耗尽(进入冷却)

每日快照

每个日历日,guardian 会在工作区运行 git add -A && git commit。它遵循 .gitignore 规则,因此你排除的机密信息不会被包含。提交消息格式:guardian: daily snapshot YYYY-MM-DD。



快速开始

1. 配置环境变量

创建 ~/.openclaw/guardian.env(或在 shell 配置文件中导出):

bash

告警必需——至少设置一个


export GUARDIANTELEGRAMBOT_TOKEN=bot123456:ABC...
export GUARDIANTELEGRAMCHAT_ID=-1001234567890

或者


export GUARDIANDISCORDWEBHOOK_URL=https://discord.com/api/webhooks/...

可选调优参数

export GUARDIANCHECKINTERVAL=30 export GUARDIANMAXREPAIR=3 export GUARDIAN_COOLDOWN=600 export GUARDIANENABLEROLLBACK=false # 设为 true 以启用 git 回滚 export GUARDIAN_WORKSPACE=$HOME/.openclaw/workspace export GUARDIAN_LOG=/tmp/openclaw-guardian.log export OPENCLAW_PORT=3578

2. 安装为系统服务

bash

macOS 或 Linux — 自动检测


./scripts/install-guardian.sh

使用自定义日志路径

GUARDIAN_LOG=/var/log/openclaw-guardian.log ./scripts/install-guardian.sh

3. 验证运行状态

bash

macOS


launchctl list | grep openclaw

Linux

systemctl --user status openclaw-guardian

通用

tail -f /tmp/openclaw-guardian.log

4. 手动运行(测试/前台模式)

bash

先加载配置


source ~/.openclaw/guardian.env

在前台运行 guardian(Ctrl-C 停止)

./scripts/guardian.sh

5. 卸载

bash
./scripts/uninstall-guardian.sh



环境变量参考


变量默认值描述
GUARDIANCHECKINTERVAL30健康检查间隔(秒)
GUARDIANMAXREPAIR
3 | 级别3前最大级别1+2尝试次数 |
| GUARDIAN_COOLDOWN | 600 | 所有修复失败后的冷却休眠时间(秒) |
| GUARDIANENABLEROLLBACK | false | 启用级别3 git 回滚(默认关闭) |
| GUARDIAN_LOG | /tmp/openclaw-guardian.log | 日志文件路径(1 MB 轮转) |
| GUARDIAN_WORKSPACE | $HOME/.openclaw/workspace | OpenClaw 工作区 git 仓库路径 |
| GUARDIANTELEGRAMBOTTOKEN | (未设置)_ | Telegram Bot API 令牌 |
| GUARDIANTELEGRAMCHATID | (未设置)_ | Telegram 聊天或频道 ID |
| GUARDIANDISCORDWEBHOOKURL | (未设置)_ | Discord 传入 Webhook URL |
| OPENCLAWPORT | (自动检测)_ | 网关 HTTP 端口——未设置时从 openclaw gateway status 自动解析 |


文件结构

skills/openclaw-guardian/
├── SKILL.md ← 本文件
└── scripts/
├── guardian.sh ← 主看门狗(持续运行)
├── install-guardian.sh ← 设置 launchd / systemd 服务
└── uninstall-guardian.sh ← 干净卸载

运行时文件(自动创建,不提交):

文件用途
/tmp/openclaw-guardian.lock单实例锁文件,包含 PID
/tmp/openclaw-guardian-last-snapshot
上次成功每日快照的日期 |
| /tmp/openclaw-guardian.log | 当前日志(1 MB 时轮转为 .log.1) |


相比 myclaw-guardian 的改进


myclaw-guardian 的问题openclaw-guardian 的修复
git reset --hard 不暂存——可能静默销毁未提交的工作任何重置前始终 git stash;无论结果如何都 git stash pop 恢复
通过 pgrep 检测进程——脆弱,可能匹配错误进程
使用 openclaw gateway status(实际 CLI)作为主要检测,HTTP 作为备用 |
| 无锁文件——可能同时运行多个实例 | /tmp/openclaw-guardian.lock 写入 PID;启动时检测过期锁 |
| 仅 Discord 告警 | 同时支持 Telegram Discord;两者均未配置时仅日志模式 |
| 级别3回滚始终启用——默认风险高 | 级别3默认关闭(GUARDIANENABLEROLLBACK=false),需显式启用 |
| 无分级健康检查 | 两个独立检查:CLI → HTTP;两者均失败后才判定网关宕机 |
| 修复耗尽后无冷却 | 可配置冷却时间(GUARDIAN_COOLDOWN),之后恢复监控 |


日志记录

日志带有时间戳且结构清晰:

[2026-03-05 11:30:00] [INFO] OpenClaw Guardian 已启动(PID 12345)
[2026-03-05 11:30:30] [INFO] 网关健康
[2026-03-05 11:31:00] [WARN] CLI 状态检查失败——尝试 HTTP 健康端点
[2026-03-05 11:31:05] [WARN] 网关健康检查失败
[2026-03-05 11:31:05] [INFO] 告警:🔴 网关已宕机——开始修复序列
[2026-03-05 11:31:05] [INFO] 修复级别1:重启网关
[2026-03-05 11:31:35] [INFO] 级别1修复成功

当日志超过 1 MB 时自动轮转(保留一个备份:.log.1)。



安全说明

  • - 机密信息不入 git——每日快照使用 git add -A,遵循 .gitignore。确保你的 .gitignore 排除了 .env、*.key 等文件。

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 gateway-sentinel-1776204686 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 gateway-sentinel-1776204686 技能

通过命令行安装

skillhub install gateway-sentinel-1776204686

下载

⬇ 下载 openclaw-guardian v1.0.0(免费)

文件大小: 12.47 KB | 发布时间: 2026-4-15 11:43

v1.0.0 最新 2026-4-15 11:43
Production-hardened gateway watchdog. Auto-detect port, graduated health checks (CLI + HTTP), escalating repairs (restart → doctor → optional safe rollback with git stash), Telegram + Discord alerts, daily snapshots, launchd/systemd install. Born from auditing myclaw-guardian — fixed 7 critical issues including dangerous git reset --hard, fragile process detection, and missing alert passthrough.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部