系列说明:此前「Agent Skills 开发实战」专栏已全部完结,完整讲解 Skill 底层开发、编排、项目落地。

全新开启 Skill 应用实战系列,不再从零教你写技能,每个应用都交付完整可运行的成品:标准 SKILL.md 定义文件 + 可执行脚本 + 配置模板,小白复制即可部署。
配套资源已上传至本人主页资源区,本文可直接绑定资源包自助下载。

一、前言:每天刷资讯,你是不是也踩中这些痛点?

做 AI、研发、产品的朋友,每天必须刷量子位、掘金跟进行业动态,但长期存在 3 个无解问题:

1、信息过载:平台混杂营销软文、标题党、行业广告,100 条资讯里有效内容不足 30%,手动筛选至少耗费 1 小时;

2、重复资讯泛滥:同一技术新闻多平台转发,反复阅读浪费时间;

3、需要每日定点汇总:每天主动打开两个平台翻找,容易遗漏前两日关键技术动态。

网上大部分 Python 资讯爬虫仅实现 “抓取 + 发邮件”,缺少 AI 行业过滤、长期去重、定时调度、适配 Trae/OpenClaw 双 Agent 平台的完整工程化方案。

本文带来ai-news-daily 资讯聚合 Skill,完整流水线:多平台采集→AI 资讯过滤→双重去重→结构化摘要→定时邮件推送,完美适配 Traework 定时任务、OpenClaw 运行环境,零基础小白按步骤配置即可实现每日 8 点自动接收纯净 AI 行业日报。

✅ 读完本文你能收获

1、完整可落地资讯聚合 Agent Skill,配套SKILL.md、Python 主脚本、默认配置文件;

2、掌握双平台(Trae/OpenClaw)部署流程,支持无人值守定时自动执行;

3、双重去重机制,杜绝重复资讯、广告、无关杂讯;

4、标准化日志、异常容错、邮件重试兜底,线上稳定运行无中断;

5、全套可直接下载资源包,无需逐段复制代码。

二、ai-news-daily Skill 核心能力一览

2.1 核心功能清单

1、双数据源采集:量子位 RSS 稳定抓取、掘金官方文章接口双渠道兜底;

2、AI 内容过滤:自动识别 AI、大模型、Agent、机器学习相关资讯,过滤财经、职场、生活类无关内容,优先保留国内 AI 落地资讯;

3、双重去重机制

  • 单次运行去重:剔除同一条跨平台重复资讯;
  • 长期持久去重:30 天历史记录存档,已推送资讯不再重复发送;

4、智能摘要压缩:每条资讯生成 200 字内核心摘要,省去点开原文阅读;

5、定时自动化推送:Trae 配置每日 08:00 自动执行,无需人工触发;

6、全链路容错设计:单平台抓取失败不阻塞整体、邮件发送 3 次自动重试、日志完整留存 30 天;

7、统一结构化输出:本地 JSON 存档 + 格式化邮件简报 + 执行状态摘要。

2.2 适用人群

  • AI 研发、大模型工程师、产品经理、行业研究员;
  • 想自动化获取纯净行业资讯,拒绝碎片化刷 APP;
  • 使用 Trae/OpenClaw 做本地 Agent 工作流的开发者。

三、Skill 完整架构与执行流程

3.1 目录结构(运行自动生成)

Plain Text
ai-news-daily/
├── config.json              # 邮箱、采集规则配置文件
├── scripts/
│   └── run_daily.py         # 完整执行主脚本
├── data/
│   ├── dedup_registry.json  # 30天去重记录库
│   └── news_日期.json       # 当日结构化资讯存档
└── logs/
    └── ai_news_daily_日期.log # 全流程运行日志

3.2 六步完整执行链路

1、环境初始化:读取配置,无配置文件自动生成默认模板,创建数据、日志文件夹;

2、多平台并行采集:量子位 RSS 优先,掘金 API 为主,接口失效自动切换页面抓取兜底;单平台失败仅记录日志,不中断整体流程;

3、AI 资讯过滤:通过关键词匹配,仅保留 AI 技术、国产大模型、智能体落地相关内容;剔除广告、无关职场、娱乐资讯;

4、双层去重清洗:统一 URL 去追踪参数,哈希存储 30 天资讯记录,已推送内容直接过滤;

5、邮件格式化推送:按平台分组排版简报,优先调用 OpenClaw 内置 himalaya 发信工具,无工具则使用 SMTP 邮件;发送失败自动 3 次退避重试;

6、日志归档 + 状态输出:完整记录每条采集、过滤、发送记录,任务结束输出一行状态摘要,方便调度系统识别执行结果。

四、SKILL.md 核心规范

4.1 基础定义

yaml
---
name: ai-news-daily
description: "每日自动采集昨日与前一天AI热点资讯(量子位/掘金),结构化处理后通过邮件推送至指定邮箱。当需要采集AI新闻、生成每日资讯日报、执行定时资讯推送或发送资讯邮件时触发使用。"
---

4.2 触发场景

只要发送以下指令,即可手动执行资讯采集推送:

1、采集昨日、前天 AI 行业新闻,生成资讯日报;

2、从量子位、掘金抓取最新 AI 热点;

3、将整理好的 AI 资讯发送至指定邮箱;

4、Trae 定时任务配置:执行 ai-news-daily 完整流程。

4.3 默认配置参数说明(config.json)

资源包内自带完整配置模板,小白仅需修改邮箱 SMTP 授权码、收件人即可使用,关键参数:

  • lookback_days=2:默认采集昨日 + 前天两天资讯;
  • max_total_items=30:单轮最多汇总 30 条有效资讯,避免邮件过长;
  • retention_days=30:去重记录、日志自动清理 30 天前数据,不占用磁盘;
  • send_attempts=3:邮件发送失败自动重试 3 次。

