Monitors the Codex Reset Radar current.json endpoint to detect Codex usage quota reset windows ("speed windows"), pushing alerts via OpenClaw cron to the default agent chat channel.
Cron triggers
│
▼
① Data collection: python3 scripts/codex-radar-check.py
→ fetch current.json + compare against local cache
│
▼
② JSON diff: outputs has_changes + events[] or has_changes: false
→ no changes → agent replies NO_REPLY (silent)
│
▼
③ LLM formatting: reads JSON diff only
→ formats into a friendly chat message
│
▼
④ Chat push: announce → user session (default chat channel)
scripts/codex-radar-check.py — stdlib only, zero dependencies:
https://codex-reset-radar.pages.dev/current.jsoncache/codex-radar-last.json from previous runChange types detected:
| Event | Trigger | Output type |
|---|---|---|
| ------- | --------- | ------------- |
| Window opened | window_open false→true | window_opened |
| Window closed | window_open true→false | window_closed |
| Status change | status field changed | status_change |
| New window | last_window.id changed | new_window |
| Prediction change | prediction.level changed | prediction_change |
| Probability jump | prediction.probability_24h crosses 0.1 threshold | prediction_probability_change |
No changes:
{"has_changes": false}
Changes detected:
{
"has_changes": true,
"events": [
{"type": "window_opened", "detail": "Codex usage reset window opened", "opened_at": "2026-05-24T08:21:33+08:00", "scope": "Codex users"}
],
"current_status": {
"window_open": true,
"status": "open",
"last_window_id": "codex-speed-window-2026-05-24-codex",
"prediction_level": "low",
"probability_24h": 0.06
}
}
clawhub install codex-reset-radar
Create an OpenClaw cron job (recommended: hourly 8 AM–11 PM, silent overnight).
The delivery target will automatically use your default agent chat channel:
{
"name": "Codex Reset Radar Monitor",
"schedule": {"kind": "cron", "expr": "0 8-23 * * *", "tz": "Asia/Shanghai"},
"sessionTarget": "isolated",
"payload": {
"kind": "agentTurn",
"timeoutSeconds": 60,
"lightContext": true,
"message": "Codex Reset Radar monitor.\n1. cd ~/.openclaw/workspace && python3 skills/codex-reset-radar/scripts/codex-radar-check.py\n2. If has_changes: false, reply NO_REPLY\n3. If changes detected, format and push to default chat channel"
}
}
> 💡 The cron job will push alerts to whatever chat channel your OpenClaw agent uses by default (Feishu, Discord, Telegram, etc.). No channel-specific config needed.
Recommended schedules:
0 8-23 * — hourly during waking hours, silent 0-7/10 * — every 10 minutes (urgent monitoring)has_changes: false → agent replies NO_REPLY → nothing pushed to chatjson, urllib, datetime, os; zero external dependencies{"has_changes": false, "error": "..."}, never false-trigger or crash共 2 个版本