每日新闻日报

Other

每日新闻自动采集与报告生成。使用 web_search (freshness=oneDay) 替代旧版 Bing/Tavily 方案,确保新闻均为24小时内真实最新。

Install

openclaw skills install daily-news-cn

每日新闻自动采集 v2.1

架构变更

v1.0 旧方案(已废弃)

组件方式致命问题
daily_news_query.pyBing 爬虫 (requests+bs4)❌ 无法可靠过滤旧闻,混入2023/2024年旧内容
daily_news_query.pyBing 爬虫❌ 大量网页噪声("网站地图"、"无障碍链接"等)
daily_news_tavily.pyTavily API❌ 完全无时间过滤,可能返回任何时间的内容

v2.0 新方案

组件方式优势
Agent + web_searchOpenClaw 内置工具freshness=oneDay 严格24小时过滤
✅ 权威媒体源(新华社/央视/澎湃等)
✅ 零外部依赖,无需额外配置

v2.1 格式硬约束(2026-05-27 新增)

  • ✅ 强制编号列表输出,禁止段落式摘要
  • ✅ 强制来源标注 + 可信度标记
  • ✅ 固定 8 个类别(白色家电独立)

触发方式

  1. 用户手动触发: 用户说"每日新闻"、"新闻日报"、"daily news"等
  2. 定时触发: OpenClaw cron 任务,每日工作日 08:30 自动执行(任务名:每日新闻日报 (v2.0)

执行流程

步骤 1: 确定日期

from datetime import datetime, timedelta
yesterday = datetime.now() - timedelta(days=1)
yesterday_str = yesterday.strftime('%Y年%m月%d日(周X)')
yesterday_short = f"{yesterday.month}月{yesterday.day}日"

步骤 2: 8轮 web_search 查询

对以下每个类别,依次调用 web_search,每轮必须带 freshness: "oneDay"

#Emoji类别搜索关键词
1🌍全球政治军事{yesterday_short} 全球 政治 军事 国际 冲突 外交
2🇨🇳中国政治军事{yesterday_short} 中国 政治 军事 政策 官方
3💰全球财经{yesterday_short} 全球 财经 股市 美股 原油 黄金 汇率
4📈中国财经{yesterday_short} 中国 A股 宏观经济 政策 LPR
5🤖AI/人工智能{yesterday_short} AI 人工智能 大模型 技术突破
6🔭科技领域{yesterday_short} 科技 半导体 新能源 航天 机器人
7📱消费电子{yesterday_short} 消费电子 手机 智能穿戴 PC
8🏠白色家电{yesterday_short} 白色家电 空调 冰箱 洗衣机 美的 海尔 格力

⚠️ 重要:必须严格执行 8 轮搜索,每轮一个类别,不得合并或跳过。

调用示例:

web_search:
  query: "5月20日 全球 政治 军事 国际 冲突 外交"
  freshness: "oneDay"     ← 必须!严格24小时过滤
  count: 10
  channel: "bocha"

步骤 3: 内容筛选与清洗

排除规则:

  • ❌ 排除娱乐/体育/游戏/电竞内容
  • ❌ 排除往年旧闻(描述中出现 2025年、2024年等往年日期)
  • ❌ 排除网页噪声("网站地图"、"无障碍"、"首页"等)

保留规则:

  • ✅ 优先权威媒体源:新华社、央视新闻、澎湃新闻、上海证券报、财新网、中国证券报、每日经济新闻、界面新闻等
  • ✅ 保留包含具体数据、人物、事件的条目
  • ✅ 跨类别去重

步骤 4: 生成报告(⚠️ 严格遵循格式)

⚠️ 格式铁律(违反 = 输出不合格)

  1. 每条新闻必须独立成行,使用 1. 2. 3. 编号,禁止用分号/逗号将多条新闻拼接成一段
  2. 每条必须标注来源和可信度,格式为:| 媒体名 🔴/🟡/⚪
  3. 固定 8 个类别,不得增删合并
  4. 每条结构**标题** — 一句话摘要。| 来源 🔴/🟡
  5. 每个类别 8-12 条,不足时如实标注"较少"

可信度标记规则

标记含义来源举例
🔴官方确认新华社、央视、澎湃、证监会、央行、政府官网、公司官网/公告
🟡工业媒体/专业媒体36氪、界面、财新、证券时报、IT之家、电子发烧友
第三方整合(仅作参考)论坛、博客、经销商页、自媒体

⚠️ 绝不把 ⚪ 级别数据当作事实直接输出,必须标注来源。

报告模板(必须严格按此格式)

# 📰 每日新闻日报 {yesterday_str}

## 📌 今日一句话总结

**[用一句话概括当天最重要的 2-3 条新闻,40 字以内]**

---

## 🌍 一、全球政治军事(X 条)

1. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
2. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
3. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
...

## 🇨🇳 二、中国政治军事(X 条)

1. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
2. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
...

## 💰 三、全球财经股市(X 条)

1. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
2. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
...

## 📈 四、中国财经股市(X 条)

1. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
2. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
...

## 🤖 五、AI 人工智能(X 条)

1. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
2. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
...

## 🔭 六、科技领域(X 条)

1. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
2. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
...

## 📱 七、消费电子(X 条)

1. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
2. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
...

## 🏠 八、白色家电(X 条)

1. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
2. **新闻标题** — 一句话摘要。| 来源 🔴/🟡
...

---

*完整报告已保存至 memory/daily_news_{YYYY-MM-DD}.md*

✅ 正确示例 vs ❌ 错误示例

✅ 正确写法:

## 💰 三、全球财经股市(11 条)

1. **SpaceX 提交 S-1 上市申请** — 估值 1.75-2 万亿美元,代码 SPCX,募资 700-750 亿美元,6月12日纳斯达克挂牌。| 36氪 🔴
2. **日经225首次突破 65000 点** — 中东局势缓和 + 科技股带动。| 上证报 🔴
3. **国际油价大跌超 5%** — WTI 跌至 91.36 美元/桶,布伦特跌至 98.12 美元/桶。| 路透 🟡

❌ 错误写法(禁止):

## 💰 三、全球财经股市

SpaceX 提交 S-1 上市申请,估值 1.75-2 万亿美元;日经 225 首次突破 65000 点;国际油价大跌超 5%,WTI 跌至 91.36 美元/桶,布伦特跌至 98.12 美元/桶;高盛警告原油库存以创纪录速度下降。

❌ 上面这种"电报式一段话"是严重格式错误!

步骤 5: 保存

报告保存到: memory/daily_news_{YYYY-MM-DD}.md


相关文件

文件状态说明
skills/daily-news/SKILL.md✅ 当前本技能文档
daily_news_query.py⚠️ 已废弃旧版 Bing 爬虫方案
daily_news_tavily.py⚠️ 已废弃旧版 Tavily API 方案
memory/daily_news_*.md✅ 历史存档每日报告存档

版本历史

版本日期变更
v2.12026-05-27格式硬约束:强制编号列表、来源标注、可信度标记;类别增至 8 个(白色家电独立)
v2.02026-05-21改用 web_search(freshness=oneDay),废弃 Bing/Tavily 方案
v1.02026-04-21初始版本:Bing 爬虫 + Tavily API 双方案