ComfyUI · Source Code Anatomy
把一张节点图,
追到最后一次张量运算
基于 ComfyUI 0.31.0 / 7d11ec3 的中文源码拆解。不是目录导览,而是沿真实请求逐层读懂队列、调度、缓存、模型加载、显存管理与采样循环。
Workflow→API Prompt→ExecutionList→ModelPatcher→Sampler
739Python 源文件
254,241Python 代码行
1,197测试函数
7d11ec3固定源码提交
一张图先看懂全局
ComfyUI 的核心并不是“把节点从左到右跑一遍”。它更像一个面向生成式模型的、小型而动态的数据流运行时:服务端先验证一份 API Prompt,再从输出节点反向建立依赖,只执行真正需要的部分;运行过程中,节点还能声明懒输入、挂起异步任务,甚至返回一张新的子图。
这套文档沿着真实请求往下走,不按目录逐个念文件。每章都回答五件事:它解决什么问题、数据怎样流动、源码从哪里进出、为什么这样设计、你能把什么带回自己的系统。
四条主线
Ⅰ系统骨架启动顺序、HTTP/WebSocket 边界、Prompt 与 Workflow 的差别。Ⅱ执行引擎验证、动态拓扑、懒执行、异步挂起、运行时子图和缓存。Ⅲ模型与采样权重识别、ModelPatcher、显存预算、CFG 与采样循环。Ⅳ扩展与边界V1/V3 节点协议、自定义节点加载、文件安全与持久化。
这份拆解基于什么
- 本地源码版本:
0.31.0 - 上游提交:
7d11ec31cb700d881fdf2d73731ecde0093b9540 - 提交时间:2026-08-10 07:13:24 UTC
- 所有“源码定位”链接都固定到这一提交,而不是会漂移的
master - 代码规模与测试数量来自该快照的本地静态统计
文档不会把前端仓库的行为假装成后端事实,也不会把可选的 Assets、Dynamic VRAM 或 Partner API 节点写成无条件启用。碰到版本性设计时,会明确标出“默认路径”“可选路径”和“兼容层”。
推荐入口
第一次读,先看阅读路线;只想定位代码,直接打开源码地图;正在写自定义节点,则从V1 / V3 节点协议开始。
Last updated on