快速结论:该报错发生在将包含多个 End 节点(例如 IF/ELSE 分支分别连接不同 End)的 Dify 工作流发布为 Workflow-as-Tool 时,工具输出列表只读取了第一个 End 节点的输出变量。优先排查工作流分支结构是否包含多个 End 节点,以及发布前是否刷新了工具输出预览。
适用环境:Dify 源码自托管(Self Hosted Source)环境,Dify 版本为 main 分支 commit c6ca3950(内部跟踪为 Linear ENG-809)。该问题不依赖特定操作系统或 CUDA/GPU 环境。
最快修复方案:暂无确认的一步修复方案。Issue 中仅复现了问题,未在 `main` 分支上提供已验证的代码修复方案。可优先尝试重启 Dify 后端服务或清除浏览器缓存后重新发布工作流,但此操作未被 Issue 作者验证。
注意事项:该问题已被标记为 bug,但截至 Issue 关闭时尚未合并修复补丁。如果工作流只有单个 End 节点则不受影响;多分支或多 End 节点场景下,工具输出列表可能遗漏非第一个 End 节点的变量,需等待官方修复或手动调整工作流结构(如合并为单个 End)作为临时规避。
问题场景
用户在使用 Dify 创建多分支工作流时触发该问题。典型流程是:新建一个工作流,包含 Start 节点 → IF/ELSE 节点,并将 IF/ELSE 的两个分支(True/False)分别连接到两个不同的 End 节点。在两个 End 节点中分别配置不同的输出变量(例如 aaa 和 bbb)。发布该工作流后,打开「发布 → Workflow as Tool」并查看「工具输出」(Tool Output),发现列表只显示第一个 End 节点的输出,第二个 End 节点的输出变量(如 bbb)没有出现。
报错原文
Workflow-as-tool output list only reads the first End node
原因分析
根据 Issue 正文和复现 DSL,可能原因如下:
- 代码逻辑缺陷:Dify 后端在解析工作流 DSL 并生成工具输出 schema 时,可能只遍历了图(graph)中的第一个 End 节点(即节点 ID 最小的或边列表中第一个指向 End 的节点),而未遍历所有分支中的 End 节点,导致后续 End 节点的输出变量未被收集进工具输出列表。
- 图遍历顺序问题:由于工作流中 IF/ELSE 的 True 分支和 False 分支是并行存在的,后端可能使用了一种只保留第一个 End 节点的简化算法,忽略了其他分支的 End 节点输出。
由于 Issue 中未提供源码层面的证据(如具体函数名或 PR 链接),以上仅为逻辑推断,未在 Issue 中明确确认。
环境排查
- 确认 Dify 版本是否为
main分支 commitc6ca3950或更早版本(该问题已在此版本复现)。 - 检查工作流 DSL 中是否包含多个 End 节点(通过导出 DSL 或查看节点列表确认)。
- 确认工作流发布状态:是否在修改分支后重新点击了「发布」按钮,并重新打开 Workflow as Tool 面板查看 Tool Output。
- 如果使用浏览器,尝试清除缓存或用无痕模式重新打开 Dify 控制台,排除前端缓存导致输出列表未刷新的可能。
解决步骤
- 临时规避方案(未被 Issue 验证):将工作流结构改为单一 End 节点。例如,将 IF/ELSE 的两个分支连接到同一个 End 节点,并在该 End 节点中通过条件变量(如使用变量聚合节点)输出不同内容,从而避免多 End 节点导致的输出列表遗漏。
- 检查是否有官方补丁:访问 Dify 社区或 GitHub main 分支的更新日志,确认是否已有修复该问题的 commit(Issue 关闭时间 2026-09-01 之后)。如果有,更新 Dify 到最新 main 版本并重新测试。
- 反馈与跟踪:如果临时规避无法接受,可以持续关注原始 Issue #41516 的后续评论或关联 PR,等待官方修复并发布到稳定版本。
验证方法
修复或规避后,重新执行以下步骤验证:
- 打开目标工作流,确认 IF/ELSE 分支结构存在且两个 End 节点分别配置了输出变量(如
aaa和bbb)。 - 点击「发布」按钮重新发布工作流。
- 进入「发布 → Workflow as Tool」页面,查看「工具输出」(Tool Output)列表。
- 确认列表同时包含
aaa和bbb两个输出变量;如果只显示其中一个,则问题仍存在。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


