ComfyUI入门:从源码运行到界面汉化

在AI图像生成工具百花齐放的今天,大多数用户可能更熟悉像 Stable Diffusion WebUI 这样“一键式”的图形界面。但如果你追求的是可复现、可分享、高度可控的生产级工作流,那么 ComfyUI 无疑是当前最值得深入掌握的平台之一。

它不像传统工具那样把所有功能塞进一个大面板,而是采用“节点式”设计——每个操作(加载模型、编码提示词、采样去噪等)都是一个独立模块,你可以像搭积木一样将它们连接起来,构建出复杂而精准的图像生成流程。这种模式不仅适合个人实验,也广泛应用于团队协作和自动化部署场景。

更重要的是,ComfyUI 是开源的,完全可以通过源码部署并自由定制。本文就带你从零开始:亲手搭建环境、跑通第一个生成任务、理解其底层架构逻辑,并最终实现中文界面汉化,真正迈出高效使用 ComfyUI 的第一步。


源码部署:自己动手,掌控全局

虽然也有打包好的版本可用,但从 GitHub 克隆源码来安装才是最灵活的方式,尤其适合后续扩展插件或调试问题。

环境准备不可少

确保你的系统已安装:

  • Python ≥3.10(推荐 3.10~3.11)
  • Git
  • CUDA 驱动(NVIDIA 显卡用户)
  • pip 包管理器

📌 建议使用虚拟环境隔离依赖,避免与其他项目冲突。

python -m venv comfyui-env
source comfyui-env/bin/activate    # Linux/macOS
# 或 comfyui-env\Scripts\activate  # Windows

激活后你会看到命令行前缀多了 (comfyui-env),说明已进入独立环境。

下载与安装一步到位

git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI

接下来安装 PyTorch。如果你有 NVIDIA 显卡,强烈建议使用 CUDA 版本以获得 GPU 加速:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

✅ 注意:这里 cu118 表示 CUDA 11.8,需根据你本地驱动支持的版本选择对应链接。若不确定,可访问 PyTorch 官网 查询。

没有独立显卡?也没关系,用 CPU 推理也可以:

pip install torch torchvision torchaudio

然后安装 ComfyUI 自身依赖:

pip install -r requirements.txt

启动服务,打开网页

一切就绪后,直接运行主程序:

python main.py

首次启动会自动创建目录结构,包括:
- models/checkpoints/ —— 存放主模型
- custom_nodes/ —— 第三方节点插件目录
- output/ —— 图像输出路径

默认监听地址为 http://127.0.0.1:8188,浏览器打开即可进入 UI 界面。

几个常见坑点提醒
  • NumPy 报错 module 'numpy' has no attribute 'bool_'
    这是 NumPy 2.x 引入的类型变更导致的兼容性问题。解决方法很简单:

bash pip install numpy==1.26.4

  • 显存不足怎么办?
    可启用 FP16 半精度模式降低内存占用:

bash python main.py --force-fp16

对大多数模型来说效果几乎无损,但能显著提升稳定性。


跑通第一个工作流:让 AI 画出第一张图

别急着研究高级功能,先验证整个链路是否通畅。我们来完成一次标准的“文生图”任务。

下载基础模型

你需要至少一个 Stable Diffusion 检查点文件(.ckpt.safetensors 格式)。推荐从 Hugging Face 获取官方发布的 Stable Diffusion v1.5

下载以下任一文件:
- v1-5-pruned-emaonly.ckpt
- 或更安全的 .safetensors 版本(如存在)

将其放入:

ComfyUI/models/checkpoints/

加载预设流程

打开网页端后,点击顶部菜单栏的 “Load Default”,系统会自动加载一个标准文本到图像的工作流,包含以下几个关键节点:

节点 功能
Load Checkpoint 加载模型权重
CLIP Text Encode (Prompt) 编码正向提示词
CLIP Text Encode (Negative Prompt) 编码负向提示词
KSampler 控制采样过程(步数、CFG值等)
VAE Decode 将潜在图像解码为可视结果
Save Image 输出保存

这个流程虽简单,却是几乎所有高级工作流的基础骨架。

配置参数并生成

  1. Load Checkpoint 节点中,点击下拉框选择你刚刚放入的模型。
  2. 修改两个文本编码节点的内容:
    - 正向提示词:a beautiful sunset over the mountains, realistic, high detail
    - 负向提示词:blurry, low quality, distorted
  3. 点击右上角 “Queue Prompt” 提交任务。

等待几秒至几十秒(取决于硬件),生成图像将出现在界面上,并自动保存至 output/ 文件夹。

✅ 成功!你现在不只是“使用者”,更是“流程构建者”。


背后的设计哲学:为什么是节点?

很多人初见 ComfyUI 会觉得“太复杂”。但一旦理解了它的设计理念,就会发现这种结构带来的优势远超学习成本。

所有操作即节点

ComfyUI 的核心逻辑集中在 nodes.py 文件中。每一个功能都被封装成一个类,例如:

class LoadCheckpoint:
    @classmethod
    def INPUT_TYPES(cls):
        return {
            "required": {
                "ckpt_name": (list_checkpoint_names(), )
            }
        }
    RETURN_TYPES = ("MODEL", "CLIP", "VAE")

