Workflow: persistent “Draft save failed” toast when opening a workflow with collaboration enabled

在 Dify 中启用工作流协作功能(Workflow Collaboration)后,打开任意工作流编辑器时,页面会立即弹出一个红色提示条 "Draft save failed",且该提示条不会自动消失。网络请求面板中无失败的保存请求,甚至没有任何保存请求被发出。

Workflow: persistent "Draft save failed" toast when opening a workflow with collaboration enabled

Workflow: persistent “Draft save failed” toast when opening a workflow with collaboration enabled

快速结论:启用协作编辑后打开工作流时,因 canPersistLocalGraph() 返回 false 触发了错误提示。优先升级到 Dify main 分支最新提交(包含 PR #39353 的修复)。

问题场景

在 Dify 中启用工作流协作功能(Workflow Collaboration)后,打开任意工作流编辑器时,页面会立即弹出一个红色提示条 “Draft save failed”,且该提示条不会自动消失。网络请求面板中无失败的保存请求,甚至没有任何保存请求被发出。

报错原文

Draft save failed
(对应代码中:common.draftSaveFailed)

原因分析

此问题由两个在 2026-07-20 合并的变更交互引发:

  • PR #38997 在 use-nodes-sync-draft.ts 中增加了一个 guard,当 canPersistLocalGraph() 返回 false 时,直接调用 callback?.onError?.(),不再发起保存请求。
  • PR #39293 将 onError 回调绑定到一个 timeout: 0 的 Toast 上,导致该提示不会自动消失。

关键时序:collaboration-manager.ts:661 会在每次连接时将 crdtTrusted 设为 false,因此每个工作流打开后都会存在一个 canPersistLocalGraph() 返回 false 的时间窗口。同时,handleSyncWorkflowDraft 的依赖在 ReactFlow 初始化后变化,导致触发 cleanup 过程中的 guard 并弹出 Toast。

环境排查

  • Dify 版本:确认是否为 main 分支(commit e77ee82526 或更早)。
  • 部署方式:Self Hosted(自托管)。
  • 功能状态:确认工作流协作功能(Workflow Collaboration)是否已启用。

解决步骤

  1. 可优先尝试:升级到 Dify main 分支的最新提交。该问题已在 PR #39353(及对应提交)中修复。
  2. 如果升级后仍出现此问题,请检查 collaboration-manager.tscanPersistLocalGraph() 的实现逻辑,确认是否存在其他调用路径导致该函数返回 false。
  3. 若无法立即升级,可临时禁用工作流协作功能,直到修复版本应用完成。

验证方法

升级后,重新打开工作流编辑器,确认不再出现红色 “Draft save failed” Toast 提示,且编辑器中可正常进行保存操作。

参考来源

langgenius/dify #39355 — 原始 Issue 及讨论

langgenius/dify #39353 — 修复此问题的 Pull Request

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 14580

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注