当前位置: 首页 > news >正文

【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 的工作流设计中通常会有一个隐式的流程起点节点。以下是相关解释和引用:

    1. 在 n8n 中,流程的起点通常是由触发器节点(Trigger Node) 来充当的,例如:

      • Schedule Trigger(定时触发)
      • Webhook(HTTP 请求触发)
      • Manual Trigger(手动执行)

      这些节点可以看作是流程的“起始点”,而不是一个显式的“Start”节点 3。

    2. 官方文档中提到,创建工作流的第一步是选择一个触发器节点,例如“On a Schedule”或“Manual Trigger”,这相当于流程的起点 5。

    3. 在 n8n 的节点列表中,并没有一个名为“Start”的独立节点,但你可以通过添加一个“Manual Trigger”节点来实现类似功能,作为流程的入口 5。

     所以,用一个“手动执行”节点,作为开始节点:

    Step 2:添加 Debug 节点
    • 再次点击 “+” 按钮
    • 输入 debug
    • 选择 Debug 节点,点击添加

    实际执行情况:也没找到debug,不晓得是否因为限制:

    这里,我用一个直接输出内容的节点来代替:

     

    进入code节点设置界面:

    点击“test step”,可以看到运行结果

    Step 3::执行流程
    • 点击右上角的 “Execute Workflow” 按钮

    实际执行情况:


    📦 流程模板(JSON)

    工作流可以以文件的形式下载,保存或分享给其他小伙伴试用。工作流下载,是 .json 文件,可以将json文件内容直接复制到 n8n 中,或者通过导入的方式导入。

    📥 如何导出流程模板:

    1. 打开 n8n 的目标工作流
    2. 点击右上角菜单(三个点)→ 选择 "download"
    3. 成功后,在下载目录查看

    📥 如何导入流程模板:

    1. 打开 n8n 主界面,创建一个空白工作流
    2. 点击右上角菜单(三个点)→ 选择 "Import From file..."
    3. 或者,直接拷贝json文件中的代码,粘贴到空白面板,工作流各节点就自动绘制出来了
    4. 成功导入后,就可以正常使用了。

    📝 小结与思考

    到这里,跟【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节点设置:

      最后点击运行,完成这周的学习

      结束语:

      基本功啊,基本功,虽然有点繁琐,但确实我们越足的底气,小伙伴们加油💪 

      http://www.lryc.cn/news/604604.html

      相关文章:

    • Java面试宝典:MySQL InnoDB引擎底层解析
    • 5.Origin2021如何绘制柱状+折线双Y轴图?
    • 51单片机外部引脚介绍
    • 影视级 3D 特效的软件工具链:从概念到成片的全流程解析
    • LAMP及其环境的部署搭建
    • 逻辑回归:从线性回归到分类决策的演化
    • Spring Boot音乐服务器项目-查询喜欢的音乐模块
    • .clang-format的作用是什么,什么情况下会生效
    • 常见cms里面的几个cms框架的webshell方法(wordpress,dedecms,phpmyadmin,pageadmin)
    • 91-基于Spark的空气质量数据分析可视化系统
    • neovim 怎么调用 clang-format进行格式化
    • 常⻅CMS漏洞
    • 《Flutter篇第二章》MasonryGridView瀑布流列表
    • 算法能力提升之快速矩阵
    • python反爬:一文掌握 undetected-chromedriver 的详细使用(可通过机器人验证)
    • Flutter封装模板及最佳实践
    • git本地仓库,工作区和暂存区的知识
    • 操作系统- lecture3(进程的定义)
    • RAG:检索增强生成的范式演进、技术突破与前沿挑战
    • 通义万相文生图模型wan2.2-t2i-flash和wan2.2-t2i-plus全维度深度对比
    • 通达OA服务器无公网IP网络,如何通过内网穿透实现外网远程办公访问OA系统
    • FIN1531 LVDS输出
    • SpringBoot升级2.5.3 2.6.8
    • Vue3 Composition API
    • 【LeetCode 热题 100】33. 搜索旋转排序数组——(解法二)一次二分
    • Kong API Gateway的十年进化史
    • Zookeeper符合cap中的AP还是CP
    • FPGA(或者数字电路)中组合逻辑和时序逻辑是怎么划分的
    • 域名https证书
    • 全栈(day1)