场景:你还在手动刷搜索引擎查突发新闻?

昨天(2026年5月26日),比利时Buggenhout镇发生火车与校车相撞事故,多人死亡。如果你负责一个SaaS产品的用户沟通或安全监控,你需要在事故发生后几分钟内知道它是否影响你的服务所在区域。手动刷新闻?太慢。Google Alerts?延迟高、噪音大。

我过去运营一个跨境电商工具时,每天花30分钟检测全球突发事件——从港口罢工到极端天气。后来我用Tavily API + Claude + Zapier搭建了一个自动流水线,成本接近零,每次触发不到5秒出结果。

自动化后的效果对比

方式 延迟 噪音率 维护成本
手动刷Google News 1-2小时 40%
RSS + 关键词过滤 30分钟 20%
本文方案 (Tavily + AI) 3-5分钟 <5% 低(一次性配置)

事故发生后3分钟内,我的Bot就把“Belgium train collision school bus”事件摘要推到了Slack,附带中文要点和风险评级(对欧洲业务车辆影响:中)。

工具组合和流程图

text
1
[新闻源] → Tavily API (实时搜索) → [过滤/去重] → Claude API (摘要+风险判断) → Zapier (推送至Slack/飞书/Notion)

AI news monitoring workflow diagram

为什么选Tavily?

  • 比NewsAPI多了“结果排名”和“相关性打分”,且返回时间戳精确到秒
  • 免费层每日1000次请求,足够个人/小团队用
  • 支持指定源(如禁止某些草根网站,本文特意屏蔽了垃圾内容)

为什么加Claude?

  • 单纯Tavily返回的标题+片段噪音仍高,需要AI判断“是否对我重要”
  • Claude3.5 Haiku每百万token约$0.25,一次摘要不到0.1美分

关键节点配置

1. Tavily API 触发条件

我设置了一个定时触发器(每15分钟执行一次),搜索词动态拼接:

python
1
tavily_query = "train OR bus OR strike OR road accident OR fire OR power outage" + "site:reuters.com OR site:apnews.com OR site:bbc.com"

参数细节

  • days: 1(只搜最近1天)
  • max_results: 5(控制输入长度)
  • include_domains: 只允许白名单源,避免垃圾站
  • exclude_domains: 拦截所有“爆料”类网站

2. Claude提示词配置

markdown
1 2 3 4 5 6 7 8 9 10 11 12
你是一个突发事件分析师。以下是一组新闻搜索结果(JSON格式),请执行:
1. 识别出真正“重大”的事件(造成人员伤亡、基础设施中断、公司/机构声明)。
2. 对于每个重大事件,输出:
   - 事件标签(例如“交通事故/天气灾害/安全事件”)
   - 地点(国家+城市)
   - 影响范围(局部/区域/全球)
   - 一句话摘要(30字内)
3. 如果所有事件都不重大,输出“无重大事件”。

搜索结果:{tavily_results}

注意:只输出JSON列表,不要其他文字。

为什么必须JSON格式? 方便后续Zapier解析。

3. Zapier触发与推送

  • 触发:收到Claude输出的JSON数组,每个event单独推送
  • 动作:发送到Slack频道,格式包含emoji标记风险等级(🔴高、🟡中、🟢低)
  • 错误处理:如果Claude返回“无重大事件”,Zapier不发送消息(通过Filter步骤判断)

完整Zapier工作流截图可参考:Zapier workflow steps

常见问题和调试技巧

Q1:Tavily搜索返回陈旧结果怎么办?

  • 解法:强制设置days=0.5(半天),并启用news_domain参数。但注意Tavily免费版不支持实时流,仍然有1-2分钟缓存。
  • 替代方案:如果追求秒级,改用Twitter/X API监控认证新闻账号。

Q2:Claude总把普通交通事件误判成“重大”?

  • 调整提示词:要求“必须有‘死亡’、‘封路’‘官方警告’等关键词才判定为重大”。
  • 或者用few-shot示例:提供2个正面案例和2个负面案例。

Q3:每天超过免费额度怎么办?

  • 降低轮询频率(改成30分钟一次)
  • 使用缓存:如果最近1小时内相同搜索词的结果,不要重复调用。

Q4:推送内容太多,团队觉得吵?

  • 在Zapier里加一个规则:只推送事件标签为“安全/交通/自然灾害”的事件,忽略“政治选举/娱乐八卦”。
  • 或者在Claude提示词里加入“如果事件仅涉及娱乐明星或体育赛事,则标记为忽略”。

延伸:把这个工作流变成你的“突发王”

这套方案我用了一年多,它不只是一个新闻监控器——你可以调整搜索词来监控竞品动态、监管政策、DevOps中断事件。核心收获只有一个:配置一次后,你每天能省下3杯咖啡的时间,并且再也不会错过真正重要的事件。

如果你连Zapier都不想付费,可以本地跑Python脚本+Telegram Bot,成本更低。代码我放在这个Gist里:https://gist.github.com/shenzhixia/auto-news-monitor(已脱敏)。

明天早上,你打开Slack看到的不是100条无意义新闻,而是3条经过AI筛选的、附带影响分析的简报。这才是对开发者有价值的“技术阅读”。