Co-authored-by: Cursor <cursoragent@cursor.com>
daily-robots
Daily Briefing · WeCom Push · Agent Mode
给 AI 工程小团队推送每日 curated 情报:skills.sh 榜单、GitHub AI 趋势、国际/国内 RSS,生成叙事化早报并推到企业微信群。
与 TLDR AI / Ben's Bites 不同,这里专注 Agent Skills 生态 + 可 fork 的自托管流水线(不是又一个 email newsletter)。
产出示例:docs/sample-output/wecom-agent-sample.md(Agent 模式企微版节选)
Quick Start
- Clone 本仓库
- 安装依赖:
pip install -r requirements.txt - 配置环境:
copy .env.example .env - 填写 webhook:企微群 → 群机器人 → 添加 → 把
key=写入.envWECOM_WEBHOOK_KEY=your-webhook-key - 生成并推送:
.\run-daily.ps1
生成文件在 output/:
| 文件 | 说明 |
|---|---|
YYYY-MM-DD.wecom.md |
企微推送版(主产物) |
YYYY-MM-DD.md |
完整归档版 |
YYYY-MM-DD.data.json |
结构化数据(供 LLM / 调试) |
常用变体:
.\run-daily.ps1 -SkipPush # 只生成
python -m daily push output\2026-07-03.wecom.md # 只推送
Linux / macOS 等价脚本:
chmod +x run-daily.sh
./run-daily.sh # 生成 + 推送
./run-daily.sh --skip-push # 只生成
./run-daily.sh --force # 忽略 30 分钟内重复运行锁
前置条件:Python 3.10+、企业微信群机器人 webhook。无需 Bot API 凭证。
部署(Docker)
cp .env.example .env # 填入 WECOM_WEBHOOK_KEY 等
docker compose build
docker compose run --rm daily # 生成 + 推送
docker compose run --rm daily --skip-push # 只生成
output/、.cache/、logs/ 挂载到宿主机,与本地 run-daily.ps1 行为一致。
Agent 模式(推荐)
默认 classic 是分区榜单模板;推荐 Agent 模式——导语 + 今日信号 + 精选新闻 + 榜单,全中文叙述。
DAILY_REPORT_MODE=agent
CURSOR_API_KEY=cursor_...
CURSOR_MODEL=composer-2.5
DAILY_CURSOR_CWD=.
| 模式 | 环境变量 | 风格 |
|---|---|---|
classic |
— | 分区榜单 + 模板 |
editor |
DAILY_CURSOR_EDITOR=1 |
模板 + LLM 中文化 |
agent |
DAILY_REPORT_MODE=agent |
叙事化早报(推荐) |
流水线:
Python 抓取 → Step1 趋势分析 (.trends.json) → Step2 写企微稿 (.wecom.md) → webhook 分条推送
- 规范见
skills/daily-agent/SKILL.md - LLM 失败自动回退
classic,不影响run-daily.ps1 - 无
CURSOR_API_KEY时请用classic,或配置DAILY_LLM_API_KEY(OpenAI 兼容 API)
定时推送:Windows 任务计划程序每日执行 run-daily.ps1,或 cron / schtasks。
自定义 RSS 源
RSS 源配置在 config/feeds.yaml(国际 intl / 国内 cn),改 URL 或增删 feed 后无需改 Python。文件缺失或解析失败时,会回退 daily/news/feeds_defaults.py 内置列表。
可选 config/sensitive_words.yaml + DAILY_CONTENT_FILTER=1:标题/摘要命中敏感词则丢弃该条。
旧版硬编码路径(仍可读作参考):daily/news/feeds_defaults.py
DAILY_AI_NEWS=1
DAILY_CN_AI_NEWS=1
DAILY_AI_NEWS_HOURS=72
DAILY_WECOM_AI_NEWS=10
DAILY_WECOM_CN_AI_NEWS=8
Skills 榜单默认爬 skills.sh 官网(600+ 条);可改为第三方 feed:
# SKILLS_BOARD_SOURCE=feed
GitHub 新兴/Topic 榜需 GITHUB_TOKEN(见 .env.example 注释)。
Experimental:bot/ 企微对话机器人
同仓库内的 API 模式智能机器人(@ 机器人快查 skills、Cursor 任务、Playwright 截图)不在 v1 开源支持范围内,需独立 venv 与 WECOM_BOT_ID / SECRET。
详见 bot/README.md。
项目结构
daily-robots/
├── run-daily.ps1 # 生成 + 推送
├── daily/ # 早报主包
├── shared/skills_data.py # skills feed 共用数据层
├── skills/daily-agent/ # Agent 工作流规范
├── output/ # 生成产物(gitignore)
└── bot/ # experimental
注意事项
- Webhook / API Key 勿提交 Git,只用
.env - 企微 markdown 为子集;超长报告自动分条推送(默认 4096 bytes/条)
- 完整配置项见
.env.example - 开发测试:
pip install -r requirements-dev.txt→pytest