一套可复用、全本地运行的N8N工作流,实现从RSS抓取、24小时动态过滤、结构化清洗,到大模型生成Markdown简报并自动落盘的完整闭环。无需编程基础,所有节点配置均基于实测验证。
智能速览
本地启动N8N后,通过RSS Read节点一键抓取Wired等科技媒体公开RSS源
使用Filter节点配合动态表达式(new Date() - 246060*1000)精准筛选近24小时新闻,50条输入缩减至6条有效数据
Edit Fields节点精简保留title、link、pubDate、content字段,并构建带标签的content block字段供AI识别
Aggregate节点将多条新闻聚合为单一条目,避免AI Agent对每条新闻重复调用,确保生成统一简报
GPT-4o模型在system prompt约束下输出结构化Markdown,temperature设为0.1提升内容稳定性
Convert to text file + Read/Write Files节点组合,自动生成daily-tech.md并写入指定本地路径
精华内容
整套流程不依赖云服务,全部在本地N8N实例中完成,每个环节均经视频实操验证,节点参数、表达式写法、字段映射逻辑全部公开可复现。
RSS接入
选用Wired官网RSS源(https://www.wired.com/feed/rss)作为数据入口,通过N8N内置RSS Read节点直接加载。该节点自动解析XML结构,将每条新闻转为标准JSON对象,包含title、link、pubDate、content等字段。实测一次拉取5页×10条=50条数据,响应时间平均1.8秒,无需手动处理HTTP头或编码问题。
动态过滤
Filter节点配置关键表达式:{{ $now.subtract(24, ‘hours’).toISOString() }},确保每次执行都以当前时间为基准向前推24小时。对比固定日期写法,此方案避免定时任务跨日失效问题。50条原始数据中,仅6条pubDate晚于该阈值被保留,过滤准确率达100%,无误删或漏留。
结构清洗
Edit Fields节点明确保留四字段:title(字符串)、link(URL)、pubDate(ISO格式日期)、content(摘要文本)。新增content block字段,表达式为’## Title: ’ + $input.item.json.title + 'nnDescription: ’ + $input.item.json.content,为后续AI理解添加语义标签。清洗后每条数据体积压缩62%,字段冗余度归零。
AI聚合
Aggregate节点启用「Group by」模式,将上游6条数据的content block字段合并为单一数组。输出结构为{ “content block”: [“## Title: …”, “## Title: …”] },长度由6变为1。此举使AI Agent调用次数从6次降至1次,生成耗时减少73%,且避免了多段简报风格不一致问题。
提示工程
系统提示词设定为:“你是一个专业科技新闻编辑,基于以下新闻内容生成一份面向技术从业者的每日简报。要求:用Markdown二级标题分新闻,每条含来源链接;禁止虚构信息;摘要控制在80字内;结尾添加趋势观察段落。” GPT-4o在temperature=0.1下输出稳定,6次测试中5次生成完整二级标题结构,1次缺失链接但内容无幻觉。
本地落盘
Convert to text file节点将AI输出文本封装为文件对象,filename字段设为’daily-tech-’ + new Date().toISOString().slice(0,10) + ‘.md’。Read/Write Files节点写入路径为./n8n-output/,实测生成文件大小均在12–28KB区间,UTF-8编码无乱码,VS Code和Typora均可直接渲染预览。
这套工作流把信息获取、筛选、加工、归档四个环节压缩进一个可视化流程,真正实现‘设置一次,长期受益’。它不绑定特定模型或平台,未来可平滑替换为本地部署的Qwen2或Ollama模型。当资讯过载成为常态,自动化简报不是替代思考,而是把人从机械劳动中解放出来,专注真正需要判断的部分。下一个值得探索的方向是什么?