在dify中全局变量须在「系统配置→全局变量管理」中以字符串型json添加,通过${sys.global.key}引用,作用域跨工作流,非共用字段禁设为全局。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在Dify中统一管理跨工作流、跨节点的变量,避免重复定义和值不一致问题,需明确区分全局变量与流程/任务级变量的声明位置、作用域边界及初始化时机。直接在工作流内部定义无法实现真正意义上的全局共享。
确认变量是否应设为全局
打开Dify控制台 → 进入「设置」→ 「系统配置」→ 「全局变量管理」。只有在此处添加的变量才具备跨工作流可见性;若在单个工作流的Variables面板中定义,哪怕命名为api_key或env_mode,也仅限该流程实例内有效。
全局变量适用于:企业统一认证密钥、默认API网关地址、日志上报开关等全平台共用配置。非共用字段(如用户ID、会话ID)严禁设为全局,否则将引发数据污染。
添加全局变量(JSON格式)
在「全局变量管理」编辑框中,输入标准JSON键值对,【所有value必须是字符串类型】,即使数字也要加引号:
{"default_language":"zh-CN","max_retries":"3","enable_audit_log":"true"}
注意:不能写成"max_retries":3或"enable_audit_log":true,否则保存失败且无明确报错提示。
在工作流中引用全局变量
方法一:在任意节点的参数字段中使用表达式${sys.global.default_language}。此写法强制要求变量已存在于全局配置中,否则运行时报undefined错误。
Dify 3.9.2更新重点增强系统安全性,引入 Chainguard 安全基础镜像并同步社区版 CVE 修复,同时优化 OpenSearch 向量存储兼容性、插件参数传输机制及 Helm 部署配置。新增工作流模型节点缓存能力,可减少重复凭证查询,显著提升复杂工作流初始化速度,为企业级 AI 应用提供更稳定、高效的运行体验。
方法二:在Start节点的Input Schema中声明同名变量,并设置value: "${sys.global.default_language}"。这样既可复用全局值,又允许运行时传参覆盖——优先级高于全局变量。
方法三:在LLM节点提示词中直接插入{{sys.global.default_language}}。该语法仅在提示词渲染阶段生效,不可用于条件判断或数值计算。
验证全局变量是否生效
第一步:保存全局变量后,等待约10秒(系统异步加载缓存);
第二步:新建一个空白Workflow → 拖入一个Start节点 → 在Input Schema中新增字段test_var,其value设为${sys.global.default_language};
第三步:点击「调试」→ 查看输入面板右侧预览值是否显示zh-CN;
第四步:在调试日志中搜索sys.global,确认上下文对象中存在该字段且值正确。若预览为空或日志未出现,说明变量未加载成功,需检查JSON格式或重启Dify实例。










