SuperAPI AI 工具集

n8n-core-architecture

智能体与模型

查看项目

更新于 10-26 08:07

技能介绍

n8n-core-architecture 是一份关于 n8n v1.x 内部架构与节点开发的参考技能,用于在构建 n8n 工作流、创建自定义节点、理解数据流或排查执行问题时提供结构化知识。

用途与定位 该技能面向 n8n 工作流开发者和自定义节点作者,核心目标是帮助开发者正确理解 n8n 的基于 item 的执行模型,避免因数据结构误用导致的数据损坏或执行异常。

主要能力与覆盖内容

  1. 架构分层:说明执行引擎(Node.js + TypeScript)、Item 管道(INodeExecutionData)、节点系统(INodeType 接口)、表达式引擎(Data Proxy,提供 $json、$input、$binary、$execution、$workflow、$node)、进程模型(Main/Worker/Queue)以及工作流设置(IWorkflowSettings)各自的职责。
  2. 执行模式:列举 WorkflowExecuteMode 的取值,包括 manual、webhook、trigger、retry、cli、error、integrated、internal、evaluation、chat,并说明各自的触发方式。
  3. 节点类型:区分常规节点(execute(),有输入)、事件触发节点(trigger(),无输入)、Webhook 触发节点(webhook())、轮询触发节点(poll(),polling: true)和声明式节点(无 execute(),通过路由配置)。
  4. 数据结构:给出 INodeExecutionData 接口定义(json 必填,binary、error、pairedItem、metadata 可选)、IBinaryData 与 IBinaryKeyData 结构,以及 execute() 返回二维数组 INodeExecutionData[][] 的含义:第一维为输出索引,第二维为该输出的 item 列表。
  5. 二进制数据:说明如何通过键名访问 binary 数据,以及 assertBinaryData、getBinaryDataBuffer、detectBinaryEncoding、prepareBinaryData 等辅助方法。
  6. pairedItem 数据血缘:说明 IPairedItemData 结构与单项、多项映射的设置方式。
  7. 进程模式:单进程(默认)与队列模式(基于 BullMQ/Redis)的差异,以及 EXECUTIONS_MODE、QUEUE_BULL_REDIS_HOST、QUEUE_BULL_REDIS_PORT、QUEUE_WORKER_CONCURRENCY 等环境变量。
  8. 工作流设置:timezone、errorWorkflow、executionTimeout、executionOrder、saveDataErrorExecution、saveDataSuccessExecution、saveManualExecutions、saveExecutionProgress、callerPolicy、callerIds 等字段。
  9. 表达式数据代理:$json、$binary、$input(all/first/last/item)、$node、$workflow、$execution.id/mode/resumeUrl/customData、$now、$today、$parameter、$position、$env 等变量,以及 customData 的 set/get/setAll/getAll 用法。
  10. 决策树:辅助选择节点类型与进程模式。

关键注意事项 资料列出了多项必须遵守的规则:execute() 必须返回外层数组包裹的结果;不得直接修改输入 item;转换 item 的自定义节点必须设置 pairedItem;访问 item.binary 前必须判空;处理多个 item 时使用循环索引而非硬编码索引获取参数;必须用 try/catch 包裹处理逻辑并检查 continueOnFail()。新工作流应设置 executionOrder: 'v1'。

使用方式 该技能以参考文档形式组织,包含 references/methods.md(类型签名)、references/examples.md(示例)、references/anti-patterns.md(反模式),并引用 n8n 官方文档与 GitHub 仓库作为来源。

适用场景 适用于编写 n8n 自定义节点、调试工作流执行问题、理解 item 流与数据血缘、处理二进制数据、规划单进程或队列部署,以及查阅工作流设置与表达式变量。

限制 资料仅为架构参考文档,未提供安装步骤、收费信息或运行平台要求;具体 API 细节需以官方文档和源码为准。