Work Daily Planner
Generates next-day life plans and delivers reminders via system crontab (no LLM dependency).
Architecture
22:00 agentTurn (isolated)
├── reads sleep data + health report leisure recommendations (if available)
├── generates next-day plan
├── delivers plan to Telegram
├── writes plan to {PLAN_FILE}
└── runs update-reminders.sh → updates system crontab
22:05 system crontab → parse-plan-update-reminders.sh (fallback)
Next day: system crontab → tg-remind.sh → curl Telegram Bot API (zero LLM)
Setup
1. Install scripts
Copy scripts/ contents to a stable path (e.g. ~/.openclaw/scripts/). Edit tg-remind.sh: set BOT_TOKEN and CHAT_ID.
2. System crontab
# Fallback plan parser at 22:05 local time (convert to UTC)
5 <UTC_HOUR> * * * /path/to/parse-plan-update-reminders.sh
3. OpenClaw cron job (22:00)
- schedule:
0 22 * * *(your timezone) - sessionTarget:
isolated - payload.kind:
agentTurn - payload.message:
Read {path}/references/briefing-prompt.md and follow all rules. Write plan to {PLAN_FILE}. - payload.timeoutSeconds:
300 - delivery: telegram to your chat_id
4. Configure briefing prompt
Edit references/briefing-prompt.md — replace {LIFE_ASSISTANT_DIR}, {SCRIPTS_DIR}, {PLAN_FILE} placeholders.
Scripts
| Script | Purpose |
|---|---|
tg-remind.sh |
Send Telegram message via Bot API (no LLM) |
update-reminders.sh |
Update crontab dynamic reminder block |
parse-plan-update-reminders.sh |
Parse plan file → extract times → call update-reminders.sh |
update-reminders.sh flags
--recovery, --training, --english, --openclaw1, --openclaw2, --openclaw3 — all HH:MM local time. Only pass flags for that day's events. OpenClaw times = start times (script auto-subtracts 10min for warning).
Design Decisions
- System crontab for reminders: agentTurn reminders unreliable (LLM timeout, session failures). curl is mechanical.
- Isolated session: session-bound loads 175k+ tokens (~$2.6/run). Isolated loads
40k ($0.9/run). 3x cheaper, more stable. - Plan file decoupling: if agent fails to update crontab, 22:05 fallback parser handles it.
