简介
n8n(发音为“n-eight-n”或简称“nodemation”)是一个开源的工作流自动化工具,允许通过可视化的基于节点的编辑器将不同的服务和 API 连接在一起。你不需要手写粘合代码,只需将节点拖放到画布上,进行配置,并绘制连接以定义数据在各步骤之间的流动。
n8n 与 Zapier 或 Make 的最大不同在于:它是开源且可自托管的。你可以在自己的服务器上运行它,这意味着数据永远不会离开你的基础设施,也没有按任务计费的级别。取舍是你需要负责托管和维护,尽管如果你不想管理基础设施,n8n 也提供托管云选项。
在内部层面,每个 n8n 工作流本质上只是 JSON。可视化编辑器是在该 JSON 上的一层友好的界面,这也是为什么 n8n 对那些想要深入了解底层的开发人员非常友好。
浏览可视化编辑器
打开 n8n 时,你将主要与以下区域交互:
- 中间的画布是你构建工作流的地方,通过添加和连接节点来实现。- 左侧的边栏提供节点面板,按触发节点、常用应用/操作节点和帮助节点(如 Code、IF、Set、Merge 等)分类。- 顶部工具栏提供保存、运行、激活和共享工作流的选项。- 右侧节点面板在你点击某个节点时打开,用于配置其参数和凭据。
工作流总是从一个触发节点开始——也就是事件发生时启动执行的节点(例如接收 HTTP 请求的 webhook、按 cron 触发的计划任务,或数据库中新行的出现)。
在任一命令之后,在浏览器中打开 http://localhost:5678,你将看到编辑器。
节点解剖结构
每个节点表示一个单独的操作:获取数据、转换数据、调用 API、基于条件分支等。大多数节点有三个标签页:
- Parameters: 你配置的输入(URL、查询字符串、字段映射)。 - Settings: 节点级选项,如重试行为、错误处理,以及在失败时是否继续。 - Documentation: 从节点文档中提取的简短参考,便于你不离开画布就了解。
数据通过你绘制的连线在节点之间流动。默认情况下,这是主输出,产生的数据结构与直接调用底层 API 时得到的 JSON 对象相同。你可以重命名一个节点、给它添加注释、并在不删除它的情况下禁用它,这在调试时非常有用。
上面的片段是从 n8n 导出的一個单独的 Webhook 触发节点的 JSON。请注意它有多可读——HTTP 方法、路径,以及节点在画布上的位置都是简单的 JSON 属性。这就是使工作流能够版本控制和程序化生成的原因。
执行面板与调试
一旦你的工作流被保存,点击“执行工作流”(或在单个节点上点击“执行节点”)以运行它。n8n 会在执行面板中记录每一次运行。点击过去的执行可以逐步检查每个节点步骤的输入和输出数据,这是调试损坏工作流的最快方式。
如果某个节点失败,执行将被标记为“错误”,面板会显示哪个节点抛出了错误、错误信息是什么,以及该节点接收到的数据。一个常见的早期错误是以为某个节点存在数据,而实际上并不存在 —— 在假设之前始终打开执行并查看每一步的实际 JSON。
还有另外两个值得了解的面板:Credentials 选项卡(在此一次性存储 API 密钥并跨多个节点引用它们)和 Variables 选项卡(用于存储可重复使用的值,如 URL 或环境名称,而不需要在每个节点中硬编码它们)。
概要
n8n 为你提供一个可视化编辑器,用于构建数据流以连接 API、数据库和自定义逻辑,同时又不放弃进入代码、版本控制 JSON 或自建主机的能力。学习的主要区域包括画布、节点面板、每个节点的配置面板,以及用于调试的执行面板。每个工作流都以一个触发节点开始,每个节点的数据都是简单的 JSON,你可以在运行的任何时刻进行检查。
课程检查点