你是不是也这样?

每天早上,第一件事就是打开网站看新闻。生怕错过一个行业大新闻。

如果我告诉你,只需要花10分钟,就能打造一个“AI新闻助理”,每天定时推送新闻消息到你的飞书群。

今天这篇文章,我就手把手带你用自动化神器 n8n,从零开始搭建一个专属的新闻监控工作流。

图片

n8n是什么?

简单来说,n8n是一个开源的、可自托管的低代码/无代码工作流自动化工具。

你可以把各种App想象成一块块不同形状的乐高积木。而 n8n 就是那块神奇的底板,让你能把这些原本互不相干的积木,按照你的想法拼装在一起,创造出强大的自动化流程。

图片

搭建工作流

首先我们来到n8n首页,我们一步步来操作,整个工作流就像一条流水线。 第一步:点击右上角的“创建工作流”

第一步:配置第一个节点触发器

进入这个页面之后,我们点击“+”号,开始添加第一个节点

红框内有非常多的节点,因为是自动化流程,所以需要从下面的红框内选择节点选择一个触发器

这个是节点的配置页面,配置节点的参数,比如我选择的是触发器,可以设置每天定点触发,或者隔天定点触发,根据自己的需要进行设置就可以

设置完之后,点击上面的返回画布,第一个几点就添加好了

第二步:配置第二个节点,http请求节点

我们从网站获取新闻资讯,所以需要通过http请求

左侧是输入的数据,右侧是经过这个节点处理之后输出的数据 ,节点配置参数:选择请求方法get,post等,urL将网站的网址粘贴进来

将前后两个节点连接起来,

第三步:配置第三个节点,数据处理节点

从http请求过来的数据之后,我们需要对数据进行一个处理,提取我们想要的数据,比如新闻标题,新闻链接等,配置如下。

中间用到了js代码,这个可不是我自己写的,是通过大模型生成的,描述好你的需求,让它直接帮你生成就可以了

js部分代码如下:

<span data-cacheurl="" data-remoteid="" data-lazy-bgimg="https://mmbiz.qpic.cn/mmbiz_svg/kiaXicXJs2M4dKWOu9ZDkkT83vZW3riaTezyVMSbNGWC4n7tKpmGyuN7B8ghzKibjAEfvJYAs6jZdQ5EYOLfkerGPlCvoUUGxms7/640?wx_fmt=svg&amp;from=appmsg"></span><code><span leaf="">// 原生RSS解析和AI新闻筛选</span><br><span leaf="">try {</span><br><span leaf="">&nbsp; const rssData =&nbsp;</span><span><span leaf="">$input</span></span><span leaf="">.item.json.data ||&nbsp;</span><span><span leaf="">$input</span></span><span leaf="">.item.json;</span><br><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp;&nbsp;</span><span><span leaf="">if</span></span><span leaf="">&nbsp;(!rssData) {</span><br><span leaf="">&nbsp; &nbsp; console.log(</span><span><span leaf="">'RSS数据为空'</span></span><span leaf="">);</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><span><span leaf="">return</span></span><span leaf="">&nbsp;[];</span><br><span leaf="">&nbsp; }</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><br><span leaf="">&nbsp; // 解析RSS XML</span><br><span leaf="">&nbsp;&nbsp;</span><span><span leaf="">function</span></span><span leaf="">&nbsp;parseRSS(xmlString) {</span><br><span leaf="">&nbsp; &nbsp; const items = [];</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp; // 提取所有item标签</span><br><span leaf="">&nbsp; &nbsp; const itemMatches = xmlString.match(/&lt;item[^&gt;]*&gt;[\s\S]*?&lt;\/item&gt;/gi);</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><span><span leaf="">if</span></span><span leaf="">&nbsp;(!itemMatches) {</span><br><span leaf="">&nbsp; &nbsp; &nbsp; console.log(</span><span><span leaf="">'未找到RSS item'</span></span><span leaf="">);</span><br><span leaf="">&nbsp; &nbsp; &nbsp;&nbsp;</span><span><span leaf="">return</span></span><span leaf="">&nbsp;items;</span><br><span leaf="">&nbsp; &nbsp; }</span><br></code>

第四步:配置第四个节点,聚合节点,我们需要将前面获取的数据进行一个整合输出

第五步:配置第五个节点,我们需要通过webhook的方式发送消息到飞书群聊

如何获取飞书webhook我们放在后面

Method:post

url:webhook链接

header:name:Content-Type

<span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; value:application/json</span><br>

body:json 类型

里面的json代码也可以让大模型帮忙生成,找个有推理能力的大模型即可,用豆包或者deepseek都行。

这样下面我们将所有节点进行前后连接,这个工作流就搭建起来了,

点击下方的执行工作流,这个工作流就运行起来了,没有报错的情况下,每个节点的右下角会有个√号,如何有报错的话会出现红色

第六步:定制群消息展示样式

