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 的推荐且最便捷的方式之一。

步骤:

  1. ⚙️ 前提条件:安装 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。
    • 验证 Node.js 和 npm 安装:安装完成后,打开一个新的终端或命令提示符窗口,输入以下命令并按回车键:
    1
    12
    1
    node -vnpm -v

    如果分别显示了 Node.js 和 npm 的版本号(例如 v18.x.x9.x.x),则表示安装成功。

  2. 🖥️ 打开终端或命令提示符

    • Windows:
      • Win 键,输入 cmdPowerShell,然后按回车。
    • macOS:
      • 打开“应用程序” > “实用工具” > “终端”。
      • 或者使用 Spotlight 搜索 (Command + Space),输入 Terminal 并按回车。
    • Linux:
      • 通常使用 Ctrl + Alt + T 快捷键。
      • 或者在应用程序菜单中找到“终端”或“Terminal”。
  3. 📦 全局安装 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,但这超出了本快速入门的范围。

  4. ⚡ 启动 n8n

    • 安装完成后,在终端或命令提示符中输入以下任一命令并按回车键:
    1
    1
    1
    n8n

    或者

    1
    1
    1
    n8n start
    • 您会看到终端输出一些启动信息,通常最后会提示 n8n 正在运行并在特定端口(默认为 5678)监听。
  5. 🌐 访问 n8n 用户界面

    • 当终端显示 n8n 已成功启动后,打开您的网页浏览器(如 Chrome, Firefox, Edge 等)。
    • 在地址栏输入:http://localhost:5678 并按回车。
    • 此时,您应该能看到 n8n 的欢迎界面或管理员账户注册页面。
  6. 🔑 设置管理员账户 (Owner Account)

    • 首次访问时,n8n 会引导您设置管理员账户。 请按照页面提示填写您的邮箱、设置密码。
    • 重要提示:请务必牢记此密码。 对于自托管的 n8n 社区版,默认不提供直接的“忘记密码”找回功能(需要通过命令行或修改配置文件等更复杂的方式重置,或依赖您配置的邮件服务)。
    • 完成注册后,您将进入 n8n 的主仪表板界面。
  7. 🔧 (可选但建议)将 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_profilesource ~/.zshrc 使其生效。
    • 再次强调:对于大多数用户,通过 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、步骤示例:构建一个简单的个性化消息工作流 (基于源)

  1. 添加第一个节点 (数据获取):使用一个节点获取客户数据列表(教程示例中使用的是 n8n 的演示节点,无需关心数据来源)。
  2. 测试第一个节点:点击“Test Step”运行此节点,并在右侧查看其输出(例如,获取了五个客户的数据记录)。
  3. 添加第二个节点 (数据提取和准备):添加一个用于提取和准备数据的节点(例如 Edit Fields 节点)。
    • 双击节点查看其输入(来自前一个节点的客户数据)。
    • 在节点设置中,删除默认字段,添加新的字段。
    • 提取字段:将前一个节点的输出数据中需要提取的字段(如 ID、姓名、描述)拖拽到新添加的字段中。
    • 设置字段类型(例如,字符串)。
    • 确认字段设置为“表达式”。
  4. 测试第二个节点:点击“Test Step”,可以看到它根据设置迭代处理了所有输入项目,提取了指定字段并创建了新的数据列表。
  5. 添加第三个节点 (个性化消息):点击加号按钮,添加一个用于发送个性化消息的节点(教程示例中使用“客户消息”节点)。
    • 双击节点,查看其输入(来自第二个节点的输出数据)。
    • 构建消息内容:在消息文本框中输入固定文本,并使用表达式插入变量。 例如,输入“您好”,然后将“客户姓名”字段拖入;输入“您的描述是”,然后将“客户描述”字段拖入。
    • 务必确认:拖入的字段设置为“表达式”模式,并显示绿色文本。
  6. 测试第三个节点:点击“Test Step”,可以看到它迭代处理了所有输入项目,并为每个客户创建了自定义消息。
  7. 保存工作流:点击右上角的 [Save] 按钮保存您的工作流。
  8. 工作流管理:您可以双击工作流名称进行重命名。 您还可以添加标签以便筛选和管理工作流。 在主页可以按标签筛选或按关键词搜索工作流。

🌟 五、进阶:探索更多功能

掌握了基础知识后,您可以深入探索 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 入门知识,并帮助您开启智能自动化之旅!


n8n:从入门到进阶.md
https://vgtmy.github.io/2025/07/04/n8n-从入门到进阶-md/
作者
二郎神表弟
发布于
2025年7月4日
更新于
2025年7月4日
许可协议