数据截至 (上游 commit b78a3462c9a6)
编辑侧:画布画出什么、数据库存什么、DSL 带走什么
30 秒导读: 在 Dify 里拖一个节点、连一条线,最终只会变成两件东西——一个
nodes数组和一个edges数组。本章讲这份图在被执行之前的一生:浏览器里怎么被画出来、多人同时改怎么不打架、怎么变成数据库里的一行、怎么导出成一份别人能导入的 YAML。运行期的事全在别的章。
1. 这是什么(零基础也能懂)
一句话定义: Dify 的工作流编辑器是一个「JSON 图的可视化编辑器」——画布负责把 JSON 画成方块和连线,也负责把你的拖拽改回 JSON。
解决什么问题: 你要搭一条 AI 流程(用户提问 → 检索知识库 → 交给大模型 → 输出答案),不想写代码。于是你在网页上拖四个方块、连三条线。这些操作必须被存下来、被别人看到、还能打包送给同事。
编辑侧就管这三件事,对应三种形态:
| 形态 | 长什么样 | 活在哪 |
|---|---|---|
| 画布态 | React Flow 的 nodes / edges 数组(带一堆临时 UI 字段) | 浏览器内存 |
| 存储态 | 一段 JSON 文本 | Postgres workflows 表的 graph 列 |
| 可移植态 |