写代码让AI自动构建n8n工作流,最难的一步不是调用API上传JSON文件。真正的坑在于:选对节点、选对操作、填对参数,还不能瞎编不存在的字段。

n8n的图形界面是事实标准,TypeScript源码是第二标准。但这两样东西,你没法在推理时直接扔给大模型。所以有人把全部信息抽出来,做成了一份结构化目录,扔上了HuggingFace。

打开网易新闻 查看精彩图片

524个节点。每个操作。每种凭证类型。属性模式全收录。免费。CC-BY-4.0协议。

打开网易新闻 查看精彩图片

数据集地址:automatelab/n8n-nodes-catalog。可浏览版本:automatelab.tech/products/datasets/n8n-nodes-catalog/。

为什么不直接爬n8n.io?三个实际问题。

第一,幻觉成本太高。大模型如果虚构出一个slack.sendDM操作,生成的工作流能正常导入,运行时才报错。难发现,更难调试。

第二,上下文窗口扛不住。把整个n8n源码树塞进提示词不现实。你需要一份紧凑的索引,让agent能搜索。

第三,覆盖范围不透明。源码分成两个包:nodes-base和@n8n/nodes-langchain。它们在UI里的分界并不清晰。这份目录把所有东西摊平,一行一个节点。

每行包含什么?格式是JSON和Parquet(Snappy压缩)。许可证CC-BY-4.0。每月更新。

打开网易新闻 查看精彩图片

看一个Slack节点的样本(已精简):节点名slack,显示名Slack,分类Communication,分组transform,版本2.3,描述是"发送和读取消息,管理频道",需要slackApi凭证,支持message、channel、user、reaction四种操作,属性模式是JSON字符串,来源包nodes-base,GitHub永久链接指向具体文件。

再看一个AI节点,展示跨包覆盖:节点名lmChatOpenAi,显示名OpenAI Chat Model,分类AI,子分类Language Models和Chat Models (Recommended),分组transform,版本1.3,需要openAiApi凭证,来源包@n8n,源文件路径指向langchain包内的具体位置。

数据跑出来后发现几个意外数字。nodes-base贡献431个节点,@n8n/nodes-langchain贡献93个。langchain这边是真实存在的、且在增长的板块。

最常见的凭证类型,遥遥领先的是httpBasicAuth——因为通用HTTP Request节点无处不在。之后就是长尾分布。

还有一批节点的operations_supported列表是空的。这些通常是根节点:LLM、向量存储、输出解析器,"操作"这个抽象概念对它们不适用。知道这一点,对设计agent的提示词很重要。