必须通过全局变量实现跨节点参数共享,否则易出错且无法保证一致性;需在项目设置的环境变量中创建全大写下划线命名的变量,再于http、代码或条件节点中分别用{{}}、os.getenv()或表达式引用,并通过调试验证替换是否生效。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在Dify工作流中,多个节点需要复用同一组配置参数(如API密钥、基础URL、超时时间),但又不想每个节点都手动重复填写——这时必须通过全局变量实现跨节点参数共享,否则每次修改都要逐个节点调整,极易出错且无法保证一致性。
创建全局变量
进入Dify项目设置页 → 左侧导航栏点击【环境变量】→ 点击右上角【+ 添加变量】按钮。
在弹出表单中,填写变量名(如 【BASE_URL】)、变量值(如 https://api.example.com/v1),并勾选【启用】。变量名必须全大写、下划线分隔,否则后续引用会失败。
点击【保存】后,该变量即刻生效,但仅对当前环境(开发/生产)生效,切换环境需重新配置。
在节点中引用全局变量
方法一:在任意节点的参数输入框中,直接输入 {{BASE_URL}} 即可动态注入值。这适用于所有支持模板语法的字段,包括HTTP请求的URL、JSON Schema中的默认值、LLM提示词中的占位符。
方法二:在代码节点(Python)中,使用 os.getenv("BASE_URL") 读取。注意:必须确保代码节点已启用「访问环境变量」权限(默认关闭),否则返回 None 而不报错,容易遗漏调试。
方法三:在条件分支节点中,可在「判断表达式」里写 {{BASE_URL}} == "https://api.example.com/v1",支持字符串比对和基础逻辑运算。
验证变量是否生效
第一步:在任意HTTP节点中,将URL设为 {{BASE_URL}}/health;
第二步:运行调试模式,观察请求发出前的实际URL是否被正确替换;
第三步:若请求失败且错误日志显示 Invalid URL: {{BASE_URL}}/health,说明变量名拼写错误或未启用——【变量名大小写必须完全匹配,且不能带空格或中文】;
第四步:成功发出请求后,在「网络」面板查看原始请求头与地址,确认替换结果无误。











