OpenClaw Watch Dog技能使用说明
2026-04-01
新闻来源:网淘吧
围观:7
电脑广告
手机广告
openclaw-watchdog
描述:用于OpenClaw网关的自愈监控系统。监控健康状态,在故障时自动重启,并发送Telegram警报。诊断和日志分析在设备本地运行。警报通知会发送到用户的Telegram机器人。当用户想要设置网关监控、看门狗或自动恢复时使用。
前提条件
- Telegram机器人令牌— 通过@BotFather
- 创建Telegram聊天ID
- — 用于接收警报的个人聊天IDPython 3
- — 看门狗服务所需OpenClaw
— 已安装并正在运行
- 触发关键词
看门狗, 监控, 自动修复, 网关健康, 自愈, 自动恢复, watch dog
设置

向用户发送一条包含所有必要信息的消息:🐕
Watch Dog 是一项后台服务,每15秒会向您的 OpenClaw 网关发送一次检测信号。如果网关出现故障,它会自动尝试重启,并向您发送 Telegram 警报,确保您随时掌握最新情况。所有诊断都在您的设备本地运行。
要进行设置,我需要:
-
Telegram Bot Token— 通过 Telegram 上的@BotFather创建一个机器人,然后将令牌发送给我(令牌格式类似
123456:ABC-DEF...) -
您的 Telegram Chat ID— 向您的机器人发送
/start命令,然后访问https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates来查找您的聊天 ID
将令牌和聊天 ID 发送给我,剩下的交给我处理(包括运行测试以确保一切正常)!
收到凭据后
请按顺序运行以下步骤:
1. 验证凭据
python3 ~/.openclaw/workspace/openclaw-watchdog/scripts/validate.py "$TELEGRAM_TOKEN"
2. 运行设置脚本
chmod +x ~/.openclaw/workspace/openclaw-watchdog/scripts/setup.sh
~/.openclaw/workspace/openclaw-watchdog/scripts/setup.sh \
--telegram-token "$TELEGRAM_TOKEN" \
--telegram-chat-id "$TELEGRAM_CHAT_ID" \
--gateway-port "$GATEWAY_PORT" # optional, auto-detected from openclaw.json
3. 通过Telegram连接(配对)
python3 ~/.openclaw/workspace/openclaw-watchdog/scripts/test-message.py "$TELEGRAM_TOKEN" "$TELEGRAM_CHAT_ID"
等待用户确认收到Telegram消息后再继续。
4. 验证其正在运行
# Check service status
if [[ "$(uname)" == "Darwin" ]]; then
launchctl list | grep openclaw.watchdog
else
systemctl --user status openclaw-watchdog
fi
# Check logs
tail -20 ~/.openclaw/watchdog/watchdog.log
5. 向用户确认
告知用户看门狗已激活,它监控的内容,以及如果出现问题他们将收到Telegram警报。
工作原理
- 每15秒ping一次网关健康端点(自动从配置中检测端口,或通过
--gateway-port设置) - 连续3次失败后,尝试
openclaw gateway restart - 最多进行2次重启尝试,然后通过Telegram请求用户允许重新安装
- 用户通过运行以下命令批准:
touch ~/.openclaw/watchdog/approve-reinstall - 未经批准,仅发送通知——不执行破坏性操作
- 本地模式匹配诊断(不向外部发送日志)
- 作为macOS LaunchAgent或Linux systemd用户服务运行
- 凭据使用机器特定密钥通过AES-256加密
卸载
if [[ "$(uname)" == "Darwin" ]]; then
launchctl unload ~/Library/LaunchAgents/com.openclaw.watchdog.plist 2>/dev/null
rm -f ~/Library/LaunchAgents/com.openclaw.watchdog.plist
else
systemctl --user stop openclaw-watchdog 2>/dev/null
systemctl --user disable openclaw-watchdog 2>/dev/null
rm -f ~/.config/systemd/user/openclaw-watchdog.service
fi
rm -rf ~/.openclaw/watchdog
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~