4.4 资讯输出示例

五、双平台部署实操教程

方案 1:Traework 定时无人值守部署(推荐)

1. 登录 Traework 平台,进入自动化/定时任务模块;

2. 新建定时任务,触发时间设置为每日 08:00;

3. 任务类型选择“执行 Skill”,绑定 ai-news-daily 技能;

4. 保存后即可每天自动运行,无需手动打开 Trae IDE。

方案 2:Trae IDE手动触发

如果你只在 Trae IDE 中使用,由于 IDE 本身不支持后台定时执行,需要每天上班时打开 Trae,通过对话或手动触发该 Skill 来运行。适合临时查看资讯,不适合无人值守场景。

方案 3:OpenClaw 手动 / 脚本调用部署

1、将技能文件夹复制至~/.openclaw/skills/

2、在 OpenClaw 对话输入指令:执行 ai-news-daily 完整流程;

3、底层自动调用scripts/run_daily.py,优先使用内置 himalaya 工具发送邮件;

4、可搭配 OpenClaw 定时插件,实现每日自动执行。

六、核心脚本代码框架

资源包提供完整可运行源码,此处展示主逻辑骨架,方便快速理解整体流程:

python
#!/usr/bin/env python3
"""AI 资讯日报:采集 → 结构化 → 去重 → 邮件发送 → 日志归档"""
import json, logging, smtplib, hashlib, datetime as dt
from email.mime.text import MIMEText
from pathlib import Path
TZ = dt.timezone(dt.timedelta(hours=8))

# 1. 日志初始化
def setup_logger(log_dir: Path, date_str: str) -> logging.Logger:
    ...
# 2. 加载/自动生成配置文件
def load_config() -> dict:
    ...
# 3. 平台统一采集适配器(量子位RSS/掘金API)
def fetch_platform(name: str, cfg: dict, log: logging.Logger) -> list[dict]:
    ...
# 4. URL清洗、AI资讯关键词过滤、双重去重
def normalize_url(url: str) -> str:
    ...
def is_ai_related(title: str, summary: str) -> bool:
    ...
def dedup(items: list[dict], cfg: dict, log: logging.Logger) -> list[dict]:
    ...
# 5. 邮件模板渲染、SMTP重试发送
def render_email(items: list[dict], target: str) -> str:
    ...
def send_email(cfg: dict, subject: str, body: str, log: logging.Logger) -> bool:
    ...

def main() -> None:
    # 完整任务执行主流程
    cfg = load_config()
    today = dt.datetime.now(TZ)
    end_date = (today - dt.timedelta(days=1)).strftime("%Y-%m-%d")
    start_date = (today - dt.timedelta(days=cfg["run"]["lookback_days"])).strftime("%Y-%m-%d")
    log = setup_logger(Path(cfg["logging"]["dir"]), end_date)
    
    # 多平台采集、过滤、去重、发送
    collected = []
    # 循环采集所有启用平台
    # 过滤AI相关资讯
    # 执行双重去重
    # 生成邮件并发送
    # 输出最终状态摘要
if __name__ == "__main__":
    main()

七、落地避坑 7 条指南

⚠️ 坑 1:SMTP 授权码硬编码提交文件
解决方案:config.json 加入.gitignore,敏感凭据通过环境变量注入,禁止上传到代码仓库。

⚠️ 坑 2:掘金接口频繁 403、反爬拦截
解决方案:技能内置 RSS 兜底方案,掘金 API 失效自动切换页面抓取,无需手动修改代码。

⚠️ 坑 3:资讯重复每日反复推送
解决方案:开启持久化去重,data/dedup_registry.json 留存 30 天记录,已推送资讯自动过滤。

⚠️ 坑 4:单平台抓取失败直接中断全流程
解决方案:每个平台独立 try/except 捕获异常,单个渠道故障仅记录日志,不影响另一平台采集与邮件推送。

⚠️ 坑 5:邮件发送失败无提醒、无备份
解决方案:最多 3 次自动重试,全部失败则将邮件正文保存至 data 文件夹,方便人工补发。

⚠️ 坑 6:日志无限堆积占用磁盘
解决方案:配置自动清理 30 天前日志与去重记录,无需手动删除文件。

⚠️ 坑 7:采集资讯混杂大量广告、无关内容
解决方案:内置 AI 行业关键词过滤,自动剔除职场、营销、非技术类资讯,优先筛选国内 AI 落地案例。

八、配套资源领取

全套落地资源包已上传本人主页资源区,可直接自助下载,包含:

1、ai-news-daily 完整 SKILL.md规范文件;

2、可直接运行的主脚本。

九、系列回顾

往期完结系列

「Agent Skills 开发实战」完整 12 篇专栏,从基础概念、单技能开发、多技能串联、半自动化编排到 2026 Agent Skills 落地手册,完整覆盖 Skill 底层工程开发。

全新 Skill 应用系列规划(持续更新)

01 本期:资讯聚合Skill,AI行业每日简报自动推送

十、文末互动

你平时每天会花费多久刷行业资讯?是否遇到资讯杂乱、重复内容过多的问题?
如果需要调整采集平台、自定义资讯过滤关键词,欢迎在评论区留言,后续会针对大家需求迭代优化 Skill 配置模板。

觉得本文自动化资讯聚合 Skill 对你有帮助,欢迎点赞👍 + 收藏⭐ + 关注,持续更新开箱即用的 Agent 实战技能!

Logo

AtomGit AI 社区提供模型库、数据集、Agent、Token等资源

更多推荐