360 Secure SkillHub
360 安全技能中心

Device Heartbeat Monitor

该 Skill 通过向 healthchecks.io 发送心跳 ping 来监测设备在线状态:用 setup.sh 在 macOS 上安装 LaunchAgent 定时上报服务,用 status.sh 查看本地状态与日志,用 check.sh 携带只读 API Key 与 Check UUID 远程查询 up/down/grace 及最后上报时间,并提供卸载脚本。

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

安装技能

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

执行命令安装此 skill: npx secure-skills-cli add device-heartbeat
Metadata
name
device-heartbeat
description
Monitor remote device online status via heartbeat pings to healthchecks.io. Use when user asks to check if a device is online or offline, user reports device unreachable or no response from remote OpenClaw, user wants to set up device monitoring or heartbeat, user asks about network connectivity of their devices, or user says ping my device or is my Mac online.

Device Heartbeat Monitor

Monitor device online status using heartbeat pings to healthchecks.io (free tier).

Architecture

Device → every N min → curl GET → healthchecks.io → missed? → alert user
User asks "device online?" → agent reads state file or queries API → answer

Security Warning

Never share the full ping URL (https://hc-ping.com/UUID) in any chat message. Messaging platforms (Feishu, Slack, etc.) auto-fetch URLs for link previews, which creates false heartbeat pings. Only pass the UUID portion separately.

Quick Commands

Check local status (no API key needed):

bash scripts/status.sh

View recent logs:

tail -20 ~/.openclaw/logs/heartbeat.log

Read state file directly:

cat ~/.openclaw/logs/heartbeat-state.json

Setup

1. Create a Check on healthchecks.io

Register at https://healthchecks.io, create a Check. Set Period = 3 min, Grace = 5 min. See references/healthchecks-setup.md for details.

2. Install heartbeat service

bash scripts/setup.sh "https://hc-ping.com/UUID" 180
  • Arg 1: Full ping URL
  • Arg 2: Interval in seconds (default 180 = 3 min)
  • Installs as macOS LaunchAgent (auto-start on boot, auto-restart on crash)
  • Low priority background process, minimal CPU/battery

3. Verify

bash scripts/status.sh

Remote Status Check (from another device)

bash scripts/check.sh "READONLY_API_KEY" "CHECK_UUID"

Response fields: status (up/down/grace), last_ping (timestamp).

Multi-Device Setup

Create a separate Check per device on healthchecks.io. Each device gets its own UUID. Run setup.sh on each device with its unique URL.

Uninstall

bash scripts/uninstall.sh

Features

  • Log rotation: Auto-truncates at 500 lines
  • State file: ~/.openclaw/logs/heartbeat-state.json for quick local queries
  • Recovery detection: Logs "RECOVERED after N failures" on reconnect
  • Fail counter: Tracks consecutive failures in state file

Troubleshooting

  • Service not running: bash scripts/setup.sh "URL" 180 to reinstall
  • Ping failing: Check network; verify URL with curl -v "URL"
  • Logs: ~/.openclaw/logs/heartbeat.log and heartbeat-error.log
  • False pings from chat platforms: Regenerate UUID, never share full URL in chat