n8n是当前最热门的开源AI工作流平台之一,在GitHub上已获得超过94,000个星标。用户可以通过拖拽节点的方式轻松构建复杂的AI工作流,每个节点支持上千种工具插件。这些插件使得外部系统能够无缝接入工作流,实现数据在不同系统间的自由流动。n8n以其高度的灵活性和可靠性著称,被誉为“德国工匠打造的工作流乐高”。
本文是一个全面的手把手教程,我们将介绍如何在本地部署n8n,并通过五个实际案例深入体验其功能。
入门:本地部署n8n
首先,访问n8n的GitHub主页,查看其开源许可证(license)相关信息。许可证允许将n8n用于公司内部业务或个人AI工作流,但禁止用于对外提供商业服务。如果有商业服务需求,建议考虑其他开源AI工作流工具,如Airflow。
n8n提供两种部署方式:Node.js和Docker。本教程将重点介绍Node.js部署,Docker部署将在后面讲解。
使用Node.js部署
1. 访问nodejs.org,下载安装程序,按照提示一路点击“下一步”完成安装。
2. 安装完成后,打开命令行窗口,验证环境是否配置正确:
- 输入`node -v`检查Node.js版本。
- 输入`npx -v`检查NPX版本。
如果两个命令均返回版本号,说明Node.js环境已配置好。
3. 在n8n的GitHub页面复制安装命令并执行。首次运行可能较慢,因为需要下载一系列依赖。如果失败,可重试几次或使用VPN确保网络稳定。
4. 安装完成后,n8n会提供一个本地地址。在浏览器中打开该地址,输入邮箱、用户名和密码,点击“Next”。跳过可选步骤,点击“Get Started”,即可进入n8n主界面。
创建第一个工作流
与其逐一讲解功能,我们直接通过实战创建一个工作流。本例将定期从Hacker News获取新闻,筛选感兴趣的内容,总结后通过电子邮件发送。
步骤1:设置工作流
1. 点击右上角的“Create Workflow”创建工作流。
2. 添加触发器节点以启动工作流。触发方式包括手动触发、事件触发(例如收到邮件)、定时触发或API触发。本例先选择“手动触发”进行测试,后续将改为定时触发。
步骤2:通过RSS获取数据
1. 添加一个获取数据的节点,选择“RSS”节点,用于订阅网站更新。
2. 在网上搜索“Hacker News RSS”,找到相关订阅源。本例使用按热度(points)筛选的RSS订阅,例如设置points为5,获取热度≥5的新闻。复制RSS地址。
3. 将RSS地址粘贴到RSS节点中,点击测试。节点应返回20条数据,表明数据获取成功。
步骤3:使用Firecrawl进行网页抓取
1. 要抓取RSS链接中的内容,需添加一个网页抓取节点。n8n原生不支持Firecrawl,但可通过社区插件实现。
2. 进入“Settings” > “Community Nodes” > “Install”,搜索“Firecrawl”并安装插件。安装后,在终端用Ctrl+C停止n8n,重新运行`npx n8n`重启。
3. 添加Firecrawl节点,配置为抓取URL,并创建API凭证:
- 访问Firecrawl网站,登录后复制API密钥。
- 在n8n中,将API密钥粘贴到Firecrawl节点的凭证设置中并保存。
4. 将RSS节点的“link”字段拖到Firecrawl节点的URL字段。n8n会自动循环处理所有链接(例如20篇文章)。
5. 为便于测试,添加一个“Limit”节点,限制输出为3条数据。测试Firecrawl节点,确认其成功抓取了3个网页的内容。
步骤4:使用AI总结
1. 添加一个“AI Agent”节点来总结抓取的数据,将提示词模式切换为“自定义”。
2. 将Firecrawl节点的“data”字段拖到AI节点的提示词中,添加系统提示词:“你是一个新闻助手,请将抓取的网站数据整理成简洁的新闻简报。”
3. 配置AI模型(例如DeepSeek):
- 访问DeepSeek的API平台,创建API密钥,并将其粘贴到AI节点的凭证设置中。
- 测试节点,AI将对抓取数据进行翻译和总结,生成新闻简报。
4. 点击“Pin”按钮固定测试结果,供后续节点调试使用。
步骤5:数据聚合与格式转换
1. 添加一个“Aggregation”节点,将3条总结输出合并为一个列表。拖入AI节点的“output”字段并测试。
2. 添加一个“Markdown”节点,将Markdown格式的输出转换为HTML,便于邮件发送。拖入聚合后的“output”字段,设置合并方式为“以两个换行符分隔”,测试后确认3条数据合并为一个HTML字符串。
步骤6:发送邮件
1. 添加一个“Send Email”节点,配置邮件服务(例如QQ邮箱):
- 登录QQ邮箱,在设置中启用SMTP服务,获取授权码。
- 在n8n中,输入SMTP主机、QQ邮箱地址和授权码作为密码。
2. 设置发件人和收件人(例如Outlook邮箱),选择HTML格式,将Markdown节点的HTML输出拖到邮件内容中。测试节点,确认邮件发送成功。
3. 检查Outlook邮箱,确认新闻简报以整洁的格式送达。
步骤7:自动化工作流
1. 将手动触发替换为“On a Schedule”节点,设置每4小时运行一次(或使用cron表达式实现更复杂调度)。
2. 连接所有节点,点击右上角启动开关激活工作流,确认后生效。工作流将每4小时自动获取、总结并发送新闻。
保存与分享工作流
n8n的工作流存储在本地SQLite数据库中,启动n8n时会显示数据库所在文件夹。你也可以使用MySQL或PostgreSQL进行持久化存储。分享工作流的方法:
1. 在工作流编辑器中,点击右上角三点,选择“Download”,将工作流保存为JSON文件。
2. 其他人可通过“Create Workflow” > “Import from File”导入JSON文件。
探索社区工作流
访问n8n官网的Workflows页面,查看社区分享的工作流,例如:
- **市场营销**:从LinkedIn抓取公司数据,使用AI评分潜在客户并添加到表格。
- **视频生成**:自动化生成视频并发布到多个平台。
- **发票解析**:通过AI解析邮箱中的发票并存储数据。
要使用社区工作流,点击“Use for Free”复制JSON文件,导入到自己的n8n实例中。
n8n的双向MCP功能
n8n支持双向消息控制协议(MCP),既可作为客户端调用其他MCP服务,也可作为服务器提供服务:
- **作为MCP客户端**:支持SSE和STDIO协议。例如,配置MCP Client节点调用百度地图的MCP服务进行路径规划。
- **作为MCP服务器**:通过“MCP Server Trigger”节点将工作流暴露为MCP服务,供外部工具调用。
示例:MCP集成
1. 创建一个以“On Chat Message”触发的工作流,添加AI Agent节点并使用DeepSeek。
2. 添加MCP Client节点,调用百度地图的MCP服务,配置SSE URL和API密钥。
3. 测试工作流,输入“从青岛太平角公园到小鱼山规划公共交通路线”,AI将通过MCP服务返回路线选项。
4. 要将工作流暴露为MCP服务器,添加“MCP Server Trigger”节点,配置为调用工作流,获取SSE URL。使用客户端(如Cherry Studio)测试调用。
使用Docker部署n8n
为实现生产力,建议在Linux服务器上使用Docker部署n8n:
1. 在服务器上安装Docker(可参考相关教程)。
2. 执行n8n GitHub页面提供的Docker卷创建命令。
3. 修改并运行Docker启动命令,加入`-d`参数实现后台运行,添加HTTP访问参数。
4. 通过服务器公网IP和5678端口访问n8n。
5. 为持久化存储,配置环境变量连接MySQL等关系型数据库。
或者,使用Zoho Cloud等平台免费部署n8n进行测试。
结论
n8n凭借其灵活性和丰富的插件生态系统,成为自动化AI工作流的强大工具。本教程涵盖了本地部署、新闻聚合工作流创建以及MCP功能的实现。欲了解更多高级工作流和社区资源,请访问n8n的官方文档和工作流库。