版本与证据边界
被拆解的精确版本
本地 ComfyUI-master 不是 Git 工作区,而是下载的源码快照。为避免只凭目录名猜版本,本文做了三重定位:
comfyui_version.py与pyproject.toml均声明0.31.0;- 文件时间对应上游 2026-08-10 的 master 提交;
- 对九个核心文件计算 Git blob hash,并与上游树逐项一致。
最终固定为:
commit 7d11ec31cb700d881fdf2d73731ecde0093b9540
date 2026-08-10T07:13:24Z
title [Partner Nodes] feat(Qwen): add Qwen-Image 3.0 ... (#15327)
version 0.31.0规模不是架构,但能防止错觉
739Python 文件
254,241Python 行数
284 / 109,673comfy/ 文件 / 行
136 / 40,855comfy_extras/ 文件 / 行
84 / 50,054comfy_api_nodes/ 文件 / 行
1,197测试函数
这说明两个事实:第一,execution.py 虽然是执行中枢,却不是项目的大多数;模型适配和节点生态才是体量主体。第二,不能用“看完十个核心文件”等价于“看完 ComfyUI”,但理解这些文件足以掌握所有模型和节点共同经过的运行时骨架。
核对过的核心文件
| 文件 | 角色 |
|---|---|
main.py | 进程启动、环境准备、工作线程、进度桥接 |
server.py | aiohttp 服务、路由、WebSocket、Prompt 入队 |
execution.py | 验证、节点调用、PromptExecutor、队列 |
comfy_execution/graph.py | 动态 Prompt 与拓扑执行列表 |
comfy_execution/caching.py | 输入签名与缓存策略 |
nodes.py | V1 节点样例、核心节点映射、自定义节点装载 |
comfy/sd.py | checkpoint 分析与模型组件构造 |
comfy/model_patcher.py | 权重补丁、模型视图、装卸载 |
comfy/model_management.py | 设备、dtype、显存与 offload 策略 |
comfy/samplers.py | scheduler、sampler、CFG 与条件批处理 |
哪些结论容易随版本变化
下面这些内容在后续 ComfyUI 版本中最可能漂移:
- V3 节点协议仍在演进,
Schema字段和 V1 兼容层可能变化; - Dynamic VRAM 与
comfy_aimdo的默认启用条件; - Partner / API Nodes 的远端服务协议;
- Assets 子系统默认是否启用、表结构和扫描策略;
- 前端功能协商字段和路由兼容层。
因此本文描述的是“该提交实际做了什么”,不是对未来版本的承诺。
证据等级
| 等级 | 含义 | 本文写法 |
|---|---|---|
| A | 当前快照直接可见的控制流或数据结构 | 给出文件与行号 |
| B | 多处源码组合后得到的运行时推论 | 明确写“由此可推断”并列证据 |
| C | 独立前端或第三方节点的行为 | 只说明接口边界,不冒充本仓库事实 |
例如,“历史默认永久保存在 SQLite”是错误的:PromptQueue 的 history 在内存中,且有 10,000 条上限;数据库另有用途。本文会刻意保留这种反直觉但重要的区别。
Last updated on