精品库

用 N8N + Qwen 打造自己的 AI 新闻聚合器和每日AI科技日报

n8n & 工作流 · 约 24 分钟阅读 · 系列教程

系列教程 · 可反复对照

本文介绍如何使用 N8N 打造自己的新闻聚合器:

安装运行

安装运行可以参考官方文档或者我之前的文章:

新闻来源

如果我们有经常阅读的网站,如果没有的话我们可以网上搜一下 RSS 新闻来源,就会有很多文章分享自己常用的新闻网站。

比如:

大家记住 RSS 地址不是来给我们阅读的,打开是一个 XML,比如这样:

图片

我们选取一些自己喜欢的网站即可,整理记录成如下格式:

[
  "https://www.theverge.com/rss/index.xml",
  "https://www.wired.com/feed/rss",
  "https://techcrunch.com/feed/"
]

N8n 流程

设置RSS源

首先新建一个空流程, 添加 Edit Fileds 节点用来记录我们的新闻网站来源,

添加 Edit Fileds 节点

新增一个字段,

效果如下:

新增字段

新增字段

点击上面的 Test step 按钮,测试当前流程,

测试当前流程

测试当前流程

执行成功可以看到右侧执行成功的标志,以及执行结果。

切分数据

关闭弹窗,再次搜索添加一个 Split out 节点:

搜索添加

搜索添加 Split out 节点

Split outSplit out 节点是指多个 RSS 站点拆分,每个站点分别执行后面逻辑。

字段填写上一步命名的 rss,点击测试查看节点执行结果如下:

填写上一步命名的

填写上一步命名的 rss 点击测试

读取新闻

搜索添加 RSS Read 节点,

图片

RSS Read 节点

点击测试,等一会就可以看到新闻结果,等待的时间长短和你的网络以及前面配置的 RSS 站点数量有关:

RSS 结果

RSS 结果

可以看到右侧有几十条新闻数据。

设置新闻格式

再添加一个 Edit Fields 字段,只处理我们需要的字段:

只处理我们需要的字段

只处理我们需要的字段

存储

下面我们添加一个节点来把读取到的文章存储到向量数据库里面。

先搜索 Simple Vector Store,点击然后选择 Add documents to vector store 添加节点:

图片

接下来设置节点参数,点击 Embedding 搜索 Embeddings OpenAI 添加一个嵌入节点,我们使用阿里云的嵌入模型配置:

Embedding 配置

Embedding 配置

然后文档处选择 Default data loader:

图片

进行如下配置:

# {{ $json.title }}
{{ $json.content }}
数据加载配置

数据加载配置

配置切分器

点击切分器配置选择 Recursive Character Text Splitter,一篇文章进行一次切片。

图片

配置切分参数:

测试流程

点击测试来测试当前流程,确保流程执行正确。

图片

使用定时任务

现在我们的流程需要手动执行,下面我们把手动触发改成每天定时触发。

搜索添加一个 Schedule Trigger:

图片

设置每天晚上执行一次(时间也可以选择固定的时间,比如早上7点30分):

图片

替换掉原来的触发节点就可以了:

图片

设置发送流程

我们接下来配置一个发送流程来发送新闻摘要。

搜索添加一个 Schedule Trigger,来执行每天给我们发送日报。

我们也可以使用一个流程完成所有的任务,新建流程可以实现读取数据频率和发送通知不同的场景。 比如每个小时查询一次,每天发送一次。或者每天发送一次日报,每周发送一次周报。

设置主题

添加一个 Edit Fields 节点来设置我们关心的主题:

设置 AI 和技术主题,新闻数量设置成15.

图片

添加 Agent

添加一个 AI Agent 节点,命名为新闻阅读 AI。提示词来源设置为 Define below , 配置用户提示词如下:

总结最近7天发布最相关的科技新闻。今天是 {{ $now }}

配置系统提示词如下:

请用清晰、简洁且易于理解的英语撰写,仿佛是在策划每周的科技新闻通讯。

