计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
daily-briefing【效率与协作】Daily briefing aggregating weather, reminders, news, and calendar. Delivered on schedule via any channel.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Generates a morning briefing combining weather, today's tasks, news headlines, and calendar events.
Create ~/.echo-agent/briefing.yaml:
schedule: "0 8 * * *" # 每天早上8点
location: Beijing
sections:
- weather
- reminders
- rss
- calendar
rss_feeds:
- https://hnrss.org/frontpage
- https://arxiv.org/rss/cs.AI
max_news: 5
channel: telegram # delivery channel
☀ 每日简报 — {date}
## 天气
{location}: {condition} {temp}°C, 湿度 {humidity}%
## 今日待办
- [ ] {reminder_1}
- [ ] {reminder_2}
## 新闻摘要
1. {title_1} — {source}
2. {title_2} — {source}
## 日程
- 09:00 {event_1}
- 14:00 {event_2}
# Generate briefing now
python3 scripts/generate_briefing.py
# Generate with custom config
python3 scripts/generate_briefing.py --config ~/.echo-agent/briefing.yaml
# Preview without sending
python3 scripts/generate_briefing.py --dry-run
Add to Echo Agent's cron channel for automatic daily delivery. The cron expression 0 8 * * * fires at 8:00 AM daily.
Create the job with the cronjob tool. If the briefing produces a file (e.g. a
voice version), deliver it inside the same run — for audio use
text_to_speech(..., deliver=true), for other files call send_file with the
target channel/chat. An unattended run may end right after generating the file,
so a "generate now, send later" split silently drops it.
When cronjob(action="create") returns, send the user ONE confirmation — job id,
schedule, next fire time — and end the turn. Do NOT "verify delivery" by reading
gateway/server.py / a2a/server.py or curling internal endpoints
(/v1/chat, /api/v1/message); that is not a delivery test, it just burns the
turn and leaves the user without a reply. To sanity-check, use
cronjob(action="list"); the scheduled fire is the real delivery.