Skip to content

Latest commit

 

History

History
293 lines (213 loc) · 11.2 KB

README.zh.adoc

File metadata and controls

293 lines (213 loc) · 11.2 KB

ComfyUI Windows 多节点整合包

界面截图

中文 | English

类似 ComfyUI 官方的 Standalone Portable 整合包,但是更大。

新: ComfyUI-3D-Pack 整合包

为了更好的兼容性,我为 ComfyUI-3D-Pack 单独做了一个整合包:

本仓库 ComfyUI-Windows-Portable 新发布的整合包就不再包含 3D-Pack 了,之前发布的版本都将保留。

特点

  • 预装了 40+ 常用自定义节点 【查看详细列表】

    • 预先下载了部分模型文件,包括 ReActor NodeImpact Pack 会在初次启动时下载的模型文件等,避免国内用户启动时卡下载。

  • 包含 240+ 互相兼容的 Python 包,包括:

    • 需要编译安装的 insightfacedlib

    • ComfyUI 官方包里没装的 xFormers(对文生图影响不大,对视频类有用)

  • 仅预置了少量功能性模型,绘图模型还请用户自行下载

  • 使用 GitHub 流水线打包,方便 DIY。用户无需配置 CI/CD,只需在 GitHub 上 Fork 仓库,即可运行打包脚本 【查看操作方法】

如何使用

  1. 仅支持 NVIDIA 显卡,建议先装好最新驱动

  2. 在发布页面下载整合包:

  3. 将 SD 模型放到 ComfyUI\models\checkpoints

    • 可随意建立子目录,便于分类

  4. (按需)选择启动脚本

    • 中文脚本 目录下的文件复制到主目录

    • 如能流畅访问 PIP、HuggingFace、GitHub,略过此步骤

  5. (可选)编辑启动脚本,run_cn.batrun_nvidia_gpu.bat

    • 如果不希望程序启动后自动打开浏览器,在启动脚本中添加启动参数 --disable-auto-launch

    • 如果正在用 40 系及更新的 GPU,可尝试添加启动参数 --fast,有 魔法

  6. 执行启动脚本

  7. 配置为中文界面

    • 点击 ComfyUI 页面左下角的 齿轮(⚙)图标进入设置

    • 在右侧,确认 Locale 为 zh

    • 在左侧,找到 AGL,选择中文

    • 刷新浏览器即可

使用技巧

  1. 善加利用 ComfyUI-Manager (ComfyUI 页面右上角 Manager 按钮),用它来管理自定义节点:安装、更新、禁用、卸载。

    • “更新全部”需谨慎,用不到的节点没必要更新,避免 Python 包混乱。

  2. 如需禁用 xFormers,在 ComfyUI 启动参数中添加 --use-pytorch-cross-attention 即可。

    • 这样会使用 PyTorch 原生交叉注意力机制。启用后,SD 文生图的用时、显存占用、画面一致性可能会略有不同。

    • 如需生成视频,建议不要禁用。

  3. 可以考虑使用 Sandboxie 沙盒来约束缓存文件,同时隔离环境。

    • 在使用沙盒时,为了 I/O 性能,建议在“沙盒选项”-“资源访问”中,将程序主目录(ComfyUI_Windows_portable)配置为“开放”。

4. 外部模型目录

ComfyUI 可以加载主目录外的模型文件, 配置方法:

  • ComfyUI 目录下的 extra_model_paths.yaml.example 重命名,去掉末尾的 .example

  • 编辑 extra_model_paths.yaml,其中以 # 开头的部分为注释内容

参考文件(点击展开)
comfyui:
    base_path: D:\models\
    animatediff_models: animatediff_models
    animatediff_motion_lora: animatediff_motion_lora
    bert-base-uncased: bert-base-uncased
    checkpoints: checkpoints
    clip: clip
    clip_vision: clip_vision
    configs: configs
    controlnet: controlnet
    depthfm: depthfm
    diffusers: diffusers
    embeddings: embeddings
    facerestore_models: facerestore_models
    gligen: gligen
    grounding-dino: grounding-dino
    hypernetworks: hypernetworks
    insightface: insightface
    ipadapter: ipadapter
    loras: loras
    mmdets: mmdets
    onnx: onnx
    photomaker: photomaker
    reactor: reactor
    sams: sams
    style_models: style_models
    ultralytics: ultralytics
    unet: unet
    upscale_models: upscale_models
    vae: vae
    vae_approx: vae_approx