优先考虑与以下主题相关的故事:{{ $json.Interests }}。如果这些主题不存在,请选择本周最具影响力、广泛报道和值得注意的科技事件。

对于每个新闻项目:

- 提供简短的信息摘要(最多 1–3 句话)
- 包括文章标题和直接链接到原始来源
- 避免重复故事
- 包含恰好 {{ $json['Number of news items to include'] }} 个独特的新闻项目
- 保持友好而专业的语气,适合广泛的科技爱好者受众。

配置效果可以参考下图:

提示词配置

提示词配置

然后配置 Agent 的 模型和工具(存储可以不配合)。

模型选择 千问:

图片

工具选择 Simple Vector Store,动作选择 Retrieve Documents (As Tool for AI Agent):

图片

配置如下:

图片

整体配置如下:

图片

我们测试一下流程,右侧是Markdown格式的文章摘要输出。

图片

英文网站默认也会是英文摘要,如果我们希望使用中文回答的话,可以简单的在系统提示词里面加上中文回答的指令。

图片

飞书通知

我们可以设置定时每天10点飞书给自己推送当天的新闻。

创意一个飞书机器人,选择头像、颜色,并填写名称和描述,

图片

点击下一步需要记录下 Webhook 地址,后面流程节点备用。

图片

在流程图里面添加一个 HTTP 请求节点:

图片

https://open.feishu.cn/open-apis/bot/v2/hook/[4]...

{"msg_type":"text","content":{"text":"{{ $json.output.replaceAll('\n','\n') }}"}}

消息发送的效果如下:

图片

为了更美观的展示 Markdown 我们可以使用交互卡片来美化样式,

图片

Body 替换成如下内容即可:

{
  "msg_type":"interactive",
"card":{
    "schema":"2.0",
    "config":{
      "update_multi":true,
      "style":{
        "text_size":{
          "normal_v2":{
            "default":"normal",
            "pc":"normal",
            "mobile":"heading"
          }
        }
      }
    },
    "body":{
      "direction":"vertical",
      "padding":"12px 12px 12px 12px",
      "elements":[
        {
          "tag":"markdown",
          "content":"{{ $json.output.replaceAll('\n','\n') }}",
          "text_align":"left",
          "text_size":"normal_v2",
          "margin":"0px 0px 0px 0px"
        }
      ]
    },
    "header":{
      "title":{
        "tag":"plain_text",
        "content":"AI News"
      },
      "subtitle":{
        "tag":"plain_text",
        "content":""
      },
      "template":"blue",
      "padding":"12px 12px 12px 12px"
    }
}
}

企业微信通知

企业微信的通知也类似,创建一个机器人,

请求的 URL 地址改成机器人的地址:

https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=[5]...

内容使用如下内容:

{
  "msgtype": "markdown",
  "markdown": {
    "content": "{{ $json.output.replaceAll('\n','\n') }}"
  }
}

推送效果如下:

企业微信的消息推送有长度限制,过长的消息会推送失败,我们可以通过 substring 来截取,比如 {{ $json.output.replaceAll('\n','\n').substring(500) }}

其他通知方式

除了企微、飞书 IM 通知,我们还有很多别的方式保存新闻和通知方式。

使用 Convert to file 保存为文件:

使用各种邮件工具发送邮件给自己:

保存到 Notion 上:

保存到数据库:

社区节点

如果内置节点里面没有你希望的,先不着急自己做,n8n 还有大量的社区插件可用。

比如:https://github.com/restyler/awesome-n8n[6] 项目上就列出了近百个流行的插件节点:

引用链接

[1] RSS Source: _https://rss-source.com/programming_
[2] Github top-rss-list: _https://github.com/weekend-project-space/top-rss-list_
[3] 知乎网友推荐: _https://www.zhihu.com/question/19580096_
[4]: _https://open.feishu.cn/open-apis/bot/v2/hook/_
[5]: _https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=_
[6]: _https://github.com/restyler/awesome-n8n_