Dify 工作流配置:从节点编排到调试上线的实操指南
Dify 的工作流配置入口在应用内部,不是控制台的全局设置。
你需要先创建一个「工作流」类型的应用,然后在画布上拖拽节点、设置输入变量、连线并调试;
调试通过后点击发布,工作流才能以 API 或 Web 应用形式被调用。
本文按这个顺序讲清每一步的操作路径和验证方式,适合刚接触 Dify、想自己搭一条可运行流程的读者。
开始前需要确认的三件事
工作流依赖 Dify 的后台服务运行,动手前先确认环境可用,避免把时间花在排查环境问题上。
- Dify 已正常启动:浏览器能打开控制台并登录,如果打不开,先按部署文档检查容器状态,例如
docker compose ps查看各服务是否健康。 - 至少有一个可用模型:在「设置 → 模型供应商」中确认已添加模型并测试通过,工作流里的 LLM 节点会直接引用它。
- 分清应用类型:Dify 有聊天助手、文本生成、工作流等类型,工作流配置只在「工作流」类型应用中生效,创建时选错类型后面无法直接切换。
创建应用并认识画布
登录 Dify 控制台后进入「应用」页面,点击创建应用,选择工作流类型并填写名称。
创建完成后会进入编排画布,左侧是节点面板,中间是画布,右侧是选中节点的配置区。
画布上默认有开始节点,它定义工作流的输入参数。
你需要在这里添加用户会传入的变量,例如 query(字符串类型),后续节点通过变量引用拿到用户输入。
按业务流程串联节点
工作流的核心是把节点按执行顺序连起来。
常见的最小可用结构是:开始 → LLM → 结束。
- 从左侧节点面板拖入一个 LLM 节点,放在开始节点右侧。
- 在 LLM 节点配置区选择模型,并在提示词中引用开始节点定义的变量,例如
{{#start.query#}},具体引用格式以当前版本画布提示为准。 - 拖入结束节点,把 LLM 节点的输出变量接到结束节点的输出参数上。
- 用鼠标从开始节点输出端口拖线到 LLM 节点输入端口,再从 LLM 节点连到结束节点,确保连线没有断点。
如果流程需要先判断再回答,可以加入条件分支或代码节点;
需要检索知识库时加入知识检索节点。
节点越多,越要检查每个节点的输入变量是否都能从上游取到值。
调试、发布与验证
画布右上角有「运行」按钮,点击后填入测试输入即可单次调试。
调试时重点看三处:
- 节点执行状态:每个节点的运行耗时和输入输出是否正常,报错节点会标红。
- 变量是否为空:如果 LLM 节点拿到的输入为空,通常是变量名写错或上游节点没有输出该字段。
- 输出是否符合预期:结束节点返回的内容就是最终结果,先在这里确认格式正确。
调试通过后点击发布,工作流才会生成可调用的 API 或 Web 访问地址。
发布后建议用一次真实请求验证,例如在「访问 API」页面按示例调用,确认返回结构与调试结果一致。
修改节点后需要重新发布,线上才会生效。
容易踩坑的几个地方
- 变量引用格式写错:提示词或节点配置里的变量引用有固定语法,从节点面板选择变量比手写更稳妥。
- 连线顺序错误:节点有多个输出端口时,连错端口会导致下游拿不到数据,调试时逐节点检查输入输出。
- 改了配置没重新发布:画布保存不等于线上生效,调试通过后必须点击发布。
- 模型不可用:LLM 节点报模型错误时,先回模型供应商设置里测试连接,再检查节点选的模型是否仍可用。
常见疑问
工作流和聊天助手有什么区别? 聊天助手面向多轮对话,工作流面向按固定步骤执行的流程编排,适合需要多节点协作、条件判断或外部工具调用的场景。
工作流能调用外部接口吗? 可以通过 HTTP 请求节点调用外部 API,需要在节点中填写请求地址、方法和参数,并确认 Dify 所在服务器能访问该地址。
发布后修改节点为什么没生效? 发布是一次快照,修改画布后要再次发布,线上调用才会使用新版本。
整体来看,Dify 工作流配置的关键是先把输入变量和节点连线理清楚,再用调试面板逐节点验证,最后发布并用真实请求复查。
按这个顺序操作,大部分配置问题都能在调试阶段暴露出来。