【n8n】如何跟着AI学习n8n【02】:基础节点学习
前言
AI很强大,定制一个AI的老师,专门教n8n怎么样?可以,走起~
行动纲要
1、cherryStudio创建一个助手【n8n技术老师】,专门用于指导n8n学习
2、让【n8n技术老师】,制定学习计划,然后分拆各教学知识点
3、跟着【n8n技术老师】进行学习,我这里记录学习过程,及相关知识点,包括截图,运行结果说明,给小伙伴们参考。
工具准备
CherryStudio:定制AI指导老师,相关安装及参考知识,见附录相关链接。
n8n:运行环境,相关安装及参考知识,见附录相关链接。
已完成
定制AI老师,及学习大纲的制定,参考之前的文档:
【n8n】如何跟着AI学习n8n_01:定制AI老师-CSDN博客
👌好了,正式开始学习啦,下面是AI老师提供的第一部门学习内容,以及本教主补充的操作界面,执行结果等,希望对大家有帮助。
🧭 Lesson 1:熟悉 n8n 界面与流程创建
🎯 学习目标
- 登录 n8n Web 界面
- 熟悉主界面布局与功能
- 创建第一个工作流(Workflow)
- 添加 Start 和 Debug 节点
- 执行流程并查看执行结果
🧱 学习内容详解
1. 登录 n8n Web 界面
如果您已完成 n8n 的本地部署(如使用 Docker 或直接运行),可以通过浏览器访问:
http://localhost:5678
如果设置了用户名和密码,请输入;否则,n8n 会提示您创建第一个用户。
2. 熟悉主界面布局
登录n8n,界面如下:
(说明: 我这里用了浏览器翻译软件,n8n原本是英文滴)。
-
左侧边栏:
- Workflows:所有工作流列表
- Credentials:凭证管理(用于连接第三方服务)
- Settings:系统设置
- Executions:查看流程执行记录
3. 创建第一个流程
点击左上角 “+” 按钮,选择 “Create New Workflow”,熟悉一下流程编辑界面:
-
主工作区:
- 在左上角,给出流程名称
- 流程画布:您可以在这里拖拽节点、连接节点、编辑参数
- 节点面板:点击“+”按钮,选择节点类型
-
右上角按钮:
- Execute Workflow:手动执行流程
- Save:保存当前流程
🧪 实战任务:创建并执行一个最基础流程
✅ 任务目标:
创建一个最简单的流程:Start → Debug
,执行流程并查看输出。
🔧 操作步骤:
Step 1:添加 Start 节点
- 点击右下角 “+” 按钮
- 在搜索框中输入
start
- 选择 Start 节点,点击添加
实际执行情况:
在 n8n 的官方文档 Explore n8n Docs: Your Resource for Workflow Automation and Integrations | n8n Docs 中确实没有一个明确名为 “Start” 的节点,但 n8n 的工作流设计中通常会有一个隐式的流程起点节点。以下是相关解释和引用:
在 n8n 中,流程的起点通常是由触发器节点(Trigger Node) 来充当的,例如:
- Schedule Trigger(定时触发)
- Webhook(HTTP 请求触发)
- Manual Trigger(手动执行)
这些节点可以看作是流程的“起始点”,而不是一个显式的“Start”节点 3。
官方文档中提到,创建工作流的第一步是选择一个触发器节点,例如“On a Schedule”或“Manual Trigger”,这相当于流程的起点 5。
在 n8n 的节点列表中,并没有一个名为“Start”的独立节点,但你可以通过添加一个“Manual Trigger”节点来实现类似功能,作为流程的入口 5。
所以,用一个“手动执行”节点,作为开始节点:
Step 2:添加 Debug 节点
- 再次点击 “+” 按钮
- 输入
debug
- 选择 Debug 节点,点击添加
实际执行情况:也没找到debug,不晓得是否因为限制:
这里,我用一个直接输出内容的节点来代替:
进入code节点设置界面:
点击“test step”,可以看到运行结果
Step 3::执行流程
- 点击右上角的 “Execute Workflow” 按钮
实际执行情况:
📦 流程模板(JSON)
工作流可以以文件的形式下载,保存或分享给其他小伙伴试用。工作流下载,是 .json
文件,可以将json文件内容直接复制到 n8n 中,或者通过导入的方式导入。
📥 如何导出流程模板:
- 打开 n8n 的目标工作流
- 点击右上角菜单(三个点)→ 选择 "download"
- 成功后,在下载目录查看
📥 如何导入流程模板:
- 打开 n8n 主界面,创建一个空白工作流
- 点击右上角菜单(三个点)→ 选择 "Import From file..."
- 或者,直接拷贝json文件中的代码,粘贴到空白面板,工作流各节点就自动绘制出来了
- 成功导入后,就可以正常使用了。
📝 小结与思考
到这里,跟【n8n技术老师】学习,总结一下,教学大纲可用,但细节真不太行,很多和实际操作对不上,得限制AI严格按照官方文档输出教程。
🧭 Lesson 2:使用 Set 节点设置数据
在上面例子中,start后面,增加节点,搜索“set”
然后设置添加字段:
设置 name: "Alice", age: 30,点击“Test step”,可以测试运行情况。
🧭 Lesson 3:使用 Function 节点处理数据(📌重点)
📌重点知识:本节点中学习常用的语言支持功能,是重点哦。
操作示例
在上面例子中,start后面,set节点后增加function节点,搜索“func”
function节点设置,可以通过JavaScript来编写处理功能:这里是转换姓名为大写
不同模式下,代码对象不同,分别如下:
模式选择:对所有项目运行一次
可以拖动“input”中的name项目,到代码区,获得对象的代码表达式,代码如下,点击“test step”,可以查看转换结果。
const nameUpper =$input.first().json.name.toUpperCase();
return [{ json: { name: nameUpper } }];
其中,$input代表所有的对象。
模式选择:对每个项目运行一次 
代码:
const nameUpper =$json.name.toUpperCase();
$input.item.json.name=nameUpper;
return $input.item.json;
其中,$input.item代表当前正在处理的节点的输入项。
📌页面功能说明
选择模式,有两种模式:
- 对所有项目运行一次 :这是默认模式。当你的工作流运行时,代码节点中的代码会针对每个输入项目执行一次,无论有多少输入项目。
- 对每个项目运行一次 :如果你希望你的代码对每个输入项运行,请选择此项。
选择语言,有两种:
- JavaScript:代码节点支持 Node.js。
- Python:n8n 在 1.0 版本中添加了 Python 支持。
Python比 JavaScript 慢
代码节点处理 Python 比 JavaScript 慢。这是由于额外的编译步骤造成的。
其他功能提示:
AI 辅助功能
在 Code 节点中,AI 辅助功能仅对云用户可用。在自托管 n8n 中不可用。
对应知识点
当前节点输入
当前节点输入的方法支持Javascript和Python,可以输入列表分别如下
javascript
方法 | 描述 | 是否可在代码节点中使用? |
---|---|---|
$binary | $input.item.binary 的简写。从节点传入的二进制数据 | ❌ |
$input.item | 当前正在处理的节点的输入项。有关配对项和项链接的更多信息,请参考项链接 。 | ✅ |
$input.all() | 当前节点中的所有输入项。 | ✅ |
$input.first() | 当前节点中的第一个输入项。 | ✅ |
$input.last() | 当前节点中的最后一个输入项。 | ✅ |
$input.params | 包含上一个节点的查询设置的对象。这包括它运行的操作、结果限制等数据。 | ✅ |
$json | $input.item.json 的简写。来自节点的传入 JSON 数据。有关项结构的信息,请参阅 Data structure。 | ✅(当为每个项运行一次时) |
$input.context.noItemsLeft | 布尔值。仅在与循环遍历项节点一起使用时可用。提供有关节点中正在发生什么的信息。使用此信息来确定节点是否仍在处理项。 | ✅ |
Python
方法 | 描述 |
---|---|
_input.item | 正在处理的当前节点的输入项。有关配对项和项链接的更多信息,请参阅项链接 。 |
_input.all() | 当前节点中的所有输入项。 |
_input.first() | 当前节点中的第一个输入项。 |
_input.last() | 当前节点的最后一个输入项。 |
_input.params | 包含上一个节点的查询设置的对象。这包括它运行的操作、结果限制等数据。 |
_json | _input.item.json 的简写。来自节点的传入 JSON 数据。有关项结构的详细信息,请参阅 Data structure。当您将 Mode 设置为 Run Once for Each Item 时可用。 |
_input.context.noItemsLeft | 布尔值。仅在处理循环遍历项节点时可用。提供有关节点中正在发生什么的信息。使用此功能来确定节点是否仍在处理项。 |
console.log的使用
使用 console.log
写入您的浏览器控制台。这对于调试和解决工作流问题很有用。
chrome浏览器
Firefox控制台:
🧭 Lesson 4:流程控制 —— IF
节点与条件判断
在自动化流程中,我们经常需要根据某些条件来决定流程的走向,n8n 提供了多种流程控制节点,其中最常用的是:
IF
节点:用于判断条件并分支执行Switch
节点:用于多条件分支判断(类似 switch-case)Loop Over Item
节点:用于循环处理数组数据
🧪 实战:
在上一个流程中,set节点后面,增加IF节点,判断age ,不同结果,执行不同分支,业务逻辑如下:
Start → Set → IF
IF → Debug (Yes)
IF → Debug (No)
创建if节点:
配置IF节点,比较age,点击“Test step”,会有分别给出True、False分支的输出:
⚠️ 注意,set节点age要设置为数字格式:
在If节点,后面设置两个code节点,分别执行true和false的结果:
true分支,就是图中Code1节点,用之前姓名大小的那个节点;新增加一个节点执行false分支,小于18岁,提示需要审核:
代码:
const name = $input.first().json.name;
return [{ json: { message: `Hi ${name}, we need to review your account.` } }];
🧭 Lesson 5:循环处理 —— 使用 Loop Over Item
节点
Loop Over Item
节点简介
Loop Over Item
节点(也称为 Split In Batches
)用于对数组数据进行循环处理。它允许您:
- 将一个数组数据拆分为多个批次处理
- 控制每批处理的数据量(Batch Size)
- 避免 API 限流或处理大量数据时的性能问题
在 n8n 中,节点默认会对每个数据项(item)自动循环处理,但在某些特殊场景(如需多次回流、条件终止)可以使用 Loop Over Item
节点实现自定义循环。
🧪 实战:构建一个循环处理数组的流程
创建一个流程,使用 Loop Over Item
节点循环处理一个用户列表,并输出每个用户的信息。流程节点规划:
Start → Set(设置用户列表) → Split节点→ Loop Over Item(循环处理) → Debug(输出结果)
开始触发节点,后面的set节点,设置一个字段 users
,值为一个包含多个用户信息的数组:
[{"name": "Alice", "age": 25},{"name": "Bob", "age": 30},{"name": "Charlie", "age": 35}
]
set设置界面:
此时,输出对象是“1 item”,后面 增加“Split”节点,拆分成独立的用户对象:
拆分后,每个user是一个item,输出为“3 items”,在增加loop节点,循环每一个user:
loop节点配置:
每一次循环用户处理的占位节点“Replace me”,在该节点增加code节点,
删除“Replace me”节点:
然后,设置code节点,age大于28,输出用户:
代码:
if($input.first().json.age>28)return $input.first().json;elsereturn [{json:{}}];
loop的done分支,增加节点Aggregate,合并轮训处理结果:
Aggregate节点设置:
最后点击运行,完成这周的学习
结束语:
基本功啊,基本功,虽然有点繁琐,但确实我们越足的底气,小伙伴们加油💪