OpenClaw Gateway 看门狗 使用文档

预估1分钟读完

发布时间:

OpenClaw Gateway 看门狗 使用文档

1. 概述

OpenClaw Gateway 看门狗是一个自动监控和恢复工具。它定期检测网关进程是否存活,当发现网关异常时自动重启,并通过飞书机器人发送通知。

核心问题:网关挂了 → 工具链断 → AI Agent 无法自救 → 需要外部看门狗。

2. 功能特性

  • 双重检测:TCP 端口探测(18789)+ WMI 进程命令行匹配
  • 自动重启:连续失败 2 次后 kill 残留进程并拉起 gateway.cmd
  • 飞书通知:网关恢复后自动发送飞书消息通知
  • 日志记录:运行日志写入 watchdog.log,超过 10MB 自动轮转
  • 多实例保护:全局 Mutex 锁,防止多个看门狗并行运行
  • 冷却保护:重启成功后 30 秒冷却期,避免频繁重启

    3. 文件结构

tools\gateway-watchdog\
├── watchdog.ps1      # 主脚本
├── deploy.ps1        # 部署脚本
├── watchdog.log      # 运行日志
└── README.md         # 使用文档

4. 部署

前提条件

  • Windows 10/11
  • PowerShell 5.1+
  • 管理员权限(创建 Scheduled Task 需要)

    步骤一:确认配置

打开 watchdog.ps1,检查顶部配置区

步骤二:创建定时任务

以管理员身份运行 PowerShell,执行以下命令:

schtasks /Create /TN "OpenClawGatewayWatchdog" /TR "powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File `"C:\Users\<用户名>\.openclaw\workspace\tools\gateway-watchdog\watchdog.ps1`"" /SC MINUTE /MO 5 /RL HIGHEST /F

步骤三:验证部署

Get-ScheduledTask -TaskName "OpenClawGatewayWatchdog"

看到 State: Ready 表示部署成功。

5. 使用

# 启动`nStart-ScheduledTask -TaskName "OpenClawGatewayWatchdog"`n`n# 停止`nschtasks /Change /TN "OpenClawGatewayWatchdog" /DISABLE`n`n# 删除`nschtasks /Delete /TN "OpenClawGatewayWatchdog" /F

6. 工作原理

  1. 端口探测:连接 127.0.0.1:18789,超时 3 秒
  2. 进程检查:WMI 查询 node.exe 命令行含 openclaw/gateway
  3. 双重验证:端口可达且进程存在 = 正常
  4. 异常时 kill 残留 + 启动 gateway.cmd
  5. 恢复后发飞书通知 + 30 秒冷却

    7. 飞书通知

  • 触发条件:网关异常被自动恢复后
  • 标题:✅ OpenClaw 网关已自动恢复
  • 修改接收人:
    $FeishuNotifyEnabled = $false  # 禁用通知
    

8. 故障排查

  1. 检查任务状态:Get-ScheduledTask -TaskName ‘OpenClawGatewayWatchdog’
  2. 查看日志:Get-Content ‘watchdog.log’ -Tail 50
  3. 检查路径:Test-Path ‘C:\Users<用户名>.openclaw\gateway.cmd’
  4. 飞书通知:检查日志中飞书相关错误

    9. 高级配置

$RetryIntervalSec = 10     # 检查间隔(秒)`n$ConsecutiveFailMax = 3    # 连续失败阈值`n$GatewayPort = 18790        # 网关端口

10. 卸载

schtasks /Delete /TN "OpenClawGatewayWatchdog" /F`nRemove-Item "tools\gateway-watchdog" -Recurse -Force

11. 已知限制

  • 仅支持本地网关(127.0.0.1)
  • Start-Process cmd.exe 可能短暂可见窗口
  • 重启后网关内存状态无法恢复 文档版本:v1.0 | 创建日期:2026-05-02

💬 Comments

Sign in with GitHub to leave a comment. Comments are synced with GitHub Issues.