Gateway Guardian

🛡️ 三层守护,网关无忧

三层防护守护 OpenClaw 网关:实时监控配置变更自动回滚、systemd 崩溃自动恢复、飞书/Telegram/Discord 分级告警通知

收藏
3.1k
安装
1.1k
版本
1.6.3
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Gateway Guardian 是一款专为 OpenClaw 网关设计的三层防护守护技能,通过 systemd 服务集成实现无人值守的自动化运维。

第一层防护:配置监控与自动回滚

  • 使用 inotifywait 实时监控 ~/.openclaw/openclaw.json 配置文件变更
  • 检测到修改时自动创建带时间戳的备份(存储于 ~/.openclaw/config-backups/
  • 若新配置导致网关异常,支持快速回滚至历史版本

第二层防护:崩溃自动恢复

  • openclaw-recovery.service 作为 OnFailure 钩子挂载至网关主服务
  • 网关进程异常退出时自动触发恢复脚本,尝试重启并发送状态通知
  • ExecStopPost 钩子执行 pre-stop.sh,确保清理操作完整

第三层防护:分级通知体系

  • 技术通知(紧急/状态):动态检测最活跃会话,优先私聊,无私聊时发往最活跃群组
  • 群通知:若配置 STAFF_GROUP_CHAT_ID,网关恢复后自动通知固定群组
  • 多通道支持:飞书(user:ou_xxx/oc_xxx)、Telegram(chat_id/-100 超组)、Discord(纯数字频道 ID)

交互触发

  • 安装:用户发送 GitHub 链接并说"install this"/"帮我安装"
  • 状态查询:gateway-guardian status / "guardian 运行正常吗"
  • 卸载:uninstall gateway-guardian / "卸载 gateway-guardian"
  • 团队群配置:设置通知群: <id> / set guardian group: <id>

显著优点

  • 零手动配置:AI 代理自动解析当前对话的通道元数据,智能推断 fallback 通知目标
  • 语言自适应:根据用户对话语言自动设置 zh/en 通知语言
  • 安全设计guardian.conf 包含敏感通知配置,明确禁止上传 GitHub;配置备份跨卸载保留
  • 最小侵入:通过 systemd drop-in 机制扩展,不修改原网关服务单元文件
  • 运维友好systemctl --user 用户级服务,无需 root 权限(仅 inotify-tools 安装可能需要 sudo)

潜在缺点与局限性

  • 平台依赖:必须运行支持 systemd --user 的 Linux 发行版;macOS/WSL1 无法原生支持
  • 外部工具依赖inotifywait 需系统包管理器安装,无 sudo 场景下需用户手动介入
  • 通知可靠性:动态会话检测依赖 OpenClaw 运行时的内存状态,极端情况下可能降级至 FALLBACK_TARGET
  • 权限边界:用户级 systemd 服务无法处理系统级网络故障或机器级宕机
  • 单点配置STAFF_GROUP_CHAT_ID 仅支持单一固定群组,多团队场景需多次重装或手动修改配置

适合人群

  • 使用 OpenClaw 网关托管生产/半生产服务的个人开发者或小团队
  • 需要 7×24 无人值守运维、但对复杂监控体系(如 Prometheus+Alertmanager)过度设计的轻量级场景
  • 主要工作于 Linux 服务器或桌面环境,熟悉基础 systemd 命令的技术用户

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 配置泄露 | `guardian.conf` 包含聊天 ID 等敏感信息 | 文件头明确标注禁止上传 GitHub;安装流程自动跳过已存在文件 |
| 通知轰炸 | 网关频繁崩溃导致重复恢复通知 | `StartLimitBurst=3/60s` 速率限制;建议同步排查根因 |
| 备份膨胀 | 高频配置变更导致备份目录无限增长 | 当前无自动清理,建议用户定期手动清理或配置 cron |
| 依赖失效 | `inotify-tools` 被卸载或路径变更 | 服务重启时会检测,但运行时故障需手动检查日志 `/tmp/config-watcher.log` |
| 权限提升 | `curl` 下载远程脚本未校验签名 | 依赖 GitHub 仓库可信度;建议用户审查 `Dios-Man/gateway-guardian` 代码后再授权安装 |

Gateway Guardian 内容

手动下载zip · 25.0 kB
CHANGELOG.mdtext/markdown
请选择文件