晨报系统 — Morning Briefing
每日科技新闻晨报,三级分选 + 分组归类,飞书推送 + 文档同步。
核心流程
第一级:采集(目标 50+ 条)
使用 web_search(Tavily)搜索,分多轮从不同信息源采集:
搜索策略(关键词 + freshness:week,不依赖 site: 限定):
| 来源 | 搜索关键词示例 |
|---|---|
| 36氪 | AI创业融资 中国科技 |
| 量子位 | 大模型 AI开源 |
| 机器之心 | AI研究 前沿模型 |
| IEEE | technology research breakthrough |
| TechCrunch | AI startup funding |
| The Verge | tech AI product launch |
| Solidot | 开源 Linux 安全 |
| 中文综合 | 华为 小米 比亚迪 科技新闻 |
搜索技巧:
- 每轮用
web_search搜索 2-4 个关键词组合 freshness: "week"限定一周内- 每轮
count: 10 - 总共至少跑 6-8 轮搜索,确保 50+ 条原始新闻
- 去重:按 URL 去重,同一事件只保留最早来源
- ⚠️ 避免纯
site:限定搜索——容易返回索引页/标签页而非文章,用广泛关键词更有效
采集结果写入池:
{
"title": "原始标题",
"url": "https://...",
"source": "36kr",
"category": "ai",
"summary": "搜索结果摘要",
"fetchedAt": "2026-05-12T08:00:00+08:00",
"score": null,
"tier": "raw",
"pushedDate": null
}
第二级:评分 + 分类
对池中所有 tier: "raw" 的新闻逐条评分(0-10)并分类:
评分维度:
| 维度 | 权重 | 说明 |
|---|---|---|
| 影响力 | 0.3 | 行业影响范围、公司规模、政策级别 |
| 新颖性 | 0.25 | 是否独家/首发,还是旧闻重发 |
| 深度 | 0.2 | 有没有实质内容,还是标题党 |
| 相关性 | 0.25 | 科技相关度(政策类需额外扣分除非涉及科技) |
评分规则:
- 7.0+ → 高价值 →
tier: "high" - 5.0-6.9 → 中等 →
tier: "medium" - <5.0 → 低价值 →
tier: "discarded" - 政策/时政类新闻总量不超过当日推送的 20%
分类规则(每条新闻标记 category):
| category | 标识 | 包含范围 |
|---|---|---|
ai | 🧠 AI & 模型 | 大模型发布、AI 研究、算力基础设施、训练/推理突破 |
product | 🔧 产品 & 工具 | 新产品发布、开发者工具、平台更新、应用层创新 |
industry | 🚗 产业 & 硬件 | 智能汽车、芯片半导体、制造、新能源、机器人 |
policy | 📋 政策 & 动态 | 监管法规、国标、融资、行业趋势、人事变动 |
分类优先级:如果一条新闻跨多个类别,按最核心的归类。如"DeepSeek V4用华为芯片训练"→ ai(模型本身是核心),而非 industry。
第三级:推送选择
- 从
tier: "high"中按分数降序取前 8-10 条作为当日推送 - 推送条目尽量覆盖 2-4 个分类,避免单一类别占满
- 已推送过的(
pushedDate不为 null)不再推送,除非是新进展 tier: "high"但今天没被选中的,保留在池中,标记carryOver: truetier: "medium"的保留一天,第二天如果还在就降为discardeddiscarded的新闻从池中移除- 池中新闻最多保留 3 天(按
fetchedAt算),超过自动清理
推送格式
按分组输出,每组内按分数降序,最重磅的用 ⭐ 标记:
☀️ 晨报 | 2026年5月12日 星期一
━━━━━━━━━━━━━━━━━━━━
🧠 AI & 模型
⭐ [Anthropic租下SpaceX 22万GPU超算](https://venturebeat.com/...)
推理算力军备竞赛再升级——独家租用Colossus 1全部算力,22万GPU、300MW。ARR从8700万飙至300亿美元。
🔗 VentureBeat
[NVIDIA Vera Rubin:七芯片架构定义AI工厂](https://thegpu.ai/...)
单GPU 3.6TB/s,NVL72全互联260TB/s,四大前沿实验室确认采用
🔗 TheGPU
[DeepSeek V4开源:华为昇腾训练,推理成本降73%](https://cnbc.com/...)
1.6T参数MIT协议开源,HuggingFace权重已上线
🔗 CNBC
🔧 产品 & 工具
[OpenAI双发:GPT-Realtime-2 + Codex Chrome](https://macrumors.com/...)
实时语音接入GPT-5推理,浏览器插件六个月ARR破10亿
🔗 MacRumors
🚗 产业 & 硬件
⭐ [新能源车集体涨价:15+车企调价,智驾成分水岭](https://...)
比亚迪上调智驾包、特斯拉收缩金融,单车涨2千-1万
🔗 网通社
📋 政策 & 动态
[L2辅助驾驶国标征求意见,驾驶员为第一责任主体](https://...)
华为小米比亚迪特斯拉联合起草,违规脱手强制禁用
🔗 IT之家
[AlphaGo作者新公司11亿美元种子轮,估值51亿](https://...)
David Silver创立Ineffable Intelligence,聚焦AI推理
🔗 Instagram
━━━━━━━━━━━━━━━━━━━━
💬 "Artificial intelligence is the new electricity." — Andrew Ng
格式要求:
- 分组输出,每个分类带 emoji 标识,顺序固定:🧠→🔧→🚗→📋
- 每个分类内最重磅一条用 ⭐ 标记(仅一条)
- 标题:AI 重写,凝练有信息量,不是原标题照搬
- 标题带超链接指向真实 URL(markdown
[文字](URL)格式) - 摘要:2-3 句,有具体信息(数字、产品名、技术点),不空泛
- 来源行用
🔗 来源名,不直接贴 URL - 如果某个分类当日无新闻,跳过该分类,不输出空板块
- 每条控制在 3 行以内(标题+摘要+来源)
- 分隔线用 ━━
- 结尾英文名人名言,每天换一条,优先选科技/创新/思维类
飞书文档同步
每日推送后,将内容同步到飞书文档库:
- 首次运行时用
feishu_doc的createaction 创建文档,标题格式:晨报存档- 必须传
owner_open_id为当前用户的 open_id,确保用户有完整权限 - 创建后把
doc_token存到data/config.json
- 必须传
- 后续每天用
appendaction 追加当天晨报内容 - 追加内容格式(markdown):
## 2026年5月12日 星期一 ### 🧠 AI & 模型 - ⭐ [标题](URL) — 摘要 - [标题](URL) — 摘要 ### 🔧 产品 & 工具 - [标题](URL) — 摘要 ### 🚗 产业 & 硬件 - ⭐ [标题](URL) — 摘要 ### 📋 政策 & 动态 - [标题](URL) — 摘要 ---
新闻池管理
池文件:data/news-pool.json
{
"meta": { "version": 1 },
"pool": [
{
"title": "...",
"url": "...",
"source": "...",
"category": "ai",
"summary": "...",
"fetchedAt": "ISO date",
"score": 7.5,
"tier": "high",
"carryOver": false,
"pushedDate": null
}
],
"history": ["2026-05-11", "2026-05-10"],
"lastUpdate": "2026-05-12T08:00:00+08:00"
}
池维护规则:
- 每天采集前先清理:移除
fetchedAt超过 3 天的、tier: "discarded"的 carryOver: true的保留,但最多再留 1 天- 已推送的保留 1 天后清理
- 池容量上限 100 条,超了按 score 从低到高删
执行步骤(cron 触发时)
- 读取
data/news-pool.json,清理过期新闻 - 多轮搜索采集 50+ 条新闻,去重后加入池(
tier: "raw",category: null) - 对所有
tier: "raw"的新闻评分 + 分类,更新 score、tier、category - 从
tier: "high"中选 8-10 条推送(注意分类覆盖),标记pushedDate - 未选中的 high 值新闻标记
carryOver: true - 按分组格式化晨报内容
- 推送到飞书聊天(通过 cron announce)
- 读取
data/config.json获取 feishuDocToken,追加到飞书文档 - 保存更新后的 news-pool.json、quotes-used.json 和 history
- 结束
名人名言库
轮换池,避免重复:
"The best way to predict the future is to invent it." — Alan Kay
"Any sufficiently advanced technology is indistinguishable from magic." — Arthur C. Clarke
"Innovation distinguishes between a leader and a follower." — Steve Jobs
"The only way to do great work is to love what you do." — Steve Jobs
"Stay hungry, stay foolish." — Steve Jobs
"Technology is anything that wasn't around when you were born." — Alan Kay
"The most dangerous phrase is: We've always done it this way." — Grace Hopper
"Science is what we understand well enough to explain to a computer; art is everything else. — Donald Knuth"
"Simplicity is the ultimate sophistication." — Leonardo da Vinci
"The question of whether computers can think is like the question of whether submarines can swim." — Edsger Dijkstra
"First, solve the problem. Then, write the code." — John Johnson
"Measuring programming progress by lines of code is like measuring aircraft building progress by weight." — Bill Gates
"Premature optimization is the root of all evil." — Donald Knuth
"The Web does not just connect machines, it connects people." — Tim Berners-Lee
"Artificial intelligence is the new electricity." — Andrew Ng
"The biggest risk is not taking any risk." — Mark Zuckerberg
"We choose to go to the moon not because it is easy, but because it is hard. — John F. Kennedy"
"In the middle of difficulty lies opportunity." — Albert Einstein
"Logic will get you from A to B. Imagination will take you everywhere." — Albert Einstein
"The advance of technology is based on making it fit in so that you don't really even notice it." — Bill Gates
随机选一条,记录已用过的避免短期内重复。所有用过的记入 data/quotes-used.json 的 used 数组,当 pool 耗尽时清空 used 重新开始。
目录结构
skills/morning-briefing/
├── SKILL.md # 本文件 — 完整流程指引
├── README.md # 项目说明(GitHub/ClawHub 展示)
├── data/
│ ├── config.json # 飞书文档 token 等配置
│ ├── news-pool.json # 新闻池
│ └── quotes-used.json # 已用名言记录
配置说明
前置依赖
- web_search:需要 Tavily API Key(配置为 OpenClaw 搜索提供者)
- feishu_doc:需要飞书应用开启文档权限(OpenClaw feishu channel 内置)
- cron:通过 OpenClaw cron job 定时触发
Cron 配置示例
{
"label": "morning-briefing",
"schedule": "30 7 * * *",
"timezone": "Asia/Shanghai",
"task": "执行晨报系统。请读取 SKILL.md 获取完整流程指引,然后按步骤执行:1.清理新闻池 2.多轮搜索采集50+条科技新闻 3.评分分类 4.按分组格式化晨报 5.推送 6.同步飞书文档 7.更新池和名言记录。",
"timeout": 120
}