菜单

核心架构

相关源文件

本文档概述了ComfyUI的分层架构,涵盖了主要的系统组件及其交互。它重点介绍了核心抽象、执行管道以及基于节点的 워크플로우 系统如何协调 AI 模型操作。

有关特定节点实现的详细信息,请参阅 节点系统。有关特定模型的架构和实现,请参阅 模型系统。有关执行详细信息和 워크플로우 处理,请参阅 执行系统

系统概览

ComfyUI围绕一个基于节点的 워크플로우引擎构建,该引擎通过分层架构协调 AI 模型操作。系统通过执行代表文本编码、图像生成和模型加载等操作的互连节点来处理用户定义的 워크플로우。

来源: main.py1-312 server.py150-220 execution.py270-400 nodes.py1-100 comfy/model_management.py1-50

核心组件

PromptServer和请求处理

PromptServer类作为中央协调点,管理HTTP/WebSocket连接并将请求路由到执行系统。

服务器维护用于实时进度更新的WebSocket连接,并使用HTTP端点进行 워크플로우 提交和文件操作。

来源: server.py150-292 main.py214-296

节点系统基础

节点系统构建在ComfyNodeABC基类和一个将节点类型映射到其实现的全局注册表之上。

每个节点通过类方法定义其接口,这些方法指定输入类型、返回类型和执行函数。

来源: nodes.py49-70 comfy/comfy_types.py1-50 nodes.py538-575

模型管理架构

模型管理系统负责AI模型的加载、内存优化和设备放置。

系统自动检测模型类型,根据可用VRAM应用内存优化,并管理加载/卸载生命周期。

来源: comfy/model_management.py407-500 comfy/model_base.py112-150 comfy/sd.py266-310

数据流架构

워크플로우 执行管道

ComfyUI通过确定性的执行管道处理 워크플로우,该管道解析依赖关系并按正确的顺序执行节点。

执行引擎维护节点输出和UI数据的缓存,支持不同的缓存策略(经典、LRU、依赖感知),并提供实时进度反馈。

来源: execution.py270-400 comfy_execution/graph.py1-100 execution.py108-151

模型加载和内存管理

模型管理系统通过智能加载策略优化内存使用。

该系统支持多种设备类型(CUDA、CPU、MPS、DirectML),并根据可用资源自动管理模型放置。

来源: comfy/model_management.py563-637 comfy/model_management.py496-561 comfy/model_management.py720-799

核心抽象

节点接口契约

所有ComfyUI节点都通过类方法实现一致的接口。

方法目的必填
INPUT_TYPES()定义输入模式和验证。
RETURN_TYPES指定输出数据类型。
FUNCTION执行方法的名称。
CATEGORYUI组织类别。
OUTPUT_NODE标记为输出/保存节点。可选
IS_CHANGED()缓存失效逻辑。可选

来源: nodes.py49-70 nodes.py538-575 comfy/comfy_types.py1-50

模型架构抽象

ComfyUI通过统一的接口抽象不同的AI模型架构。

这种抽象允许ComfyUI通过通用接口支持各种模型架构(Stable Diffusion、SDXL、Flux等)。

来源: comfy/model_base.py112-200 comfy/supported_models.py27-180 comfy/model_base.py56-102

缓存和状态管理

执行系统提供多种缓存策略以优化性能。

缓存系统跟踪节点输入以确定何时可以重用缓存结果,从而显著提高 워크플로우 执行性能。

来源: execution.py69-106 comfy_execution/caching.py1-100 execution.py278-282