1.2 创建 chatflow
Dify 的 workflow 只能接收一次用户输入(开始节点),输出一次(结束节点)。
本项目需要多次输出(打印日志),只有 chatflow 能满足这样的需求,后者的直接回复节点可以在工作流开始节点之后任意位置添加直接回复节点输出内容。此外,chatflow 没有结束节点。
1.2.1 本案例能否改成 Workflow?
可以。 从「上传 CSV → 解析 → 提取元数据 → 分析建议 → 汇总 → 整理输出」这条链路来看,逻辑是单次、线性的,没有多轮对话,用 Workflow 完全可以跑通,并在结束节点输出和现在一样的最终报告。
会有什么问题? 文档前文已说明:Workflow 只能一次输入(开始节点)、一次输出(结束节点),没有「在流程中间向用户发消息」的机制;Chatflow 则支持在流程中任意位置插入**「直接回复」**节点,且没有「必须只有一个结束节点」的限制。因此改成 Workflow 后:
| 维度 | Chatflow(当前) | 改成 Workflow 后 |
|---|---|---|
| 最终报告 | ✅ 有 | ✅ 有(结束节点输出) |
| 中间提示「正在分析」 | ✅ 有(直接回复节点) | ❌ 没有,只能等全部跑完才看到结果 |
| 输出时机 | 可以分两次:先「正在分析」,再最终报告 | 只有一次:流程结束时的最终结果 |
结论:功能上能满足(同样的分析结果和报告),但会失去「正在分析」这类中间进度提示,用户会感觉是「上传后长时间无反馈,最后一次性出结果」。
建议:若不介意没有中间提示,可以改成 Workflow,逻辑更简单,也方便用 API、定时任务、批量触发 等方式调用;若希望保留「正在分析」等体验,继续用 Chatflow 即可。

整体流程如下:
