首页 文章 文章详情

ComfyUI安装配置、插件管理与二次开发指南

来源:本站 {{likeCount}} {{commentCount}} 评论 2026-04-04 16:43:22

ComfyUI 作为一款基于节点流程的 Stable Diffusion 操作界面,以其高效、模块化和高度可定制的特性,深受 AI 绘图爱好者和开发者的喜爱。无论你是刚接触的新手,还是希望进行深度定制的开发者,本文都将为你提供清晰的路径。

我们将 ComfyUI 的学习路径分为三个主要阶段:快速安装与配置插件管理以及二次开发

🚀 第一阶段:快速安装与配置

对于大多数用户,尤其是初次使用者,强烈推荐使用官方提供的一键安装包。这是最快捷、最不容易出错的方式。

1. 新手快速启动

  • 下载: 前往 ComfyUI 的官方 GitHub 发布页面。
  • 解压: 下载最新的 Windows 一键安装包(通常是 .7z.zip 格式),解压到任意目录。
  • 运行: 直接运行目录下的 run_nvidia_gpu.bat(如果你有 NVIDIA 显卡)或对应的启动脚本。
💡 提示: 这种方式会自动配置好 Python、PyTorch 等所有必要环境,无需手动操作,极大地降低了入门门槛。

2. 进阶配置:共享模型文件
如果你已经是 Stable Diffusion WebUI (A1111) 的用户,不想重复下载几十 GB 的模型文件,可以通过配置让 ComfyUI 共享 WebUI 的模型库。

  • 在 ComfyUI 根目录下,找到 extra_model_paths.yaml.example 文件。
  • 将其复制并重命名为 extra_model_paths.yaml
  • 使用文本编辑器打开,将 base_path 修改为你的 Stable Diffusion WebUI 安装路径。
  • 确认 checkpointsloras 等子路径的相对位置是否正确。
  • 保存并重启 ComfyUI,即可直接调用 WebUI 下载的所有模型。

🛠️ 第二阶段:插件(自定义节点)管理

ComfyUI 的强大之处在于其丰富的自定义节点(插件)。管理它们主要有两种方式:

1. 使用 ComfyUI Manager(强烈推荐)
这是社区最主流的插件管理工具,提供了图形化界面,功能包括:

  • 浏览和安装: 从列表中选择并一键安装成百上千个社区节点。
  • 统一更新: 轻松更新所有已安装的插件。
  • 依赖管理: 自动检测并提示安装节点所需的额外 Python 库。
  • 故障修复: 内置“Fix”功能,可尝试修复节点显示异常等问题。


2. 手动安装
当需要的插件不在 Manager 列表中时,可以采用手动方式:

  1. 从 GitHub 下载插件源码(克隆或下载 ZIP 包)。
  2. 将解压后的文件夹放入 ComfyUI/custom_nodes 目录中。
  3. 如果插件包含 requirements.txt,需进入该目录运行 pip install -r requirements.txt 安装依赖。
  4. 重启 ComfyUI 即可生效。

💻 第三阶段:二次开发:创建自定义节点

ComfyUI 的二次开发本质上是编写 Python 脚本来创建新的节点。这需要一定的 Python 编程基础。

1. 开发环境准备
建议从源码手动安装 ComfyUI 以便于调试:

  • 创建虚拟环境: 推荐使用 Python 3.10,通过 condavenv 创建独立环境。
  • 获取源码: git clone https://github.com/comfyanonymous/ComfyUI.git
  • 安装依赖: 运行 pip install -r requirements.txt


2. 编写一个简单节点
所有自定义节点都放在 custom_nodes 目录下。一个基本的节点类需要包含以下核心部分:

  • INPUT_TYPES: 定义输入参数(如图像、数值)。
  • RETURN_TYPES: 声明输出数据类型。
  • FUNCTION: 指定执行核心逻辑的函数名。
  • CATEGORY: 决定节点在侧边栏菜单中的分类。
  • NODE_CLASS_MAPPINGS: 注册节点到系统。


  • 代码示例:图像亮度调整节点
    以下是一个简单的 Python 示例,创建一个能将图像变亮或变暗的节点:
# 文件名: custom_nodes/image_multiplier.py
import torch

class ImageMultiplier:
    @classmethod
    def INPUT_TYPES(cls):
        return {
            "required": {
                "images": ("IMAGE",), # 输入:图像
                "factor": ("FLOAT", { # 输入:一个浮点数滑块
                    "default": 1.0,
                    "min": 0.1,
                    "max": 3.0,
                    "step": 0.1,
                }),
            }
        }
    
    RETURN_TYPES = ("IMAGE",) # 输出:一个图像
    FUNCTION = "execute" # 执行函数名为 execute
    CATEGORY = "image/post-processing" # 分类位置

    def execute(self, images, factor):
        # 核心逻辑:将图像像素值乘以系数,并限制在0-1之间
        result = torch.clamp(images * factor, 0, 1)
        return (result,) # 返回值必须是元组

# 注册节点
NODE_CLASS_MAPPINGS = {
    "ImageMultiplier": ImageMultiplier
}

将上述代码保存为 image_multiplier.py 并放入 custom_nodes 目录后,刷新 ComfyUI 页面,你就能在 image/post-processing 分类下找到这个新节点了。

相关评论
发表
暂无相关评论...
{{item.userName}} {{item.dateDescription}}
{{item.likeCount}} 回复
{{item.content}}
{{child.userName}}@{{child.atUserName}} {{child.content}}
{{child.dateDescription}}
{{child.likeCount}} 回复