大家好~我是菲菲~日常工作中,我们常常需要花费大量时间浏览各类网站获取行业新闻,却容易遗漏关键信息。本文将教你用开源低代码自动化工具n8n,结合数眼智能搜索API的实时检索能力与网页阅读API的内容提取能力,搭建一个全自动新闻推送简报机器人。该机器人可按设定频率自动搜索目标主题新闻、提取核心内容、整理成规范简报,最终推送至飞书/企业微信等常用沟通工具,让你高效掌握行业动态。
一、前置准备:环境与工具就绪
在开始搭建前,需完成n8n环境部署、数眼智能API密钥获取两项核心工作,为后续工作流搭建奠定基础。
1. 部署n8n运行环境
n8n支持Docker、npm、桌面版三种安装方式,其中Docker安装跨平台兼容性强,是新手首选;桌面版适合非技术用户,无需命令行操作;npm安装则适合有Node.js环境的开发者。这里以最通用的Docker安装为例:
-
前置条件:安装Docker Desktop(Windows需启用WSL 2,Mac直接安装即可),启动后确保状态栏显示"Docker Desktop running"。
-
打开终端(Windows用PowerShell,Mac/Linux用Terminal),输入以下命令启动n8n:
docker run -it --rm \ `` -p 5678:5678 \ `` -v ~/.n8n:/home/node/.n8n \ `` n8nio/n8n -
参数说明:
-p 5678:5678映射本地端口与n8n端口,-v ~/.n8n:/home/node/.n8n保存工作流数据,避免容器删除后数据丢失。 -
验证成功:终端显示"n8n ready on http://0.0.0.0:5678"后,在浏览器访问
http://localhost:5678,看到包含节点库和空白画布的界面即部署完成。
2. 获取数眼智能搜索API密钥
数眼智能搜索API可实现实时联网检索,解决传统新闻抓取的时效性问题,获取密钥步骤如下:
-
登录数眼智能开发者平台。
-
然后点击""进入控制台",进行实名认证。
-
左上角就是api key,点击复制------这是后续调用API的核心认证凭证,请勿泄露。
-
查看开发文档的curl位置方便后续使用。

