用途:@n8n/workflow-sdk 是 n8n 自带的 TypeScript SDK(位于 n8n monorepo 的 packages/@n8n/workflow-sdk),用于以代码方式构建 n8n 工作流,产出标准 n8n 工作流 JSON。资料核对版本为 0.34.2(2026 年 10 月 1 日),另有 0.35.x beta;包处于 1.0 之前且每周变动,应固定精确版本。
主要能力:用 trigger({ type, version, config }) 定义入口,node(...) 定义其他节点,config 含 name、parameters、credentials、position、executeOnce 等标志;用 workflow('id','Name').add(trigger).to(nodeA).to(nodeB) 连接图,可多次 .add() 添加多个入口。ifElse 提供 .onTrue/.onFalse,switchCase 提供 .onCase,merge 用 .input(0)/.input(1),splitInBatches 提供 .onEachBatch/.onDone,循环体以 nextBatch(loopNode) 结束。expr('{{ ... }}') 标记表达式,nodeJson(node,'path') 读取指定上游节点字段。AI 节点可构建 languageModel、memory、tool、outputParser 并挂到 agent 的 subnodes。凭据用 newCredential('名称') 占位,需在 n8n 中绑定。validate()/validateWorkflow() 返回 { valid, errors, warnings };toJSON() 返回 { id, name, nodes, connections, settings }。generateWorkflowCode 将 JSON 转为 SDK 代码,parseWorkflowCode 将代码解析回 JSON(仅支持受限 TypeScript 子集:仅 const、无 import/循环/箭头函数/new/具名导出,单个 export default)。
使用方式:安装 npm install --save-exact @n8n/workflow-sdk@0.34.2。部署时在 n8n 设置中创建 API Key,向 POST /api/v1/workflows 仅发送 name、nodes、connections、settings,再调用 POST /workflows/{id}/publish 发布(旧 activate 已弃用)。
适用场景:以代码管理导出的 n8n 工作流、在 CI 中校验工作流、生成并发布工作流。
限制:SDK 只生成工作流定义,不执行工作流,执行在 n8n 中进行;子节点无正常前驱,其中不能用 expr('{{ $json... }}'),需用 nodeJson;空列表会跳过循环,不要用 IF 或 alwaysOutputData 保护;不要将密钥写入节点参数;许可证为 Sustainable Use License(源码可见,非开源),内部业务可用,转售或为他人托管受限。