从「下载安装n8n」到「实现每日发送飞书日报」完整教程
本文包含n8n环境准备、飞书配置、工作流搭建的全流程步骤,旨在帮助你快速实现招聘RSS信息的每日自动推送。
一、下载与安装n8n
n8n支持多种安装方式,可根据操作系统和技术背景选择适配方案:
方式1:Docker安装(推荐新手,跨平台通用)
Docker无需配置依赖环境,适配Windows、Mac、Linux系统,是最简单的安装方式。
前置条件
- 已安装Docker Desktop(下载地址)
- Windows用户:安装后需启用「WSL 2」(安装向导会提示操作步骤)
- Mac用户:直接安装并启动,状态栏会显示鲸鱼图标
安装步骤
- 启动Docker Desktop,确保状态栏显示「Docker Desktop running」;
- 打开终端(Windows用PowerShell或CMD,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:本地保存工作流数据,避免容器删除后数据丢失;n8nio/n8n:n8n官方镜像名称。
- 参数说明:
- 等待下载完成,终端显示「n8n ready on http://0.0.0.0:5678」即启动成功。
方式2:npm安装(需Node.js环境,适合开发者)
已安装Node.js的用户可直接通过npm命令安装。
前置条件
- 安装Node.js(版本≥18.10,下载地址);
- 验证安装:终端运行
node -v和npm -v,显示版本号即为成功。
安装步骤
- 打开终端,运行全局安装命令:
npm install n8n -g - 安装完成后启动n8n:
n8n start - 终端显示「n8n ready on http://localhost:5678」即启动成功。
方式3:桌面版安装(纯图形界面,适合非技术用户)
无需命令行操作,直接通过安装包启动。
- 访问n8n桌面版下载页:n8n Desktop;
- 选择对应系统安装包(Windows选.exe,Mac选.dmg,Linux选.AppImage);
- 安装完成后,在桌面或应用列表中双击「n8n」启动;
- 首次启动需允许「n8n to access the network」,随后会自动打开网页界面。
二、验证n8n安装成功
无论采用哪种安装方式,启动后在浏览器访问 http://localhost:5678,若看到以下界面则说明安装成功:
- 左侧:节点库(包含触发器和操作节点);
- 中间:空白工作流画布(用于搭建流程);
- 顶部:保存、运行、设置等功能按钮。
三、飞书机器人配置(获取消息发送凭证)
- 进入目标群组:打开飞书客户端,进入需发送日报的群组(如「招聘信息群」);
- 创建自定义机器人:
- 点击群组右上角「...」→「设置」→「智能机器人」→「添加机器人」→「自定义机器人」;
- 名称填写「招聘RSS日报」,点击「添加」;
- 复制生成的「Webhook地址」(格式:
https://open.feishu.cn/open-apis/bot/v2/hook/xxx),保存备用。
四、搭建完整工作流(获取RSS+发送飞书)
目标:每日18:00自动抓取 mp.jobleap4u.com/rss 的最新5条招聘信息,整理后推送至飞书群组。
步骤1:新建工作流
在n8n界面点击顶部「+ New Workflow」,创建空白工作流。
步骤2:添加定时触发节点(Cron)
用于设定每日执行时间:
- 左侧节点面板搜索「Cron」,拖拽到画布;
- 右侧配置:
- Mode:选择「Custom」;
- Custom Expression:输入
0 18 * * *(代表每天18:00触发); - 点击「Save」。
步骤3:添加RSS内容获取节点(RSS Feed Read)
用于抓取招聘网站的RSS数据:
- 左侧搜索「RSS Feed Read」,拖拽到画布;
- 右侧配置:
- URL:输入
https://mp.jobleap4u.com/rss; - Maximum Items:输入
5(获取最新5条信息); - 点击「Save」;
- 测试:点击节点右上角「Run node」,查看下方输出日志确认是否获取到数据。
- URL:输入
步骤4:添加内容处理节点(Function)
将RSS结构化数据转换为飞书可读的文本格式:
- 左侧搜索「Function」,拖拽到画布;
- 右侧「Code」框输入以下代码:
// 从RSS节点获取数据 const rssItems = $node["RSS Feed Read"].json; // 初始化招聘信息文本 let jobContent = "【今日最新招聘信息】\n"; // 遍历每条信息并格式化 rssItems.forEach((item, index) => { // 提取RSS字段(标题、链接、发布时间) const title = item.title || "无标题"; const link = item.link || "无链接"; const pubDate = item.pubDate ? new Date(item.pubDate).toLocaleString() : "未知时间"; // 拼接成列表格式 jobContent += `${index + 1}. ${title}\n发布时间:${pubDate}\n链接:${link}\n\n`; }); // 输出处理后的内容 return { jobContent: jobContent };- 代码说明:将RSS的标题、链接、发布时间转换为带序号的可读文本;
- 点击「Save」。
步骤5:添加飞书消息发送节点(HTTP Request)
将处理后的内容推送至飞书群组:
- 左侧搜索「HTTP Request」,拖拽到画布;
- 右侧配置:
- Method:选择「POST」;
- URL:粘贴飞书机器人的Webhook地址;
- Headers:点击「Add Header」,添加
Content-Type: application/json; - Body:选择「Raw」→ 格式「JSON」,输入:
{ "msg_type": "text", "content": { "text": "📢 每日招聘信息汇总\n\n{{ $node[\"Function\"].json[\"jobContent\"] }}\n\n订阅来源:mp.jobleap4u.com" } }- 关键:
{{ $node[\"Function\"].json[\"jobContent\"] }}用于引用处理后的招聘信息;
- 关键:
- 点击「Save」。
步骤6:连接节点流程
鼠标拖拽节点右侧圆点,按以下顺序连接:
Cron → RSS Feed Read → Function → HTTP Request
五、测试与启用工作流
步骤1:手动测试
- 点击顶部「Run Workflow」按钮,触发整个流程;
- 查看结果:
- 成功:飞书群收到招聘信息消息;
- 失败:点击顶部「Executions」,选择失败记录查看节点错误日志(如RSS地址无效、Webhook错误等)。
步骤2:启用自动运行
- 测试成功后,点击工作流顶部「Active」开关(变为绿色);
- 点击「Save」,命名为「每日招聘RSS飞书推送」。
六、常见问题排查
-
RSS获取失败
- 检查URL有效性:浏览器访问
https://mp.jobleap4u.com/rss,确认返回XML格式内容; - 排查网络问题:确认n8n所在环境可访问该网站(可添加「HTTP Request」节点测试连通性)。
- 检查URL有效性:浏览器访问
-
飞书消息发送失败
- 验证Webhook地址:重新在飞书机器人设置中获取地址;
- 检查JSON格式:用JSON校验工具验证HTTP Request的Body格式;
- 排查内容限制:飞书可能拦截含敏感词的消息,可简化内容测试。
-
Function节点报错
- 检查代码语法:如括号不匹配、变量名错误;
- 匹配RSS字段:在「RSS Feed Read」节点输出日志中查看实际字段名,修改代码对应变量。
七、进阶优化
- 添加错误提醒:加入「IF」节点,若RSS获取失败则发送提示消息到飞书;
- 美化消息格式:改用飞书卡片消息(修改HTTP Request的Body为
interactive类型),示例:{ "msg_type": "interactive", "card": { "config": { "wide_screen_mode": true }, "elements": [ { "tag": "div", "text": { "content": "{{ $node[\"Function\"].json[\"jobContent\"] }}", "tag": "lark_md" } } ] } } - 增加过滤功能:在Function节点中添加关键词过滤(如仅保留「技术岗」相关信息)。
通过以上步骤,可实现从RSS抓取到飞书推送的全流程自动化,无需手动整理招聘信息,系统将每日按时推送最新内容,适配HR团队或求职者使用。