在Dify工作流中添加代码节点可运行Python或JavaScript处理数据,需专业版或企业版且v1.10.0+支持JavaScript;Python节点须赋值outputs字典,JavaScript节点outputs必须为对象,调试需接调试节点并检查输入字段名与空值处理。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在Dify工作流中添加代码节点,能让你直接运行Python或JavaScript逻辑处理数据、调用外部API、做条件判断或格式转换,避免绕路导出再导入。
确认工作流编辑权限与版本支持
进入Dify控制台→点击目标应用→选择「工作流」标签页→确保你使用的是专业版或企业版实例;免费版不支持代码节点,【未开通专业版将无法看到“代码”节点选项】。
检查右上角Dify版本号:v1.10.0及以上才完整支持JavaScript运行时;低于该版本仅支持Python。
拖入并配置Python代码节点
在工作流画布空白处点击「+」→选择「代码」→在弹出面板中将语言切换为「Python」→点击「确定」。
立即学习“Java免费学习笔记(深入)”;
双击新添加的代码节点打开编辑器,系统自动注入两个预设变量:inputs(接收上游传入的字典)和outputs(必须赋值,作为下游输入)。不声明outputs会导致工作流中断且无报错提示。
写一段合法Python代码,例如:outputs = {"result": inputs.get("text", "").upper()}
注意:不能使用print()输出调试信息,日志需用logger.info();直接写print会触发运行失败。
接入JavaScript代码节点
方法一:新建节点时语言选「JavaScript」→编辑区默认启用ES2022语法,支持async/await、fetch和JSON.parse等原生能力。
方法二:若已有Python节点,可点击节点右上角「⋯」→「切换语言」→选JavaScript→确认切换;【切换后原有Python代码不会自动转换,需手动重写】。
JavaScript节点中,inputs以普通对象传入,outputs必须是对象(不能是字符串或数组),否则下游节点收不到数据。例如正确写法:outputs = { value: inputs.query?.length || 0 };
调试与验证输出结构
第一步:在代码节点后接一个「调试」节点,用于查看outputs实际内容。
第二步:点击画布右上角「运行工作流」→在输入框填入测试数据(如{"text": "hello"})→执行。
第三步:观察调试节点输出是否符合预期结构;若显示「undefined」或报「TypeError: Cannot read property」,大概率是inputs字段名拼写错误或未做空值判断。
第四步:鼠标悬停在代码节点上方,点击「日志」图标查看实时运行日志——只有抛出异常时才会显示完整堆栈,正常执行不打印任何内容。


















