Source Code
Uptime Monitor
Silent 24/7 sentinel: Tracks OpenClaw/Gateway alive โ dead.json (fail) or uptime.json (7d streak). Files in workspace/uptime/.
Quick Setup (One-Shot)
# Install cron (5min pings)
๐ cron add uptime-5m '{"kind":"every","everyMs":300000}' '{"kind":"systemEvent","text":"UPTIME CHECK ๐ป"}' --sessionTarget main
# View status/logs
๐ cron list
๐ cron runs uptime-5m
Workflow (Auto on "UPTIME CHECK")
- Ping:
๐ session_status+openclaw gateway status(via exec). - Success: Update
uptime/streak.json(hours += 5/60). If >=168h โ writeuptime/uptime.json. - Fail: Write
uptime/dead.json{ts, downtime_start: now}. - Dirs: Auto-mkdir
uptime/.
Streak Reset: On fail โ streak=0.
Files (Workspace/uptime/)
streak.json:{"streak_hours": 24.5, "last_ping": 1738746800000}uptime.json:{"streak_hours": 168.1, "verified": true, "end_ts": 1738746800000}(7d+)dead.json:{"ts": 1738746800000, "downtime_start": 1738746800000}
Edge Handling
- First run: streak=0.
- Cron miss: Streak holds (no false-dead).
- Manual:
message "UPTIME CHECK ๐ป"triggers.
No alerts/deps. Pure files. Prod eternal.
Script (Optional Exec)
scripts/uptime-check.js: Standalone Node ping (for manual/cron spawn).
Prod: Cron โ silent forever.