这个节点返回三个核心组件:扩散模型、CLIP 文本编码器和 VAE 解码器。后续任何需要这些资源的节点都可以直接连接使用。

这意味着什么?—— 模型只需加载一次,多个流程共享同一份资源,极大提升了效率。

条件控制:不只是写提示词

你以为“写 prompt”就是全部?其实 ComfyUI 支持非常精细的条件干预。

比如:
- ConditioningCombine:合并多个提示来源(文字 + ControlNet + IP-Adapter)
- ConditioningSetArea:限定某个条件只作用于图像某区域(局部重绘神器)
- ConditioningSetMask:结合蒙版进行非规则引导

这让你可以做到:“整体风格是赛博朋克,但人物脸部保持写实”,通过分区域条件叠加轻松实现。

潜在空间才是主战场

整个生成过程其实并不在像素层面进行,而是在低维的“潜在空间”中完成。相关节点如下:

节点 用途
EmptyLatentImage 创建指定分辨率的空白潜在图
LatentUpscale 上采样用于高清修复
KSampler 执行去噪迭代
VAEDecode / VAEEncode 像素 ↔ 潜在空间转换

这种设计避免了高分辨率下的巨大计算开销,也是 ComfyUI 性能优异的关键所在。

多模型协同不是梦

除了主模型外,ComfyUI 支持动态加载各种辅助模型,且无需重启:

  • LoRA 微调模型
  • ControlNet 控制构图
  • T2I-Adapter 快速轻量控制
  • IP-Adapter 实现图像参考
  • 多种超分模型(ESRGAN、SwinIR 等)

每个都有对应的加载节点,可以在同一个流程中自由组合。比如:用 ControlNet 固定姿势 + LoRA 添加角色特征 + IP-Adapter 参考服装样式——这才是真正的“AI 创作自由”。

图像后处理也能可视化

最后阶段也不只是“保存完事”。你可以加入:
- ImageScale / ImageCrop:裁剪缩放
- Blend:图层混合
- ApplyColor:调色
- PreviewImage:实时预览中间结果

这让整个流程变成一条完整的“图像流水线”,而不是孤立的操作集合。


插件生态利器:ComfyUI-Manager

如果说 ComfyUI 本体是操作系统,那 ComfyUI-Manager 就是应用商店+包管理器的结合体,极大简化了第三方扩展的使用门槛。

如何安装?

进入 custom_nodes 目录,克隆仓库:

cd custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git

重启 ComfyUI 后,右上角会出现一个新图标(🔧),点击即可打开管理面板。

它到底能做什么?

功能 实际价值
插件浏览与一键安装 浏览数千个社区节点,免手动配置
自动检测更新 不再错过重要修复或新功能
工作流市场集成 直接导入 Civitai、OpenArt 分享的 .json 流程
依赖自动补全 安装插件时自动装好所需 Python 包
配置备份与恢复 快速迁移环境或回滚错误更改

举个例子:你想做人脸修复增强,只需在 Manager 中搜索 “Impact Pack”,点击安装即可。同理,“ControlNet Preprocessors”、“WAS Node Suite” 等常用套件也都支持一键获取。

💡 小贴士:安装新节点后通常需要重启 ComfyUI 才能在左侧节点列表中看到。


中文用户福音:AIGODLIKE 汉化插件

尽管英文界面对技术用户不算障碍,但对于新手或团队协作来说,语言仍是不小的认知负担。好在已有高质量的翻译方案。

安装步骤

前往 AIGODLIKE-ComfyUI-Translation 项目页,同样放入 custom_nodes

cd custom_nodes
git clone https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translation.git

重启后,在顶部菜单 Settings > Language 中选择 简体中文,界面立即切换。

翻译覆盖范围广

该插件已翻译绝大多数 UI 元素,包括:

  • 主菜单(文件、编辑、视图等)
  • 节点名称与参数标签
  • 右键菜单选项
  • 提示信息与错误日志中的常见术语
  • 搜索框占位符与状态提示

甚至支持多语言切换,适合跨国团队协作。

局限与应对

目前仍有少量情况未完全覆盖:
- 极少数冷门插件的自定义节点未被翻译
- 新发布节点可能滞后几天才能加入词库

遇到缺失词条时,可手动编辑 translation_zh.json 文件补充翻译内容。社区也非常欢迎贡献 PR,共同完善中文体验。


写在最后:从“会用”到“精通”

走到这一步,你应该已经完成了从“听说 ComfyUI”到“亲手跑通全流程”的跨越。但这仅仅是开始。

ComfyUI 的真正魅力在于它的可编程性与可复用性。当你把某个复杂的生成流程保存为 .json 文件后,别人只需要导入就能完美复现你的结果——这是传统 WebUI 很难做到的。

下一步你可以尝试:

  • 查看 ComfyUI_examples 学习高级技巧
  • 集成 ControlNet 实现线稿上色、姿态控制
  • 使用 LoRA 构建专属角色模板
  • 编写自己的节点或参与翻译项目回馈社区

随着 AI 开发范式逐渐向“可视化编程”演进,ComfyUI 所代表的节点式工作流,很可能成为未来人机协同创作的标准形态。

而你现在掌握的,正是这场变革中最坚实的一块基石。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