乐于分享
好东西不私藏

OpenClaw 实战连载①:AI 新闻推送,上篇说"1+1>2",工作流在这

OpenClaw 实战连载①:AI 新闻推送,上篇说"1+1>2",工作流在这

开篇

上篇文章《我把 AI 助手"养"在笔记本上:3 个月实测,这 5 个坑别踩[1]》里,我写了段话:

"技能组合:1+1>2。单个技能没什么特别的,真正的威力在于组合使用。"

然后放了张流程图:

早上 7 点自动执行:
1. 读取昨晚的邮件 → 2. 提取待办事项 
→ 3. 写入 Excel 表格 → 4. 生成 Word 日报
→ 5. 发送到我的 Telegram

文章发出去后,有读者留言:

"所以工作流怎么配?给个例子啊。"

上篇我确实提了"技能组合",但真没给具体怎么把技能串起来。

这 3 个月,我搭建了 5 个工作流,每天都在跑。其中AI 新闻推送这个工作流,从踩坑到稳定,跑了整整 2 天。

今天开始,用 7 篇连载,把后续的代码和使用全交出来。

这是第 1 篇:AI 新闻推送。


一、工作流目标

场景: 我每天想知道 AI 领域发生了什么,但手动刷太累。

之前: 早上花 30 分钟刷 36 氪、机器之心、arXiv、Twitter。

目标: 每天早上自动推送 10 条新闻,分类整理,来源多样。

约束:

  • 新闻必须是最近 48 小时的
  • 单一来源不超过 3 条
  • 国际来源至少 40%

二、工作流设计

2.1 流程图

┌─────────────────────────────────────────────────┐
│  每天早上自动触发                                │
└─────────────────┬───────────────────────────────┘
                  │
                  ▼
┌─────────────────────────────────────────────────┐
│  第 1 步:5 轮 multi-search-engine 搜索          │
│  - AI 技术 最新进展 最近 2 天                    │
│  - 大模型 LLM 发布 昨天 今天                     │
│  - Agent 智能体 新框架 最新发布                  │
│  - AI 硬件 芯片 端侧 2026 年 3 月                 │
│  - 机器学习 算法 突破 本周                       │
└─────────────────┬───────────────────────────────┘
                  │
                  ▼
┌─────────────────────────────────────────────────┐
│  第 2 步:抓取 arXiv 最新论文(2 个分类)        │
│  - https://arxiv.org/list/cs.CL/recent         │
│  - https://arxiv.org/list/cs.LG/recent         │
└─────────────────┬───────────────────────────────┘
                  │
                  ▼
┌─────────────────────────────────────────────────┐
│  第 3 步:筛选 10 条新闻(严格规则)             │
│  - 国际来源 ≥4 条(≥40%)                       │
│  - 单一来源 ≤3 条,总来源≥5 个                   │
│  - 只选最近 48 小时内的新闻                      │
└─────────────────┬───────────────────────────────┘
                  │
                  ▼
┌─────────────────────────────────────────────────┐
│  第 4 步:按分类整理                              │
│  - 热点头条(1-2 条)                            │
│  - 大模型技术                                    │
│  - Agent 与智能体                                │
│  - 行业洞察 + 趋势表格                           │
└─────────────────┬───────────────────────────────┘
                  │
                  ▼
┌─────────────────────────────────────────────────┐
│  第 5 步:推送到钉钉                              │
│  - 附带抓取状态                                  │
│  - 新闻日期范围                                  │
└─────────────────────────────────────────────────┘

2.2 涉及技能

技能 用途 调用次数
multi-search-engine 5 轮中文搜索(17 个引擎) 5 次
web_fetch 抓取 arXiv 论文 2 次
内置 AI 筛选、分类、撰写描述 1 次
钉钉 Bot 推送消息 1 次

2.3 工作流配置

// ~/.openclaw/cron/jobs.json
{
  "id": "ai-tech-daily-search",
  "name": "AI 技术新闻每日搜索",
  "schedule": {
    "kind": "cron",
    "expr": "0 7 * * *",
    "tz": "Asia/Shanghai"
  },
  "sessionTarget": "isolated",
  "payload": {
    "kind": "agentTurn",
    "message": "【工作流】执行 AI 新闻推送:5 轮搜索→arXiv 抓取→筛选 10 条→分类→推送"
  },
  "delivery": {
    "mode": "announce",
    "channel": "ddingtalk",
    "to": "ddingtalk:chat:xxx"
  }
}

