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.
text
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:
EventTriggerOutput typeWindow openedwindow_open false→truewindow_openedWindow closedwindow_open true→falsewindow_closedStatus changestatus field changedstatus_changeNew windowlast_window.id changednew_windowPrediction changeprediction.level changedprediction_changeProbability jumpprediction.probability_24h crosses 0.1 thresholdprediction_probability_change
No changes:
json
{"has_changes": false}
Changes detected:
json
{
"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
}
}
bash
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:
json
{
"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