使用 n8n 构建自动化科技新闻速览工作流:从 RSS 到 AI 摘要生成与文件存储
每天只需 5 分钟,掌握全球科技动态。本文手把手教你搭建一个基于 n8n 的自动化工作流,实现科技新闻的自动采集、过滤、整合、AI 摘要生成与文件存储。
一、背景:为什么我们需要自动化科技新闻速览?
在信息爆炸的时代,每天都有大量科技新闻涌现:
- OpenAI 推出 AI 浏览器 Atlas
- 苹果发布搭载 M5 芯片的 iPad Pro
- 三星发布 Galaxy XR 混合现实头显
- NASA 叫板 SpaceX 月球着陆器进度
手动筛选这些信息耗时耗力。而借助 n8n,我们可以构建一个自动化工作流,实现:
- 自动获取最新科技新闻
- 过滤出当天发布的内容
- 使用 AI 生成简洁摘要
- 保存摘要到本地文件
- 定时推送每日速览
下面,我们将逐步拆解这个工作流的每个节点。
二、n8n 工作流搭建详解
1. Trigger 节点:定时触发工作流
作用:设定工作流的执行时间,例如每天上午 8 点自动启动。
配置步骤:
- 选择 “Schedule Trigger” 节点
- 设置 Cron 表达式:
0 8 * * *表示每天 8:00 执行 - 可设置时区,如
Asia/Shanghai
Cron 表达式示例:
0 8 * * * # 每天 8:00
0 9,18 * * * # 每天 9:00 和 18:00
*/30 * * * * # 每 30 分钟
✅ 提示:n8n 支持 Cron 表达式,也提供了可视化时间选择器。
2. RSS 节点:获取科技新闻源
作用:从指定的 RSS 源拉取最新科技新闻。
配置步骤:
- 选择 “RSS Feed Read” 节点
- 填入 RSS 地址,例如:
- 《连线》杂志:
https://www.wired.com/feed/rss - TechCrunch:
https://techcrunch.com/feed/ - The Verge:
https://www.theverge.com/rss/index.xml
- 《连线》杂志:
输出格式:
每条新闻包含:
title- 新闻标题link- 原文链接pubDate- 发布时间contentSnippet- 内容摘要
🔗 RSS(简易信息聚合)是一种标准化格式,常用于新闻、博客等频繁更新的内容。
3. Filter 节点:筛选今日新闻
作用:只保留当天发布的新闻,避免重复处理旧内容。
配置步骤:
- 选择 “Filter” 节点
- 设置条件模式为 “Expression”
- 使用 n8n 表达式:
// 方法1:简单日期比较
{{ new Date($json.pubDate).toDateString() === new Date().toDateString() }}// 方法2:时间范围过滤(最近24小时)
{{ new Date() - new Date($json.pubDate) < 24 * 60 * 60 * 1000 }}
高级过滤:
还可以添加关键词过滤,只关注特定领域的新闻:
{{ new Date($json.pubDate).toDateString() === new Date().toDateString() &&($json.title.includes('AI') ||$json.title.includes('苹果') ||$json.title.includes('OpenAI'))
}}
📅 注意:RSS 中的
pubDate通常是字符串,需转换为 Date 类型进行比较。
4. Data Transform 节点:格式化新闻内容
作用:将标题和内容合并为对大模型友好的格式。
配置步骤:
- 选择 “Edit Fields” 节点
- 设置模式为 “Manually”
- 添加一个新字段
formattedContent - 使用表达式合并标题和内容:
// 基础版本
"Title: " + $json.title + "\nContent: " + $json.contentSnippet + "\nLink: " + $json.link + "\n\n"// 增强版本(添加发布时间)
"发布时间: " + new Date($json.pubDate).toLocaleString('zh-CN') + "\n标题: " + $json.title + "\n内容: " + $json.contentSnippet + "\n原文链接: " + $json.link + "\n" + "=".repeat(50) + "\n"
输出示例:
发布时间: 2025/3/20 10:30:00
标题: OpenAI推出Atlas浏览器
内容: 基于ChatGPT的全新网页浏览器,旨在重新定义人们使用网络的方式...
原文链接: https://example.com/news/123
==================================================
🧠 提示:清晰的格式能帮助 AI 更好地理解内容结构,分隔符让每条新闻界限分明。
5. Aggregate 节点:合并所有新闻
作用:将多条新闻合并为一个字符串,便于后续 AI 处理。
配置步骤:
- 选择 “Aggregate” 节点
- 设置操作类型为 “Concatenate”
- 选择要合并的字段:
formattedContent - 设置分隔符为
\n(或自定义分隔符)
高级配置:
- 可以按字段分组聚合
- 支持多种聚合函数(计数、求和、平均等)
- 可设置排序规则
输出结果:
将所有新闻拼接成一个长文本,每条新闻格式统一,便于 AI 处理。
6. AI Agent 节点:生成新闻摘要
作用:使用大模型对合并后的新闻进行摘要生成。
配置步骤:
-
选择 “AI Agent” 或 “OpenAI” 节点
-
配置模型参数:
- 模型:
gpt-4或gpt-3.5-turbo temperature: 0.3(平衡创造性与准确性)max_tokens: 2000(控制输出长度)
- 模型:
-
编写专业 Prompt:
你是一名专业的科技新闻编辑,请将以下新闻整理成一份简洁的每日科技速览。要求:
1. 按栏目分类:AI动态、硬件新品、行业要闻、安全警示、环境科技等
2. 每条新闻用1-2句话概括核心信息
3. 保留关键数据、产品名称、公司名称
4. 语言简洁专业,适合技术人员阅读
5. 在开头显示今日日期:{{ new Date().toLocaleDateString('zh-CN') }}
6. 在结尾添加"--- 由n8n工作流自动生成 ---"今日新闻内容:{{ $json.aggregatedData }}
temperature参数详解:
0:确定性最高,适合摘要、分类等任务0.3-0.7:平衡模式,适合内容创作1:创造性最强,适合创意生成、故事写作
7. Convert to File 节点:格式化为文件
作用:将 AI 生成的摘要转换为文件格式,便于存储和分发。
配置步骤:
- 选择 “Convert to File” 节点
- 设置文件格式:
- MIME Type:
text/markdown(推荐)或text/plain - File Name: 使用动态文件名
- MIME Type:
// 动态文件名示例
"科技新闻速览-" + new Date().toISOString().split('T')[0] + ".md"// 或者包含具体时间
"科技新闻-" + new Date().toLocaleDateString('zh-CN').replace(/\//g, '-') + ".txt"
- Data: 选择 AI 节点输出的内容字段,如
$json.choices[0].message.content
支持的文件格式:
- 📄 Markdown (.md) - 适合技术文档
- 📝 纯文本 (.txt) - 通用格式
- 📊 JSON (.json) - 结构化数据
- 📑 PDF (.pdf) - 正式文档
输出结果:
生成一个包含文件二进制数据和元信息的对象:
{"data": "二进制文件数据","fileName": "科技新闻速览-2025-03-20.md","fileType": "text/markdown","mimeType": "text/markdown"
}
💡 提示:Markdown 格式便于后续发布到博客、GitHub 等平台。
8. Read/Write Files from Disk 节点:保存到本地
作用:将生成的文件保存到服务器本地磁盘。
配置步骤:
- 选择 “Read/Write Files from Disk” 节点
- 设置操作模式为 “Write”
- 配置路径参数:
// 文件路径配置
"/home/n8n/daily-news/" + $json.fileName// 或者相对路径(相对于n8n安装目录)
"storage/daily-news/" + $json.fileName
- File Content: 选择 Convert to File 节点输出的
data字段 - File Name: 选择 Convert to File 节点输出的
fileName字段
目录结构建议:
n8n-data/
├── storage/
│ └── daily-news/
│ ├── 2025-03/
│ │ ├── 科技新闻速览-2025-03-20.md
│ │ └── 科技新闻速览-2025-03-21.md
│ └── archive/
高级功能:
- 文件覆盖模式:可选择覆盖或重命名重复文件
- 目录自动创建:如果目录不存在会自动创建
- 权限设置:可设置文件读写权限
完整输出示例:
# 每日科技新闻速览 - 2025年3月20日## 🤖 AI动态
- OpenAI推出Atlas浏览器,基于ChatGPT重新定义网页浏览体验
- 联邦贸易委员会收到200多起ChatGPT相关投诉,涉及AI心理问题## 📱 硬件新品
- 苹果发布M5版iPad Pro,性能提升显著搭配iPadOS 26系统
- 三星正式发布Galaxy XR混合现实头显,搭载Android XR系统## 🚀 行业要闻
- NASA局长公开批评SpaceX月球着陆器进度拖延
- AWS宕机影响全美大学生在线学习,云服务稳定性受关注## ⚠️ 安全警示
- 世卫组织报告:耐药细菌发展速度快于抗生素研发---*由n8n工作流自动生成 | 数据来源: Wired RSS*
三、工作流完整架构
| 步骤 | 节点 | 功能 | 输出 |
|---|---|---|---|
| 1 | Schedule Trigger | 定时触发 | 触发信号 |
| 2 | RSS Feed Read | 获取新闻源 | 原始新闻数据 |
| 3 | Filter | 筛选今日新闻 | 过滤后的新闻 |
| 4 | Edit Fields | 格式化内容 | 标准化新闻格式 |
| 5 | Aggregate | 合并新闻 | 单一文本字符串 |
| 6 | AI Agent | 生成摘要 | 结构化摘要内容 |
| 7 | Convert to File | 格式化为文件 | 文件对象 |
| 8 | Read/Write Files | 保存到磁盘 | 本地文件 |
四、扩展应用场景
1. 多平台分发
在保存文件后,可以添加:
- Email 节点:发送到指定邮箱
- Slack 节点:推送到团队频道
- Git 节点:提交到 GitHub 仓库
2. 历史数据分析
- 使用 “Read File” 模式读取历史文件
- 结合 AI 进行趋势分析
- 生成周报、月报总结
3. 多语言支持
修改 AI Prompt 支持多语言输出:
"请生成英文版科技新闻摘要..."
// 输出文件名为 tech-news-{date}.en.md
五、部署与运行
启动 n8n:
npx n8n
访问 http://localhost:5678 进入可视化编辑器。
生产环境部署:
# 使用 Docker
docker run -it --rm \--name n8n \-p 5678:5678 \-v ~/.n8n:/home/node/.n8n \n8nio/n8n
目录权限配置:
确保 n8n 有写入权限:
mkdir -p storage/daily-news
chmod 755 storage/daily-news
六、总结
通过这个完整的 n8n 工作流,我们实现了:
🔹 自动化采集 - 从 RSS 源获取最新科技新闻
🔹 智能过滤 - 只处理当天相关内容
🔹 AI 摘要 - 生成专业级新闻速览
🔹 文件管理 - 自动保存为 Markdown 文件
🔹 持久化存储 - 建立新闻档案库
这个工作流展示了 n8n 在 AI 自动化领域的强大能力——将重复性工作交给机器,让人专注于创造性任务。
2025 年是 AI Agent 自动化元年,掌握 n8n 这类工具将极大提升个人与团队的信息处理效率。
附录:
- n8n 官方文档
- JavaScript Date 类型参考
- Cron 表达式生成器
- Markdown 语法指南
