n8n:从入门到进阶.md
本文最后更新于 2025年7月4日 下午
n8n(发音为 “n-eight-n”)是一个强大的低代码自动化工具,它允许您连接各种具有 API 的应用程序,并通过可视化工作流实现数据自动化流转,
从而显著提升效率并降低重复性任务的成本。无论是简单的数据传输还是复杂的工作流,n8n 都能提供灵活的解决方案。
🌍 一、n8n 版本选择
在开始使用 n8n 之前,您需要选择适合您的运行方式:云版本或本地自托管版本。
- n8n 云版本:由 n8n 官方提供托管服务。
- 优点:24/7 全天候运行,无需自行维护服务器,设置简便。
- 缺点:需要支付费用。
- 本地自托管版本:在您自己的服务器或本地计算机上运行 n8n。
- 优点:免费(社区版),拥有完全的控制权和灵活性,更注重隐私和安全,您可以完全掌控数据流和存储。对于遵守 GDPR 或 CCPA 等隐私法规至关重要。
- 缺点:需要一定的技术基础和服务器维护经验。
本教程将重点介绍如何在本地机器上自托管 n8n,以便您免费体验其功能,这非常适合学习和实验。
🚀 二、n8n 本地快速安装 (使用 npm)
使用 npm (Node Package Manager) 是在本地运行 n8n 的推荐且最便捷的方式之一。
步骤:
⚙️ 前提条件:安装 Node.js
- 要求:请确保您的机器上已安装 Node.js 18 或更高版本。
- 下载 Node.js:
- 访问 Node.js 官方网站:https://nodejs.org/
- 在官网首页,您通常会看到两个下载选项:LTS (Long Term Support长期支持版) 和 Current (最新版)。 推荐下载并安装 LTS 版本,因为它更稳定。
- 根据您的操作系统(Windows, macOS, Linux)下载对应的安装包。
- 安装 Node.js:
- Windows: 双击下载的
.msi
安装包,按照安装向导的提示完成安装。 通常保持默认设置即可。 安装程序会自动将 Node.js 和 npm 添加到系统环境变量中。 - macOS: 双击下载的
.pkg
安装包,按照安装向导的提示完成安装。 - Linux: 您可以通过包管理器(如
apt
for Debian/Ubuntu,yum
for Fedora)或从官网下载二进制文件进行安装。 例如,在 Debian/Ubuntu 上,您可以参考 NodeSource 的指引来安装较新版本的 Node.js。
- Windows: 双击下载的
- 验证 Node.js 和 npm 安装:安装完成后,打开一个新的终端或命令提示符窗口,输入以下命令并按回车键:
1
12
1
node -vnpm -v
如果分别显示了 Node.js 和 npm 的版本号(例如
v18.x.x
和9.x.x
),则表示安装成功。🖥️ 打开终端或命令提示符
- Windows:
- 按
Win
键,输入cmd
或PowerShell
,然后按回车。
- 按
- macOS:
- 打开“应用程序” > “实用工具” > “终端”。
- 或者使用 Spotlight 搜索 (Command + Space),输入
Terminal
并按回车。
- Linux:
- 通常使用
Ctrl + Alt + T
快捷键。 - 或者在应用程序菜单中找到“终端”或“Terminal”。
- 通常使用
- Windows:
📦 全局安装 n8n
- 在打开的终端或命令提示符中,输入以下命令并按回车键:
1
1
1
npm install n8n -g
- 参数
-g
表示全局安装,这样n8n
命令就可以在系统的任何路径下执行。 - 安装过程可能需要几分钟,具体时间取决于您的网络速度。
- 权限问题(macOS/Linux):如果在 macOS 或 Linux 上遇到权限错误 (EACCES),您可能需要在命令前加上
sudo
:
1
1
1
sudo npm install n8n -g
然后输入您的系统密码。 或者,更好的做法是配置 npm 以避免使用
sudo
,但这超出了本快速入门的范围。⚡ 启动 n8n
- 安装完成后,在终端或命令提示符中输入以下任一命令并按回车键:
1
1
1
n8n
或者
1
1
1
n8n start
- 您会看到终端输出一些启动信息,通常最后会提示 n8n 正在运行并在特定端口(默认为 5678)监听。
🌐 访问 n8n 用户界面
- 当终端显示 n8n 已成功启动后,打开您的网页浏览器(如 Chrome, Firefox, Edge 等)。
- 在地址栏输入:
http://localhost:5678
并按回车。 - 此时,您应该能看到 n8n 的欢迎界面或管理员账户注册页面。
🔑 设置管理员账户 (Owner Account)
- 首次访问时,n8n 会引导您设置管理员账户。 请按照页面提示填写您的邮箱、设置密码。
- 重要提示:请务必牢记此密码。 对于自托管的 n8n 社区版,默认不提供直接的“忘记密码”找回功能(需要通过命令行或修改配置文件等更复杂的方式重置,或依赖您配置的邮件服务)。
- 完成注册后,您将进入 n8n 的主仪表板界面。
🔧 (可选但建议)将 n8n 执行路径添加到环境变量 (如果未通过 npm 全局安装自动完成)
- 说明:通常情况下,使用
npm install n8n -g
进行全局安装后,npm 会自动处理路径问题,使得您可以从任何终端窗口直接运行n8n
命令。 但如果由于某些原因(例如 npm 配置问题或未使用-g
安装后移动了文件),系统找不到n8n
命令,您可能需要手动将其执行路径添加到系统的PATH
环境变量中。 - 如何查找 n8n 执行路径:如果 npm 全局安装成功,通常不需要这一步。 如果需要,可以使用
npm root -g
查看全局包的安装目录,n8n 的可执行文件通常在其bin
子目录中,或者在 npm 的全局bin
目录中。 - 如何添加环境变量:
- Windows: 搜索“环境变量” -> “编辑系统环境变量” -> “环境变量…”按钮 -> 在“系统变量”或“用户变量”中找到
Path
-> 编辑 -> 新建,然后添加包含n8n.cmd
(或类似可执行文件) 的目录路径。 - macOS/Linux: 通常编辑
~/.bash_profile
,~/.zshrc
(取决于您的 shell) 文件,添加类似export PATH="$PATH:/path/to/n8n/bin"
的行 (将/path/to/n8n/bin
替换为实际路径),然后运行source ~/.bash_profile
或source ~/.zshrc
使其生效。
- Windows: 搜索“环境变量” -> “编辑系统环境变量” -> “环境变量…”按钮 -> 在“系统变量”或“用户变量”中找到
- 再次强调:对于大多数用户,通过
npm install n8n -g
正确安装后,这一步通常是不必要的。
- 说明:通常情况下,使用
🖼️ 三、用户界面概览
n8n 的主界面设计直观,主要包含以下几个部分:
- 左侧边栏:包含多个选项。
- 模板:提供了 n8n 官方和社区预构建的工作流模板,可以快速启动自动化之旅。
- 变量:仅在企业版和云托管服务中可用。
- 执行记录:显示您的工作流日志以及执行的成功与否。
- 帮助:提供了 n8n 的官方文档和论坛链接。
- 主窗口:显示您创建的所有工作流。 您可以通过点击“从头开始”按钮或橙色的“添加工作流”按钮来添加新的工作流。
- 设置:在屏幕底部点击三个点可以访问设置。 许多设置仅在企业版中提供,但您可以设置界面模式(亮色/暗色)。 您也可以在工作流的设置中设置指定的时区,以确保计划触发的时间与您所在地一致。
n8n 基于工作流程运行,这与 Zapier 的 Zaps 和 Make.com 的 Scenarios 类似。
🛠️ 四、入门:构建第一个工作流
构建工作流是 n8n 的核心操作。
🧠 1、核心概念:
- 工作流 (Workflow):通常按照从左到右的顺序执行。
- 节点 (Node):工作流的基本组成单元,每个节点接收输入数据,进行处理,然后产生输出数据。
- 数据流 (Data Flow):数据在节点之间以 JSON 对象 的形式传递。
- 数据迭代 (Data Iteration):当数据以列表或数组形式存储时,n8n 会自动循环遍历或迭代数据,无需手动创建循环。
🧩 2、节点界面组成:
双击任何节点,会显示其详情视图:
- Input (左侧):显示节点接收到的输入数据。
- Node Details/Parameters (中间):节点的配置和参数设置。 这些设置根据节点类型而异。
- Output (右侧):展示节点处理后输出的数据,这对于调试和优化至关重要。
- Docs:提供了该节点的文档链接。
✅ 3、节点测试 (Test Step):
- 利用“Test Step”按钮,您可以单独执行当前节点并查看其输出结果,而无需执行整个工作流。 这对于调试和优化节点配置非常有用。
- 在输出视图中,您可以选择不同的数据视图(表格、JSON、架构)。 右上角的“固定”(Pin) 按钮非常实用,可以保持数据静态,避免每次测试时都进行查询。
💡 4、使用表达式访问数据:
- 在节点配置中,可以使用花括号
{}
来访问来自先前节点的数据,这实际上是一个 JavaScript 表达式。 - 将需要插入变量的字段设置为“表达式 (Expression)”模式(通常会显示绿色文本),而不是“固定 (Fix)”模式。
- 您可以通过 JSON 表示法访问数据,例如
{{ $json.customerID }}
。 - 由于在花括号内使用 JavaScript,您还可以使用其他的 JavaScript 表达式,例如插入日期和时间、转换数据、验证数据等。 您只能在花括号中使用 JavaScript,不能使用 Python。 Code 节点支持 JavaScript 和 Python。
📝 5、步骤示例:构建一个简单的个性化消息工作流 (基于源)
- 添加第一个节点 (数据获取):使用一个节点获取客户数据列表(教程示例中使用的是 n8n 的演示节点,无需关心数据来源)。
- 测试第一个节点:点击“Test Step”运行此节点,并在右侧查看其输出(例如,获取了五个客户的数据记录)。
- 添加第二个节点 (数据提取和准备):添加一个用于提取和准备数据的节点(例如
Edit Fields
节点)。- 双击节点查看其输入(来自前一个节点的客户数据)。
- 在节点设置中,删除默认字段,添加新的字段。
- 提取字段:将前一个节点的输出数据中需要提取的字段(如 ID、姓名、描述)拖拽到新添加的字段中。
- 设置字段类型(例如,字符串)。
- 确认字段设置为“表达式”。
- 测试第二个节点:点击“Test Step”,可以看到它根据设置迭代处理了所有输入项目,提取了指定字段并创建了新的数据列表。
- 添加第三个节点 (个性化消息):点击加号按钮,添加一个用于发送个性化消息的节点(教程示例中使用“客户消息”节点)。
- 双击节点,查看其输入(来自第二个节点的输出数据)。
- 构建消息内容:在消息文本框中输入固定文本,并使用表达式插入变量。 例如,输入“您好”,然后将“客户姓名”字段拖入;输入“您的描述是”,然后将“客户描述”字段拖入。
- 务必确认:拖入的字段设置为“表达式”模式,并显示绿色文本。
- 测试第三个节点:点击“Test Step”,可以看到它迭代处理了所有输入项目,并为每个客户创建了自定义消息。
- 保存工作流:点击右上角的 [Save] 按钮保存您的工作流。
- 工作流管理:您可以双击工作流名称进行重命名。 您还可以添加标签以便筛选和管理工作流。 在主页可以按标签筛选或按关键词搜索工作流。
🌟 五、进阶:探索更多功能
掌握了基础知识后,您可以深入探索 n8n 的强大功能。
📌 1、节点类型详解
n8n 提供了丰富多样的节点来构建复杂的工作流。
- 触发器节点 (Trigger Nodes):定义工作流何时以及如何开始。
- Manual Trigger:手动启动工作流,适用于开发和测试。
- Schedule Trigger:按计划时间触发工作流,可使用 Cron 表达式或时间间隔设置。
- On App Event:由其他第三方应用程序中的事件触发。
- On Webhook:接收到 HTTP 请求时触发工作流。
- On Form Submission:提交表单时触发。
- Execute Workflow:被其他工作流调用作为子工作流执行。
- Chat Message:在对话时触发工作流,常用于 AI Agent 和大型语言模型应用,如构建 RAG 系统。
- 应用节点 (App Nodes / Action Nodes):在不同的第三方应用中执行操作。 n8n 集成了多种常见应用,如 Gmail, Telegram, Shopify, MySQL, Pinecone, Supabase 等。 您可以通过搜索找到需要的应用节点。
- 数据转换节点 (Data Transformation Nodes):用于对数据进行操作和转换。
- Code:允许您编写 JavaScript 或 Python 代码片段来处理数据。
- Edit Fields:添加、移除或修改 JSON 数据中的字段,是数据处理的重要节点。
- Merge:将来自不同节点的数据融合在一起。
- HTML:提取 HTML 中的信息。
- Limit:限制处理的数据项数量。
- 流程控制节点 (Flow Nodes):控制工作流的执行流程。
- Filter:根据条件过滤数据。
- IF:基于条件拆分工作流。
- Loop:循环处理数据项。
- Wait:等待上一个节点执行完成。
- Execute Workflow:执行另一个工作流。
🤖 2、AI 自动化
n8n 提供了强大的 AI 自动化能力,特别适用于构建自定义的 AI 应用程序。
- n8n for AI:利用 n8n 的能力创建自定义 AI 应用。
- 构建 AI Agent:通过连接特定的节点来构建 AI Agent。 核心节点包括:
- Chat Model:连接各种大型语言模型 (LLM),如 OpenAI, Gemini 等。
- Memory:为 AI Agent 添加长期记忆,使其在一定程度上超越上下文限制。
- Tools:允许 AI Agent 调用外部工具,例如向量数据库 Pinecone 或 Supabase 来构建 RAG 系统。
- RAG (检索增强生成):结合外部知识库(如数据库、文档)增强 AI Agent 生成响应的能力。 RAG 适用于智能客服、内容创作、知识管理、个性化推荐等场景。
- n8n 也支持 LangChain 节点,便于将 AI 功能集成到工作流中。
🔗 3、集成与连接
n8n 通过多种方式连接外部服务和应用。
- HTTP Request:允许您主动向外部 API 发送请求,获取数据。 例如,获取天气预报或股票价格。
- Webhook:n8n 可以创建一个 Webhook URL,被动接收外部服务推送的消息,从而触发工作流。 例如,接收支付平台的支付成功通知。 Webhooks 是 n8n 所有计划都支持的功能,而在 Zapier 中是高级功能。
- 数据库连接:可以直接连接到 MySQL、Pinecone、Supabase 等数据库进行配置和操作。 这里的连接通常是指配置好连接信息,而不是让大模型生成 SQL。
- 定制节点 (Custom Nodes):如果 n8n 没有您需要的集成,您可以编写自己的定制节点来调用外部服务或转换数据。 n8n 的代码是开源的,您可以自由定制。
- MCP 服务端:n8n 也支持 MCP 服务器的配置和使用。
⚙️ 4、复杂工作流逻辑与错误处理
n8n 擅长处理复杂的逻辑。
- 分支与合并:可以使用 IF 或 Switch 节点进行条件分支。 Merge 节点用于合并来自不同分支的数据流。
- 循环:Loop 节点用于循环处理数据列表。
- 错误处理 (Error Handling):n8n 提供了错误处理工作流,可以在主工作流失败时触发。 节点设置中的
onError
选项可以定义节点遇到错误时的行为,例如停止或忽略并继续。retryOnFail
选项可以使节点在执行失败时重试直到成功。
👨💻 5、开发者工具
n8n 提供了一些面向开发者的功能,使其比其他无代码工具更灵活。
- Code 节点:直接在工作流中编写 JavaScript 或 Python 代码。
- 输入/输出视图:清晰展示节点的数据输入和输出,便于调试。
- 数据固定 (Data Pinning):固定节点的输出数据,在后续测试中重复使用,无需重新获取。
- 环境 (Environments):支持区分开发、测试、生产环境。
- 版本控制:可以使用 Git 对工作流进行版本控制和备份。
- Sticky Notes:在工作流画布上添加注释。
🆚 六、n8n vs Zapier/Make
了解 n8n 的定位有助于更好地选择工具。 n8n 和 Zapier/Make 都旨在实现数据集成和工作流自动化,但适用于不同复杂度和定制需求的场景。
特性 | n8n | Zapier | Make.com |
---|---|---|---|
上手难度 | 相对较高 | 最简单 | 介于两者之间 |
定价模式 | 按工作流执行次数收费,不限制任务/步骤数量;自托管免费/便宜 | 按任务数量收费;每一步操作通常算作一个任务 | 相对 Zapier 更合理 |
自托管 | 支持 (免费) | 不支持 | 不支持 (基于源信息推断,源 称其为闭源软件) |
灵活性 | 非常高 (支持代码,可定制节点,灵活的逻辑控制) | 相对较低 (代码受限,复杂逻辑构建困难) | 相对较高 (支持复杂工作流) |
集成数量 | 300+ (数量相对较少,但通过 HTTP 请求和定制节点弥补) | 5,000+ (数量最多) | 数量少于 Zapier,多于 n8n |
复杂逻辑 | 支持分支、循环、合并、Code 节点等 | 复杂逻辑构建困难,Code 节点有严格限制 | 支持复杂工作流 |
AI 自动化 | 提供 LangChain 节点,可构建高级 AI Agent | 提供 AI 驱动的 Zap 构建,AI 助手等 | (源信息未详细提及 AI 自动化对比,但作为自动化平台通常也支持 AI 集成) |
开源/闭源 | 开源 (Source-available) | 闭源 | 闭源 |
社区 | 活跃,40K+ 成员,提供社区论坛支持 | 提供社区支持,高级计划提供付费支持 | (源信息未详细提及) |
总结对比:
- Zapier:集成数量最多,上手最容易,但价格最昂贵,灵活性最低,适合简单的线性自动化任务。
- n8n:灵活性最高,可进行无限定制,支持自托管,价格便宜(尤其是自托管),但集成数量最少,上手难度相对较高,适合技术团队构建复杂工作流。
- Make.com:介于 Zapier 和 n8n 之间,集成数量居中,支持构建复杂工作流,价格也更合理。
许多技术人员青睐 n8n 的灵活性、自托管选项和强大的定制能力。
📚 七、社区与资源
n8n 拥有一个开放活跃的社区。
- 社区论坛:您可以在论坛上提问,通常能得到快速响应。
- 官方文档:提供详细的节点和功能说明。
- 工作流模板:官方和社区提供了大量的预构建模板,可以作为起点或学习参考。
- 社区贡献:社区成员会分享自己的模板和心得。
- 您还可以找到许多关于 n8n 的教程和案例分享视频或文章。
🎉 八、总结
n8n 是一个强大且灵活的自动化工具,特别适合需要高度定制和控制的工作流场景,尤其对于技术团队而言。 从简单的 npm 安装开始,您可以逐步掌握节点的使用、数据的处理和工作流的构建。 通过利用其表达式、AI 能力、丰富的节点和灵活的逻辑控制,您可以构建出各种复杂的自动化和智能化应用,让 AI 真正替代重复性工作。
希望这篇指南能为您提供扎实的 n8n 入门知识,并帮助您开启智能自动化之旅!