3. 配置消息推送凭证(以飞书为例)
机器人最终需将简报推送至指定沟通工具,这里以飞书为例说明配置流程,企微、Slack等工具操作类似:
-
打开飞书客户端,进入目标推送群组,点击右上角"..."→"设置"→"智能机器人"→"添加机器人"→"自定义机器人"。
-
填写机器人名称(如"行业新闻简报"),上传头像后点击"添加"。
-
复制生成的
Webhook地址(格式:https://open.feishu.cn/open-apis/bot/v2/hook/xxx),保存备用------这是消息推送的核心地址。
二、核心工作流搭建:从搜索到推送的全自动化
本次搭建的工作流逻辑为:定时触发 → 数眼智能搜索新闻 → 提取新闻链接 → 网页阅读API提取正文 → 整理简报格式 → 推送至飞书。我们将通过n8n的可视化节点拖拽,逐步实现各环节的串联。
步骤1:添加定时触发节点(Cron)
用于设定机器人的执行频率(如每天9点推送当日早报),操作如下:
-
在n8n左侧节点面板搜索"Cron",拖拽至中间画布。
-
点击节点,在右侧配置面板设置:
-
Mode:选择"Custom"(自定义时间)。
-
Custom Expression:输入Cron表达式,例如
0 9 * * *(代表每天9点整触发,如需每6小时触发一次可输入0 */6 * * *)。 -
Time Zone:选择"Asia/Shanghai"(北京时间)。
-
-
点击"Save"保存节点配置。
步骤2:添加数眼智能搜索节点(HTTP Request)
通过HTTP请求调用数眼智能搜索API,获取目标主题的最新新闻,配置如下:
-
左侧节点面板搜索"HTTP Request",拖拽至画布,点击节点与Cron触发节点之间的箭头,建立连接。
-
右侧配置面板设置:
-
Method:选择"POST"(数眼智能搜索API通常采用POST请求)。
-
URL:输入数眼智能搜索API接口地址(如
https://api.shuyansmart.com/v1/llm/search,具体以开发者平台文档为准)。 -
Headers:点击"Add Header"添加两项配置:
-
Key:
Content-Type,Value:application/json。 -
Key:
Authorization,Value:Bearer 你的数眼智能API Key(认证方式以平台要求为准,部分平台直接填写API Key即可)。
-
-
Body:选择"Raw"→ 格式"JSON",输入请求参数(可根据需求调整):
javascript{ "query": "人工智能 行业最新动态", // 目标搜索主题,可自定义(如"新能源 政策新闻") "search_config": { "top_k": 5, // 获取最新5条新闻 "enable_search": true, // 开启联网搜索 "search_type": "news", // 搜索类型:news-新闻,web-网页 "time_range": "1d" // 时间范围:1d-1天内,7d-7天内 }, "generation_config": { "temperature": 0.1, // 生成温度,越低越精准 "max_tokens": 1000 } }
-
-
点击"Save"后,可点击节点右上角"Run node"测试,查看下方输出日志------若返回包含新闻标题、链接、来源的结构化数据,说明配置成功。
步骤3:添加数据提取节点(Function)
数眼智能搜索返回的结果为页面全部内容,需通过Function节点提取核心字段(新闻标题、链接、发布时间),配置如下:
-
左侧搜索"Function",拖拽至画布并与HTTP Request节点建立连接。
-
右侧"Code"框输入以下JavaScript代码(可根据API返回格式调整字段名):
javascript// 从数眼智能搜索结果中提取核心新闻数据 const searchResult = $node("HTTP Request").json; if (!searchResult || !searchResult.sources) { return { error: "未获取到有效搜索结果" }; } // 提取标题、链接、发布时间,整理为数组 const newsList = searchResult.sources.map(source => { return { title: source.title || "无标题", url: source.url || "无链接", pubDate: source.pub_date ? new Date(source.pub_date).toLocaleString() : "未知时间", source: source.site_name || "未知来源" }; }); // 输出整理后的数据 return { newsList: newsList }; -
点击"Save"保存,测试节点确保能输出包含新闻核心信息的数组。
步骤4:添加网页阅读节点(HTTP Request)
调用网页阅读API提取每条新闻的正文内容,这里需使用"循环节点"遍历新闻链接,配置如下:
-
左侧搜索"Loop Over Items",拖拽至画布并与Function节点建立连接,用于遍历新闻列表。
-
在Loop节点后添加一个新的"HTTP Request"节点(命名为"网页内容提取"),配置:
-
Method:选择"GET"或"POST"(根据网页阅读API要求调整)。
-
URL:输入网页阅读API地址,若需传递新闻链接,可使用动态参数(如
https://api.xxx.com/extract?url={``{$json.url}},$json.url表示当前遍历的新闻链接)。 -
Headers:添加认证信息(如API Key),格式参考步骤2的数眼智能API配置。
-
-
保存节点后测试,确保能成功提取单条新闻的正文内容。
步骤5:添加简报整理节点(Function)
将提取的新闻标题、来源、正文等信息整理为易读的简报格式,配置如下:
-
在Loop节点后添加一个"Aggregate List"节点,用于聚合所有新闻的正文内容。
-
添加新的"Function"节点(命名为"简报格式化"),与Aggregate List节点连接,输入以下代码:
javascript// 获取聚合后的新闻数据 const aggregatedNews = $node("Aggregate List").json; // 初始化简报内容 let briefContent = "📅 今日行业新闻简报\n\n"; briefContent += "====================\n\n"; // 遍历新闻并格式化 aggregatedNews.forEach((news, index) => { briefContent += `【${index + 1}】${news.title}\n`; briefContent += `来源:${news.source} | 发布时间:${news.pubDate}\n`; briefContent += `链接:${news.url}\n`; briefContent += `摘要:${news.content.substring(0, 200)}...\n`; // 截取200字摘要 briefContent += "\n====================\n\n"; }); // 添加结束语 briefContent += "💡 本简报由n8n新闻机器人自动生成,数据来源:数眼智能搜索\n"; // 输出格式化简报 return { briefContent: briefContent }; -
保存节点,测试后可看到规范的简报文本。
步骤6:添加消息推送节点(HTTP Request)
将整理好的简报推送至飞书群组,配置如下:
-
添加新的"HTTP Request"节点(命名为"飞书推送"),与"简报格式化"节点连接。
-
右侧配置面板设置:
-
Method:选择"POST"。
-
URL:粘贴步骤1中获取的飞书机器人Webhook地址。
-
Headers:添加
Content-Type: application/json。 -
Body:选择"Raw"→"JSON",输入:
javascript{ "msg_type": "text", "content": { "text": "{{ $node(\"简报格式化\").json(\"briefContent\") }}" } }
-
-
保存节点,完成整个工作流的搭建。
三、测试与优化:确保机器人稳定运行
1. 工作流测试
-
点击n8n顶部"Save"按钮,保存整个工作流(命名如"行业新闻简报推送")。
-
点击顶部"Execute Workflow"按钮,手动触发工作流执行。
-
查看各节点状态:若所有节点右下角显示绿色对勾,说明执行成功;若出现红色感叹号,点击节点查看"Output"日志,根据错误信息调整配置(如API密钥错误、参数格式错误等)。
-
验证推送效果:查看飞书群组,若收到规范的新闻简报,说明测试通过。
2. 核心优化方向
基础版本搭建完成后,可通过以下优化提升机器人实用性:
-
多主题并行搜索:在数眼智能搜索节点前添加"Set"节点,配置多个搜索主题(如"人工智能""新能源""生物医药"),通过"Split In Batches"节点实现多主题并行检索,最终聚合简报。
-
AI摘要优化:在网页内容提取后添加大模型节点(如OpenAI、数眼智能大模型),通过提示词让AI生成更精炼的新闻摘要(如"将以下新闻正文总结为50字以内的核心要点")。
-
去重与过滤:添加"Function"节点,对搜索结果进行去重(根据新闻标题或链接),过滤低质量信息(如广告、重复新闻)。
-
异常处理:添加"Error Handler"节点,当工作流执行失败时(如API调用超时、无搜索结果),自动推送错误提醒至管理员。
-
多渠道推送:复制"飞书推送"节点,调整配置实现同时推送至企业微信、邮件等多个渠道。
四、总结
通过n8n的可视化拖拽操作,结合数眼智能搜索API的实时检索能力与网页阅读API的内容提取能力,我们无需编写大量代码即可快速搭建新闻推送简报机器人。该机器人可彻底解放手动浏览新闻的时间,实现行业动态的自动化、精准化推送。后续可根据实际需求扩展功能,让机器人更贴合个人或团队的信息获取习惯。
如果需要适配其他推送工具,或优化某一环节的配置(如搜索参数、简报格式),可根据本文思路调整对应节点的参数即可。