360 Secure SkillHub
360 安全技能中心

OpenClaw Watch Dog

为 OpenClaw 网关提供自愈监控,每 15 秒检查健康状态;连续失败后尝试重启网关,最多两次,并可通过 Telegram 发送告警;诊断与日志分析在本地完成。需提供 Telegram Bot Token 和 Chat ID,安装为 macOS LaunchAgent 或 Linux systemd 用户服务。

abdullah4ai
abdullah4ai
热度 72.77
最近更新 2026-05-17 11:45:29
分类:自动化依赖:代码执行 / 读写文件 / 第三方 API应用场景:自动化脚本 / DevOps / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add openclaw-watchdog
Metadata
name
openclaw-watchdog
description
Self-healing monitoring system for OpenClaw gateway. Auto-detects failures, fixes crashes, and sends Telegram alerts.
homepage
https://github.com/Abdullah4AI/openclaw-watchdog
metadata
{"openclaw":{"emoji":"🐕","disableModelInvocation":true,"requires":{"bins":["python3","openssl"],"env":["TELEGRAM_TOKEN","TELEGRAM_CHAT_ID"]},"install":[{"id":"setup","kind":"script","script":"scripts/setup.sh","label":"Install watchdog service (LaunchAgent/systemd user)","persistence":"user-level","service":true}]}}

openclaw-watchdog

Description: Self-healing monitoring system for OpenClaw gateway. Monitors health, auto-restarts on failure, and sends Telegram alerts. Diagnostics and log analysis run locally on-device. Alert notifications are sent to the user's Telegram bot. Use when user wants to set up gateway monitoring, watchdog, or auto-recovery.

Prerequisites

  • Telegram Bot Token — Create via @BotFather
  • Telegram Chat ID — Your personal chat ID for receiving alerts
  • Python 3 — Required for the watchdog service
  • OpenClaw — Installed and running

Trigger Keywords

  • watchdog, monitoring, auto-fix, gateway health, self-healing, auto-recovery, watch dog

Setup

Send the user ONE message with everything they need:


🐕 Watch Dog — Self-Healing Gateway Monitor

Watch Dog is a background service that pings your OpenClaw gateway every 15 seconds. If the gateway goes down, it automatically attempts to restart it and sends you Telegram alerts so you're always in the loop. All diagnostics run locally on your device.

To set it up, I need:

  1. Telegram Bot Token — Create a bot via @BotFather on Telegram, then send me the token (looks like 123456:ABC-DEF...)

  2. Your Telegram Chat ID — Send /start to your bot, then visit https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates to find your chat ID

Send me the token and chat ID and I'll handle the rest (including a test run to make sure everything works)!


After Receiving Credentials

Run these steps in order:

1. Validate credentials

python3 ~/.openclaw/workspace/openclaw-watchdog/scripts/validate.py "$TELEGRAM_TOKEN"

2. Run setup script

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. Connect via Telegram (Pairing)

python3 ~/.openclaw/workspace/openclaw-watchdog/scripts/test-message.py "$TELEGRAM_TOKEN" "$TELEGRAM_CHAT_ID"

Wait for user to confirm they received the Telegram message before proceeding.

4. Verify it's running

# 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. Confirm to user

Tell them Watch Dog is active, what it monitors, and that they'll get Telegram alerts if anything goes wrong.

How It Works

  • Pings gateway health endpoint every 15 seconds (auto-detects port from config, or set via --gateway-port)
  • After 3 consecutive failures, attempts openclaw gateway restart
  • Up to 2 restart attempts, then asks user for reinstall permission via Telegram
  • User approves by running: touch ~/.openclaw/watchdog/approve-reinstall
  • Without approval, only sends notifications — no destructive actions
  • Local pattern-matching diagnostics (no logs sent externally)
  • Runs as macOS LaunchAgent or Linux systemd user service
  • Credentials encrypted with AES-256 using machine-specific key

Uninstall

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