展示什么内容,展示的样式都可以定制。我尝试了好几个样式,感觉下面这两个也不错

在最后一个节点飞书webhook的json代码块里,可以进行代码配置样式。

也可以通过大模型进行调试,告诉大模型需要一个美观漂亮的样式,让大模型帮你输出代码。

获取飞书webhook

下面我们实操如何获取飞书的webhook链接。

推送消息到飞书群聊,需要通过webhook链接,下面实操如何获取到这个链接。

创建群组,添加自定义机器人,点击右侧的设置

找到群机器人,点击群机器人

找到自定义机器人并点击

设置完头像,昵称和简介

完成之后,就获取到webhook链接了,格式如下

请求成功的话返回:

<span data-cacheurl="" data-remoteid="" data-lazy-bgimg="https://mmbiz.qpic.cn/mmbiz_svg/kiaXicXJs2M4dKWOu9ZDkkT83vZW3riaTezyVMSbNGWC4n7tKpmGyuN7B8ghzKibjAEfvJYAs6jZdQ5EYOLfkerGPlCvoUUGxms7/640?wx_fmt=svg&amp;from=appmsg"></span><code><span leaf="">{</span><br><span leaf="">&nbsp; &nbsp; &nbsp;</span><span><span leaf="">"StatusCode"</span></span><span leaf="">: 0, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //冗余字段,用于兼容存量历史逻辑,不建议使用</span><br><span leaf="">&nbsp; &nbsp; &nbsp;</span><span><span leaf="">"StatusMessage"</span></span><span leaf="">:&nbsp;</span><span><span leaf="">"success"</span></span><span leaf="">, &nbsp; &nbsp;//冗余字段,用于兼容存量历史逻辑,不建议使用</span><br><span leaf="">&nbsp; &nbsp; &nbsp;</span><span><span leaf="">"code"</span></span><span leaf="">: 0,</span><br><span leaf="">&nbsp; &nbsp; &nbsp;</span><span><span leaf="">"data"</span></span><span leaf="">: {},</span><br><span leaf="">&nbsp; &nbsp; &nbsp;</span><span><span leaf="">"msg"</span></span><span leaf="">:&nbsp;</span><span><span leaf="">"success"</span></span><br><span leaf="">}</span><br></code>

请求出错的话返回:

<span data-cacheurl="" data-remoteid="" data-lazy-bgimg="https://mmbiz.qpic.cn/mmbiz_svg/kiaXicXJs2M4dKWOu9ZDkkT83vZW3riaTezyVMSbNGWC4n7tKpmGyuN7B8ghzKibjAEfvJYAs6jZdQ5EYOLfkerGPlCvoUUGxms7/640?wx_fmt=svg&amp;from=appmsg"></span><code><span leaf="">{</span><br><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span><span leaf="">"code"</span></span><span leaf="">: 9499,</span><br><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span><span leaf="">"msg"</span></span><span leaf="">:&nbsp;</span><span><span leaf="">"Bad Request"</span></span><span leaf="">,</span><br><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span><span leaf="">"data"</span></span><span leaf="">: {}</span><br><span leaf="">}</span><br></code>

展望

恭喜你!现在,你拥有了一个不知疲倦、忠实可靠的新闻助理。它会每天准时为你推送行业动态。

但这,仅仅是个开始。

我刚才搭建的,是一个“简化版”的助理。而n8n最强大的地方,在于它惊人的扩展性。下面,我给你提供几个“升华版”的改造思路。

1. 升级为“全网监控专家”

现在我们只监控了一个网站,但信息源当然是越多越好。

怎么做? 你可以在第一个 HTTP Request 节点后面,再并联几个同样的节点,每个节点都填上不同网站的RSS地址。最后用一个 Merge 节点把所有新闻汇总到一起处理。这样,你的助理就能同时盯着好几个信息源,

2. 植入“AI大脑”,自动总结摘要

有时候,光看标题还不够,但原文又太长。如果能让AI自动总结成一句话摘要呢?

怎么做? 在处理数据的环节,加入一个 OpenAI 或其他大模型节点。把新闻链接或正文内容“喂”给它,然后用一句简单的指令,比如:“请帮我把这篇文章总结成不超过50字的中文摘要”。AI就能立刻返回精炼的摘要,再一起推送到飞书。

结语:你的征途,是星辰大海

这只是n8n强大能力的冰山一角。只有你想不到,没有它做不到。自动化不是为了取代人,而是为了把我们从重复的、无意义的“机器工作”中解放出来,去做更有创造力、更有价值的事情。

动手去试试吧! 亲手搭建属于你的第一个自动化工作流,感受那种掌控一切的乐趣。如果在过程中遇到任何问题,或者有更有趣的想法,欢迎在评论区和我交流。

如果你喜欢今天的内容,别忘了点赞、关注,转发,未来我会带来更多效率神器和自动化玩法!