SuperAPI AI 工具集

n8n-code-javascript

写作与研究

查看项目

更新于 10-16 05:04

技能介绍

该技能用于在 n8n 的 Code 节点中编写 JavaScript 代码,提供数据访问、运行模式、返回格式和沙箱限制方面的指导。

用途:处理复杂数据转换、自定义计算与业务逻辑、递归操作、API 响应解析、多步条件判断,以及跨条目聚合。

主要能力:

  1. 数据访问:用 $input.all() 取全部条目,$input.first() 取首条,$input.item 取当前条目(仅“逐项运行”模式),可用 $node["节点名"] 或 $('节点名') 跨节点取值,需搭配 .first().json 或 .all()。字段一律经 .json 访问。
  2. 运行模式:推荐“Run Once for All Items”,适合聚合、过滤、批量处理;仅在条目需独立处理时用“Run Once for Each Item”。后者每项都要新建沙箱,开销约 0.6 ms/项,远高于前者的 ~0.02 ms/项。
  3. 返回格式:规范形式为 [{json: {...}}];“全部条目”模式下裸对象或对象数组会被自动包裹,但返回字符串/数字或 null 会报错。
  4. 内置能力:this.helpers.httpRequest()(不支持鉴权)、DateTime(Luxon)、$jmespath()、$getWorkflowStaticData()。

使用要点:Webhook 数据在 $json.body 下,而非 $json 直接访问;表达式 {{ }} 不能写在代码位置;访问字段建议用可选链做空值防护。

限制:this.helpers.httpRequestWithAuthentication 被禁止,需鉴权的请求应改用 HTTP Request 节点;$helpers 全局在沙箱中是 undefined;$env 在 N8N_BLOCK_ENV_ACCESS_IN_NODE=true 时不可用;require() 仅对白名单模块可用(通过 N8N_RUNNERS_ALLOWED_BUILT_IN_MODULES、N8N_RUNNERS_ALLOWED_EXTERNAL_MODULES 配置)。简单字段映射、过滤、条件判断宜用 Set、Filter、IF、Switch 等原生节点,Crypto 与 XML 也有原生节点。若为 AI Agent 的 Custom Code Tool 写代码,应改用 n8n-code-tool 技能。