5. 外部 HuggingFace Hub 目录

ComfyUI 有三处主要的模型文件保存位置:

  • 官方推荐的 models 目录(以及上述的外部模型目录)

  • 各节点在 custom_nodes 中原地下载的文件

  • 通过 HuggingFace Hub(HF 官方下载器)下载的模型文件

其中 HF Hub 默认将文件下载到 C:\Users\UserName\.cache\huggingface\hub 。 本整合包在启动脚本中,将其修改为了 程序目录\HuggingFaceHub 文件夹,以便用户直观管理。

如果用户有多个 ComfyUI 实例,希望共用一套 HF Hub 模型目录,可将启动脚本中的

set HF_HUB_CACHE=%~dp0\HuggingFaceHub

修改为类似形式:

set HF_HUB_CACHE=D:\HuggingFaceHub

6. 如何“翻新式”大更新

该方法不通过 ComfyUI-Manager 更新,而是直接替换为新版整合包。 如果流程顺利,可以避免安装升级 Python 包,进而避免依赖项版本混乱。

  1. 先安装好 Git for Windows, 并选择安装 Git Bash(默认)。

  2. 解压新版整合包

  3. 删除新版中的 ComfyUIHuggingFaceHub 文件夹

  4. 将旧版中的这两个文件夹复制过来

  5. 在新版主目录下,打开 Git Bash(在空白处点击右键,菜单中选择“Open Git Bash here”)

  6. 复制下行内容,在 Git Bash 中点击鼠标右键,菜单中选择粘贴,并回车:

    bash 使用国内镜像强制更新全部节点.sh
  1. 参照“如何使用”一节,编辑启动脚本并运行

  2. 如有节点加载失败,需在 ComfyUI-Manager 中“try fix”。

预置自定义节点列表

Table 1. 工作空间

ComfyUI Manager

ComfyUI 翻译

Crystools

ComfyUI-to-Python-Extension

Table 2. 综合

Comfyroll Studio

ComfyUI Essentials by cubiq

Derfuu Modded Nodes

Custom Scripts by pythongosssss

Efficiency Nodes by jags111

KJNodes

Mikey Nodes

rgthree Nodes

smZ(shiimizu) Nodes

Use Everywhere

WAS Node Suite

ComfyUI-Easy-Use

Table 3. 控制

Advanced ControlNet

ControlNet Auxiliary Preprocessors

Impact Pack

Impact Subpack

Inspire Pack

InstantID by cubiq

IPAdapter plus

PuLID by cubiq

LayerDiffuse

Portrait Master

ReActor Node

SD Dynamic Thresholding

SDXL Prompt Styler

Segment Anything

Table 4. 视频

AnimateAnyone Evolved

AnimateDiff Evolved

FizzNodes

Frame Interpolation (VFI)

MTB Nodes

Video Helper Suite

Table 5. 更多

Face Analysis by cubiq

Image Selector

Ultimate SD Upscale

WD 1.4 Tagger

ComfyUI-GGUF

如安装新节点后遇到兼容性问题,可在 ComfyUI-Manager 中禁用冲突节点。

我也想生成整合包!

GitHub 工作流状态

本仓库使用流水线构建整合包,直接 fork 本仓库即可开始执行 GitHub Workflow。代码库中不含特化配置,也不需要额外配置访问权限。

  1. Fork 后,在页面中找到 Actions

  2. 找到 Build & Upload Package

    • 比如我代码库里的页面长 这样

  3. 找到 Run Workflow,点击运行。

  4. 等待执行完毕(20~40分钟)

  5. 找到仓库的 releases 页面,里面会有刚生成的草稿,即可下载或编辑发布。

开发理念

代码原本是抄的 ComfyUI 的 GitHub workflow ,后来发现实在是难调试,就重写了一遍脚本。 但打包理念都差不多,都是自带一个免安装的 Python Embedded,半绿色,可移植,依赖项完备,解压即可运行。

不同之处在于,我没有像 comfyanonymous 一样先下载 wheel,再批量安装。因为依赖关系太棘手,我是直接走的 pip install,以便 PIP 解析。

当然,这类预装包的 Python Embedded 都有个通病:Scripts 目录下的 exe 大多无法正常执行。因这些 exe 多为 Python 命令套壳,并通过绝对路径执行 python.exe,一旦目录变动(移植)自然无法执行。所幸对本项目无甚影响。

感谢

感谢 ComfyUI GitHub workflow ,我的灵感来源于此,一开始的代码也是抄的这个。