三、关键代码

3.1 搜索命令(5 轮)

# 第 1 轮:综合搜索(国内 + 全球引擎)
npx multi-search-engine "AI 技术 最新进展 最近 2 天" --num 20

# 第 2 轮:大模型
npx multi-search-engine "大模型 LLM 发布 昨天 今天" --num 20

# 第 3 轮:Agent
npx multi-search-engine "Agent 智能体 新框架 最新发布" --num 20

# 第 4 轮:AI 硬件
npx multi-search-engine "AI 硬件 芯片 端侧 2026 年 3 月" --num 20

# 第 5 轮:机器学习
npx multi-search-engine "机器学习 算法 突破 本周" --num 20

multi-search-engine 优势:

  • 17 个引擎(8 国内 +9 全球)
  • 无需 API 密钥
  • 自动去重
  • 支持时间过滤

3.2 arXiv 抓取

web_fetch({"url""https://arxiv.org/list/cs.CL/recent""extractMode""text""maxChars"3000})
web_fetch({"url""https://arxiv.org/list/cs.LG/recent""extractMode""text""maxChars"3000})

3.3 筛选规则(由 AI 自动执行)

说明: 实际实现中,筛选规则写在定时任务的提示词里,由 AI 自动执行,无需独立代码。为帮助理解,以下用伪代码展示逻辑:

def select_news(all_results):
    selected = []
    sources = {}
    international_count = 0
    
    for news in all_results:
        # 检查日期(最近 48 小时)
        if not is_recent_48h(news.date):
            continue
        
        # 检查来源多样性
        if sources.get(news.source, 0) >= 3:
            continue
        
        # 优先 arXiv 论文
        if is_arxiv(news):
            international_count += 1
        
        selected.append(news)
        sources[news.source] = sources.get(news.source, 0) + 1
        
        if len(selected) >= 10:
            break
    
    # 验证国际来源占比
    if international_count < 4:
        # 补充国际新闻
        fill_international_news(selected)
    
    return selected

实际提示词片段:

强制规则:
- 国际来源 ≥4 条(≥40%)
- 单一来源 ≤3 条,总来源≥5 个
- 只选最近 48 小时内的新闻
- arXiv 论文优先

四、输出示例

【AI 技术日报】

## 热点头条
1. XXX 发布新模型,参数 XXX
   来源:[36 氪](链接)
   描述:2-5 句话...

## 大模型技术
2. XXX 论文,arXiv:xxxx.xxxxx
   来源:[arXiv](链接)
   描述:...

## 趋势表格
| 技术领域 | 关键进展 | 代表产品 | 影响 |

【抓取状态】
arXiv CS.CL: ✅
arXiv CS.LG: ✅
国际来源共 X 条,占比 X%

五、踩的坑

坑 1:日期过滤不准

第一次运行时,抓到了旧闻——AI 以为"最新"就是最近的。

解决:

  • 提示词明确写"最近 48 小时""昨天和前天"
  • arXiv 论文用 ID 判断
  • 看到日期超过 2 天的直接丢弃

坑 2:来源太单一

第一天推送的新闻,大部分来自同一家——我自己都看不下去了。

解决:

  • 强制规则:单一来源≤3 条
  • 总来源≥5 个
  • 国际来源≥40%(arXiv 优先)

坑 3:执行时间太长

第一次跑了 9 分钟——等得太久。

解决:

  • 优化搜索轮次(从 8 轮减到 5 轮)
  • 用搜索引擎内置摘要(不抓取详情页)
  • 现在稳定在 150-250 秒

六、成果

稳定运行后的数据:

指标 数值
执行时间 150-250 秒
推送成功率 100%
新闻准确率 约 95%
来源多样性 平均 7 个来源/天
国际来源占比 40-50%
节省时间 每天 30 分钟

七、下篇预告

第 2 篇:邮件自动处理

上篇工作流示例的第 1 步:"读取昨晚的邮件 → 提取待办事项"

  • 每天早上自动处理昨晚的邮件
  • 常见问题自动回复(用我的语气)
  • 敏感邮件转人工
  • 从 60 分钟 → 10 分钟

你在搭建 AI 助手时踩过什么坑?欢迎留言交流。

关注我,不错过后续 6 篇实战连载。

引用链接

[1]我把 AI 助手"养"在笔记本上:3 个月实测,这 5 个坑别踩: https://mp.weixin.qq.com/s/lBGAaNHcWqTnHRCsTb5YxA