开篇问题前十篇我们已经完成了 FastGPT 的基础工程、API 入口、聊天主链路、鉴权、会话和消息模型。从这一篇开始,系列进入第三阶段:工作流运行时。FastGPT 的工作流能力看起来像一个可视化画布:用户输入 - 知识库检索 - AI 对话 - 指定回复或者:用户输入 - 条件判断 - 分支 A / 分支 B - 工具调用 - 汇总回答但对代码来说,它不是“画布”,而是一组可以保存、发布、执行和调试的数据协议。第十篇讲了聊天记录如何落库,这一篇要回答另一个更底层的问题:FastGPT 如何用 TypeScript 类型和 JSON 数据表达一个 Flow?要理解后续的dispatchWorkFlow,先要理解这几个核心抽象:节点是什么。边是什么。输入和输出如何表达。引用关系如何保存。节点模板、画布节点、存储节点、运行时节点有什么区别。应用为什么保存modules,版本为什么保存