ComfyUI 源代码部署版安全更新到最新版本并开启 comfy-kitchen [triton/ eager/ cuda] 全后端加速

ComfyUI 源代码部署版安全更新到最新版本并开启 comfy-kitchen triton/ eager/ cuda 全后端加速

适用版本:ComfyUI v0.27.0+ | comfy-kitchen v0.2.16+ | 更新日期:2026-07-02




前言

ComfyUI 的 GitHub 主线迭代很快,频繁发布新版本。对于使用源代码部署(而非便携包)的用户来说,直接 git pull 或覆盖安装经常会导致自定义补丁丢失、依赖冲突等问题。

本文介绍一种安全的手动升级方法 ,并附带一套自动补丁脚本 ,用于在升级后一键开启 comfy-kitchen 的全后端加速(CUDA / Triton / Eager),同时确保补丁在 ComfyUI 和 comfy-kitchen 版本更新后依然可靠。




环境信息(2026-07-02 验证)

组件 版本
ComfyUI v0.27.0 源代码部署版
PyTorch 2.7.1+cu126
xformers 0.0.31.post1
Python 3.12
CUDA 12.6
comfy-kitchen v0.2.16
自定义节点 320 个,100% 加载成功



一、安全升级步骤

第一步:恢复原始文件(重要!)

在覆盖升级之前,先恢复被补丁修改过的文件,避免新旧代码混淆:

复制代码
python comfy_kitchen_patcher.py --restore


第二步:下载最新版本

访问 ComfyUI GitHub Releases 页面,下载最新版的 Source code (zip)



第三步:覆盖更新

解压下载的 zip 文件,将其中的内容复制到现有 ComfyUI 目录,注意保留以下目录和文件不被覆盖

复制代码
保留(不要覆盖):
├── custom_nodes/          # 自定义节点
├── .venv/                # Python 虚拟环境
├── userdata/              # 用户数据
├── comfyui_post_update.py # 补丁引导脚本(本文提供)
└── comfy_kitchen_patcher.py  # 后端解锁补丁(本文提供)


第四步:运行补丁脚本

复制代码
python comfyui_post_update.py

脚本会自动完成以下工作:

  1. 检查并提示安装缺失的 Python 依赖
  2. 运行 comfy_kitchen_patcher.py 解锁全后端
  3. 按需修补 main.py(降低动态显存 PyTorch 版本阈值)

补丁脚本完整示例

comfyui_post_update.py

复制代码
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
ComfyUI Post-Update Bootstrap Script
====================================

Features:
1. Detect and prompt for missing requirements (manual install by default)
2. Run patch scripts in sequence (e.g. comfy_kitchen_patcher.py)
3. Auto-patch main.py with configurable rules
4. Auto backup & one-click restore

Usage:
    # Default: check deps + run patches + patch main.py (pip is manual-only)
    python comfyui_post_update.py

    # Auto-install dependencies (use with caution)
    python comfyui_post_update.py --auto-pip

    # Skip everything except patches and main.py
    python comfyui_post_update.py --skip-pip

    # Restore all backups
    python comfyui_post_update.py --restore

    # Dry run (preview only)
    python comfyui_post_update.py --dry-run
"""

import os
import sys
import shutil
import re
import subprocess
import argparse
from pathlib import Path
from typing import List, Optional

# =============================================================================
# Console Output (English only, safe for Windows cmd cp1252/gbk)
# =============================================================================
class C:
    H = '\033[95m'
    B = '\033[94m'
    C = '\033[96m'
    G = '\033[92m'
    W = '\033[93m'
    F = '\033[91m'
    E = '\033[0m'
    D = '\033[1m'

def p(text: str, color: str = ""):
    print(f"{color}{text}{C.E}", flush=True)

# =============================================================================
# User Config Area
# =============================================================================

COMFYUI_ROOT = Path(__file__).parent.resolve()
PYTHON_EXE = None  # None = auto-detect

# Requirements files to check (relative to COMFYUI_ROOT)
REQUIREMENTS_FILES = [
    "requirements.txt",
    "custom_nodes/ComfyUI-Manager/requirements.txt",
    # "manager_requirements.txt",
]

# Patch scripts to run in order (relative to COMFYUI_ROOT)
PATCH_SCRIPTS = [
    "comfy_kitchen_patcher.py",
    # "patch_161630960.py",
    # "patch_161632686.py",
]

# main.py patch rules (applied in order)
# Modes: replace | regex | insert_head | insert_after
MAIN_PY_PATCHES = [
    {
        "name": "Add MediaPipe proxy import",
        "mode": "insert_head",
        "content": "import mediapipe_patch  # MediaPipe proxy compatibility layer\n",
    },
    {
        "name": "Lower dynamic VRAM PyTorch threshold (2.8 -> 2.7)",
        "mode": "regex",
        "pattern": r"torch_version_numeric\s*<\s*\(2,\s*[78]\)",
        "replace": "torch_version_numeric < (2, 7)",
    },
]


BACKUP_SUFFIX = ".post_update_backup"
PIP_TIMEOUT = 600

# =============================================================================
# Core Bootstrap
# =============================================================================
class Bootstrap:
    def __init__(self, comfyui_root: Optional[Path] = None,
                 python_exe: Optional[str] = None,
                 dry_run: bool = False,
                 skip_pip: bool = False,
                 auto_pip: bool = False):
        self.dry_run = dry_run
        self.skip_pip = skip_pip
        self.auto_pip = auto_pip
        self.root = Path(comfyui_root).resolve() if comfyui_root else COMFYUI_ROOT
        self.python = self._resolve_python(python_exe)
        self.patched_files: List[Path] = []
        self.backup_files: List[Path] = []

    def _resolve_python(self, explicit: Optional[str]) -> str:
        if explicit:
            return explicit
        venv = self.root / ".venv" / "Scripts" / "python.exe"
        if venv.exists():
            p(f"[ENV] Virtual env detected: {venv}", C.C)
            return str(venv)
        embed = self.root / "python_embeded" / "python.exe"
        if embed.exists():
            p(f"[ENV] Embedded Python detected: {embed}", C.C)
            return str(embed)
        p(f"[ENV] Using current Python: {sys.executable}", C.C)
        return sys.executable

    def _backup(self, fp: Path) -> Path:
        bp = fp.with_suffix(fp.suffix + BACKUP_SUFFIX)
        if not bp.exists():
            if not self.dry_run:
                shutil.copy2(fp, bp)
            self.backup_files.append(bp)
            p(f"[BACKUP] {fp.name} -> {bp.name}", C.B)
        else:
            p(f"[SKIP] Backup exists: {bp.name}", C.W)
        return bp

    # -------------------------------------------------------------------------
    # Step 1: Dependency Check / Install
    # -------------------------------------------------------------------------
    def handle_requirements(self) -> bool:
        if self.skip_pip:
            p("[SKIP] --skip-pip set, skipping dependency check", C.W)
            return True

        p("\n" + "=" * 65, C.H)
        p("  STEP 1/3: Dependency Check", C.H + C.D)
        p("=" * 65, C.H)

        missing_files = []
        for req_file in REQUIREMENTS_FILES:
            req_path = self.root / req_file
            if req_path.exists():
                missing_files.append(req_path)
            else:
                p(f"[SKIP] Not found: {req_file}", C.W)

        if not missing_files:
            p("[INFO] No requirements files to process", C.C)
            return True

        if self.auto_pip:
            p("[MODE] Auto-pip enabled. Will install dependencies automatically.", C.W)
            all_ok = True
            for req_path in missing_files:
                p(f"\n[INSTALL] {req_path.name} ...", C.C)
                cmd = [self.python, "-m", "pip", "install", "-r", str(req_path), "--upgrade"]
                p(f"  CMD: {' '.join(cmd)}", C.C)
                if self.dry_run:
                    p("  [DRY-RUN] Skipped", C.W)
                    continue
                try:
                    result = subprocess.run(
                        cmd, cwd=str(self.root), capture_output=True, text=True,
                        encoding='utf-8', errors='replace', timeout=PIP_TIMEOUT
                    )
                    if result.returncode == 0:
                        for line in result.stdout.strip().split('\n')[-5:]:
                            if line.strip():
                                p(f"    {line}", C.G)
                        p(f"  [OK] {req_path.name} installed", C.G)
                    else:
                        p(f"  [FAIL] Exit code {result.returncode}", C.F)
                        p(f"  stderr: {result.stderr[:500]}", C.F)
                        all_ok = False
                except subprocess.TimeoutExpired:
                    p(f"  [FAIL] Timeout ({PIP_TIMEOUT}s)", C.F)
                    p(f"  Tip: Run manually with mirror:", C.W)
                    p(f"    {self.python} -m pip install -r {req_path} -i https://pypi.tuna.tsinghua.edu.cn/simple", C.C)
                    all_ok = False
                except Exception as e:
                    p(f"  [FAIL] {e}", C.F)
                    all_ok = False
            return all_ok
        else:
            p("[MODE] Manual dependency install. Copy-paste the commands below:", C.W)
            p("       (To auto-install, run with --auto-pip)", C.W)
            p("")
            for req_path in missing_files:
                p(f"  {self.python} -m pip install -r \"{req_path}\" --upgrade", C.C)
            p("")
            p("[INFO] Please run the above commands manually, then re-run this script.", C.G)
            p("       Or run: python comfyui_post_update.py --auto-pip", C.C)
            return True

    # -------------------------------------------------------------------------
    # Step 2: Run Patch Scripts
    # -------------------------------------------------------------------------
    def run_patches(self) -> bool:
        p("\n" + "=" * 65, C.H)
        p("  STEP 2/3: Run Patch Scripts", C.H + C.D)
        p("=" * 65, C.H)

        if not PATCH_SCRIPTS:
            p("[INFO] PATCH_SCRIPTS empty, skipping", C.C)
            return True

        all_ok = True
        for script_name in PATCH_SCRIPTS:
            script_path = self.root / script_name
            if not script_path.exists():
                p(f"[SKIP] Not found: {script_name}", C.W)
                continue

            p(f"\n[EXEC] {script_name} ...", C.C)
            cmd = [self.python, str(script_path), "--comfyui-root", str(self.root)]
            p(f"  CMD: {' '.join(cmd)}", C.C)

            if self.dry_run:
                p("  [DRY-RUN] Skipped", C.W)
                continue

            try:
                result = subprocess.run(
                    cmd, cwd=str(self.root), capture_output=True, text=True,
                    encoding='utf-8', errors='replace', timeout=120
                )
                if result.stdout:
                    for line in result.stdout.strip().split('\n')[-30:]:
                        p(f"    {line}", C.C)
                if result.returncode == 0:
                    p(f"  [OK] {script_name} success", C.G)
                else:
                    p(f"  [WARN] Exit code {result.returncode}", C.W)
                    if result.stderr:
                        for line in result.stderr.strip().split('\n')[-10:]:
                            p(f"    {line}", C.W)
            except Exception as e:
                p(f"  [FAIL] {e}", C.F)
                all_ok = False

        return all_ok

    # -------------------------------------------------------------------------
    # Step 3: Patch main.py
    # -------------------------------------------------------------------------
    def patch_main_py(self) -> bool:
        p("\n" + "=" * 65, C.H)
        p("  STEP 3/3: Patch main.py", C.H + C.D)
        p("=" * 65, C.H)

        target = self.root / "main.py"
        if not target.exists():
            p(f"[ERROR] Not found: {target}", C.F)
            return False

        if not MAIN_PY_PATCHES:
            p("[INFO] MAIN_PY_PATCHES empty, skipping", C.C)
            return True

        self._backup(target)
        content = target.read_text(encoding='utf-8')
        orig = content
        applied = 0

        for rule in MAIN_PY_PATCHES:
            name = rule.get("name", "untitled")
            mode = rule.get("mode", "replace")
            p(f"\n[APPLY] {name} (mode={mode})", C.C)

            if mode == "replace":
                find = rule.get("find", "")
                replace = rule.get("replace", "")
                if find in content:
                    new_content = content.replace(find, replace, 1)
                    if new_content != content:
                        content = new_content
                        p("  [OK] String replaced", C.G)
                        applied += 1
                    else:
                        p("  [OK] String matched (no change needed)", C.G)
                else:
                    p("  [WARN] Target string not found (may be already patched or version changed)", C.W)

            elif mode == "regex":
                pattern = rule.get("pattern", "")
                replace = rule.get("replace", "")
                new_content, count = re.subn(pattern, replace, content, count=1)
                if count > 0:
                    if new_content != content:
                        content = new_content
                        p("  [OK] Regex replaced", C.G)
                        applied += 1
                    else:
                        p("  [OK] Regex matched (already correct)", C.G)
                else:
                    p("  [WARN] Regex did not match", C.W)

            elif mode == "insert_head":
                insert = rule.get("content", "")
                if insert not in content:
                    content = insert + "\n" + content
                    p("  [OK] Inserted at head", C.G)
                    applied += 1
                else:
                    p("  [SKIP] Content already exists", C.W)

            elif mode == "insert_after":
                anchor = rule.get("anchor", "")
                insert = rule.get("content", "")
                if anchor in content:
                    new_content = content.replace(anchor, anchor + insert, 1)
                    if new_content != content:
                        content = new_content
                        p("  [OK] Inserted after anchor", C.G)
                        applied += 1
                    else:
                        p("  [OK] Anchor matched (no change needed)", C.G)
                else:
                    p("  [WARN] Anchor not found", C.W)

            else:
                p(f"  [ERROR] Unknown mode: {mode}", C.F)

        if content != orig:
            if not self.dry_run:
                target.write_text(content, encoding='utf-8')
            p(f"\n[OK] main.py patched, {applied} rule(s) changed content", C.G)
            self.patched_files.append(target)
            return True
        else:
            p(f"\n[INFO] main.py unchanged (all rules already applied or no match)", C.C)
            return True

    # -------------------------------------------------------------------------
    # Restore Mode
    # -------------------------------------------------------------------------
    def restore(self) -> bool:
        p("=" * 65, C.H)
        p("  Restore Mode", C.H + C.D)
        p("=" * 65, C.H)

        restored = 0
        main_py = self.root / "main.py"
        if self._restore_single(main_py):
            restored += 1

        ck = self.root / ".venv" / "Lib" / "site-packages" / "comfy_kitchen"
        if not ck.exists():
            ck = self.root / "python_embeded" / "Lib" / "site-packages" / "comfy_kitchen"
        if ck.exists():
            if self._restore_single(ck / "registry.py"):
                restored += 1
            if self._restore_single(ck / "backends" / "cuda" / "__init__.py"):
                restored += 1

        qo = self.root / "comfy" / "quant_ops.py"
        if self._restore_single(qo):
            restored += 1

        p(f"\n[DONE] Restored {restored} files", C.G)
        return True

    def _restore_single(self, fp: Path) -> bool:
        bp = fp.with_suffix(fp.suffix + BACKUP_SUFFIX)
        if not bp.exists():
            backups = list(fp.parent.glob(f"{fp.name}*{BACKUP_SUFFIX}"))
            if backups:
                bp = backups[0]
        if bp.exists():
            if not self.dry_run:
                shutil.copy2(bp, fp)
            p(f"[RESTORE] {fp.name} <- {bp.name}", C.G)
            return True
        p(f"[SKIP] No backup: {fp.name}", C.W)
        return False

    # -------------------------------------------------------------------------
    # Main Flow
    # -------------------------------------------------------------------------
    def run(self) -> bool:
        p("=" * 65, C.H)
        p("  ComfyUI Post-Update Bootstrap", C.H + C.D)
        p("=" * 65, C.H)
        p(f"  ComfyUI Root : {self.root}", C.C)
        p(f"  Python       : {self.python}", C.C)
        p(f"  Dry Run      : {self.dry_run}", C.C)
        p(f"  Skip Pip     : {self.skip_pip}", C.C)
        p(f"  Auto Pip     : {self.auto_pip}", C.C)
        p("")

        ok1 = self.handle_requirements()
        ok2 = self.run_patches()
        ok3 = self.patch_main_py()

        p("\n" + "=" * 65, C.H)
        p("  Summary", C.D)
        p("=" * 65, C.H)
        p(f"  [Dependencies] {'OK' if ok1 else 'FAIL'}", C.G if ok1 else C.F)
        p(f"  [Patches]      {'OK' if ok2 else 'FAIL'}", C.G if ok2 else C.F)
        p(f"  [main.py]      {'OK' if ok3 else 'FAIL'}", C.G if ok3 else C.F)

        if ok1 and ok2 and ok3:
            p("\n[DONE] All steps completed. Start ComfyUI to verify.", C.G)
            return True
        else:
            p("\n[!] Some steps failed. Check logs above.", C.W)
            p("  Use --restore to revert all changes.", C.W)
            return False


# =============================================================================
# CLI Entry
# =============================================================================
def main():
    parser = argparse.ArgumentParser(
        description="ComfyUI Post-Update Bootstrap Script",
        formatter_class=argparse.RawDescriptionHelpFormatter,
        epilog=(
            "Examples:\n"
            "  # Default: check deps (manual) + run patches + patch main.py\n"
            "  python comfyui_post_update.py\n\n"
            "  # Auto-install dependencies (use with caution)\n"
            "  python comfyui_post_update.py --auto-pip\n\n"
            "  # Skip dependency check entirely\n"
            "  python comfyui_post_update.py --skip-pip\n\n"
            "  # Dry run (preview only)\n"
            "  python comfyui_post_update.py --dry-run\n\n"
            "  # Restore all backups\n"
            "  python comfyui_post_update.py --restore\n"
        )
    )
    parser.add_argument('--comfyui-root', type=str, default=None, help='ComfyUI root directory')
    parser.add_argument('--python-exe', type=str, default=None, help='Force specific Python executable')
    parser.add_argument('--skip-pip', action='store_true', help='Skip dependency check entirely')
    parser.add_argument('--auto-pip', action='store_true', help='Auto-install dependencies (default is manual prompt)')
    parser.add_argument('--restore', action='store_true', help='Restore all backups')
    parser.add_argument('--dry-run', action='store_true', help='Preview only, do not modify files')

    args = parser.parse_args()

    try:
        bs = Bootstrap(
            comfyui_root=args.comfyui_root,
            python_exe=args.python_exe,
            dry_run=args.dry_run,
            skip_pip=args.skip_pip,
            auto_pip=args.auto_pip
        )
        if args.restore:
            bs.restore()
        else:
            success = bs.run()
            sys.exit(0 if success else 1)
    except KeyboardInterrupt:
        p("\n[!] Interrupted", C.W)
        sys.exit(130)
    except Exception as e:
        p(f"\n[FATAL ERROR] {e}", C.F)
        import traceback
        traceback.print_exc()
        sys.exit(1)


if __name__ == "__main__":
    main()


第五步:验证启动

复制代码
python main.py --enable-triton-backend

检查启动日志,确认出现以下关键行:

复制代码
[INFO] Found comfy-kitchen backend: {'name': 'cuda', 'disabled': False, ...}
[INFO] Found comfy-kitchen backend: {'name': 'triton', 'disabled': False, ...}
[INFO] Found comfy-kitchen backend: {'name': 'eager', 'disabled': False, ...}

三个后端的 disabled 均为 False,说明补丁生效,全后端加速已开启。




二、补丁原理说明

2.1 comfy-kitchen 的后端锁定机制

comfy-kitchen 是一个 ComfyUI 的量化/加速后端框架,它本身支持多种后端(CUDA、Triton、Eager 等),但在默认情况下,会通过 BackendRegistry 类的 _disabled 集合来主动禁用某些后端。

核心代码位于 comfy_kitchen/registry.py

复制代码
class BackendRegistry:
    def __init__(self):
        self._backends = {}
        self._disabled = set()  # 后端黑名单

    def disable(self, backend_name: str):
        self._disabled.add(backend_name)  # 禁用指定后端

    def is_available(self, backend_name: str) -> bool:
        return (backend_name in self._backends
                and backend_name not in self._disabled)  # 黑名单检查

    def list_backends(self):
        return [{"name": name, "disabled": name in self._disabled, ...}]

    def get_implementation(self, backend: str):
        if backend in self._disabled:  # 黑名单检查
            return None
        ...

    def use_backend(self, backend_name: str):
        ...
        elif backend_name in self._disabled:  # 黑名单检查
            logger.warning(f"Backend {backend_name} is disabled")
            return False

补丁的目标就是绕过这个 _disabled 黑名单机制,让所有已安装的后端都可用。



2.2 补丁 1:comfy/quant_ops.py --- 消除 cu130 警告

背景 :ComfyUI 的 comfy/quant_ops.py 中会检查 CUDA 版本,如果发现是 CUDA 13.x(cuda_version >= (13,)),就会打印警告并禁用某些量化操作。但这段代码在 PyTorch 2.7 + CUDA 12.6 环境下也会误触发(版本检测逻辑有偏差)。

补丁方式 (v2.0 已无需此补丁):ComfyUI v0.27.0 已将检查阈值从 (13,) 改为 (12,),所以 v0.27.0+ 版本不需要此补丁。comfy_kitchen_patcher.py v2.0 会自动跳过。



2.3 补丁 2:registry.py --- 解锁后端黑名单(核心补丁)

共修改 5 处:

位置 原代码 补丁后
disable() self._disabled.add(backend_name) pass # PATCHED: force keep backend enabled
is_available() backend_name not in self._disabled 移除该条件
list_backends() "disabled": name in self._disabled "disabled": False
get_implementation() if backend in self._disabled: if False:
use_backend() elif backend_name in self._disabled: elif False:


2.4 补丁 3:backends/cuda/__init__.py --- CUDA 12.x DLL 加载

背景comfy-kitchen 的 CUDA 后端在初始化时会尝试加载 cublasLt64_*.dll。在 CUDA 13.x 环境下,这个 DLL 的路径是标准的;但在 CUDA 12.x 环境下,DLL 路径可能不在系统 PATH 中,导致加载失败。

补丁方式 :在 cuda/__init__.py 中注入 DLL 路径 fallback 代码,覆盖 CUDA 12.4 ~ 12.9 的常见安装路径:

复制代码
import os as _os
import sys as _sys
if _sys.platform == "win32":
    _cuda_dll_paths = [
        r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\bin",
        r"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin",
        # ...
    ]
    for _p in _cuda_dll_paths:
        if _os.path.exists(_p):
            _os.add_dll_directory(_p)
            break



三、为什么旧补丁会失效?(真实踩坑记录)

问题现象

升级到 comfy-kitchen v0.2.16 后,运行旧版 comfy_kitchen_patcher.py,输出显示:

复制代码
[WARN] disable() not found, skip
[WARN] is_available() pattern not matched, skip
...

补丁未生效,CUDA / Triton 后端依然被禁用。

根本原因:代码格式变化导致正则匹配失败

v0.2.16 的 disable() 方法相比旧版本有格式变化。旧版补丁使用的是精确正则匹配,要求目标代码行的格式完全符合预期,但 v0.2.16 做了以下改动:

v0.2.15(旧版)

复制代码
    def disable(self, backend_name: str):
        self._disabled.add(backend_name)

v0.2.16(新版)

复制代码
    def disable(self, backend_name: str):
        """Disable a backend by name."""
        with self._lock:
            self._disabled.add(backend_name)

变化点:

  1. 新增了 docstring("""Disable a backend by name."""
  2. 新增了上下文管理器(with self._lock:
  3. self._disabled.add(backend_name) 不再紧贴 def disable(): 的下一行

旧版补丁的正则是按行号 + 缩进来定位的,格式一变就匹配失败。

类似问题:quant_ops.py 的 cu130 检查

v0.27.0 之前,quant_ops.py 中的 CUDA 版本检查是:

复制代码
if cuda_version >= (13,):
    warnings.warn("cu130 warning ...")

v0.27.0 改为了:

复制代码
if cuda_version >= (12,):
    warnings.warn("cu130 warning ...")

阈值从 (13,) 改成了 (12,),旧版补丁搜索 (13,) 这个字符串就找不到了。




四、新补丁为什么可靠?

4.1 策略升级:全文件字符串替换

v2.0 补丁放弃了精确正则 + 行号定位 的脆弱策略,改用全文件字符串替换

  • 每个目标字符串在 registry.py 中都是全局唯一 的(如 self._disabled.add(backend_name) 在整个文件中只出现一次)
  • 直接用 str.replace() 或宽松正则搜索,不依赖代码格式(空格、换行、docstring 都不影响)
  • 补丁标记 PATCHED 写入文件,下次运行时会自动跳过已补丁的文件


4.2 备份机制:从 WHL 包提取原始文件

v1.0 补丁的 --restore 功能依赖 .bak 备份文件,但如果备份文件本身就被误修改过,--restore 就会恢复到错误版本。

v2.0 的解决方案:

  1. 运行 pip download comfy-kitchen==0.2.16 --no-deps 下载 WHL 包
  2. 从 WHL 包(本质是一个 zip)中提取原始的 registry.pycuda/__init__.py
  3. 将提取出的原始文件保存为 .comfy_kitchen_backup
  4. --restore 时直接从这些已知的原始备份恢复


4.3 兼容性检测:自动跳过不需要的补丁

v2.0 在打每个补丁前都会先检测目标代码是否存在:

  • quant_ops.py:如果找不到 cuda_version < (13,(12,,说明 v0.27.0+ 已修复,自动跳过
  • registry.py:如果已存在 PATCHED 标记,说明已打过补丁,自动跳过
  • cuda/__init__.py:如果已存在 DLL fallback 代码块,自动跳过



五、补丁脚本使用说明

comfyui_post_update.py --- 升级后引导脚本

复制代码
# 默认模式:检查依赖(手动安装)+ 运行补丁 + 修补 main.py
python comfyui_post_update.py

# 自动安装缺失的依赖(慎用)
python comfyui_post_update.py --auto-pip

# 跳过依赖检查,只运行补丁
python comfyui_post_update.py --skip-pip

# 预览模式(不修改任何文件)
python comfyui_post_update.py --dry-run

# 恢复所有备份
python comfyui_post_update.py --restore


comfy_kitchen_patcher.py --- 全后端解锁补丁

复制代码
# 默认:打所有补丁
python comfy_kitchen_patcher.py

# 指定 ComfyUI 根目录
python comfy_kitchen_patcher.py --comfyui-root "H:/PythonProjects3/Win_ComfyUI"

# 恢复原始文件
python comfy_kitchen_patcher.py --restore

# 预览模式
python comfy_kitchen_patcher.py --dry-run



六、常见问题

Q1:升级后自定义节点不兼容怎么办?

先运行 python main.py,查看启动日志中的 IMPORT FAILED 信息。然后手动更新对应节点:

复制代码
cd custom_nodes/NodeName
git pull


Q2:如何确认补丁是否生效?

查看启动日志,搜索 comfy-kitchen backend,确认 disabled 字段为 False



Q3:下次升级 ComfyUI 还需要手动操作吗?

是的,因为本文介绍的是源代码部署版 的升级方法。但补丁脚本可以复用------只要 comfy_kitchen_patcher.py v2.0+ 在,registry.py 的代码格式变化就不会再导致补丁失效。



Q4:Triton 后端需要额外安装吗?

需要。comfy-kitchen 的 Triton 后端依赖 triton 包。安装方式:

复制代码
.venv/Scripts/python.exe -m pip install triton-windows

然后在启动时加参数:

复制代码
python main.py --enable-triton-backend

附上我的实际启动参数以供参考:

复制代码
python main.py --enable-manager --fp16-vae --use-flash-attention --enable-triton-backend --bf16-unet --fp16-text-enc --enable-dynamic-vram --reserve-vram 3000

逐个参数拆解(按重要性排序)

参数 大白话解释 对你的3090有啥用
--highvram 告诉ComfyUI:"我显卡显存很大(24GB),按大显存策略调度" 核心参数! 1. 避免小显存显卡的"频繁卸载/加载"逻辑 2. 让模型优先驻留GPU,既省显存又不丢速度 3. 3090必开,否则会按默认"中等显存"策略浪费资源
--force-fp16 强制整个推理流程(模型/采样/VAE)都用FP16精度计算 显存省一半! 1. FP32(单精度)占2倍显存,FP16(半精度)足够3090跑FLUX 2. 你之前用的float8/bfloat16混合精度容易显存波动,FP16更稳定 3. 几乎不损失画质,速度还更快
--async-offload 异步把暂时不用的模型层(比如TextEncoder、Unet)卸载到内存 省4-6GB VRAM! 1. 替代旧版的--cpu-offload,卸载更智能、不卡帧 2. FLUX模型占~19GB,卸载不用的层后,剩下的显存够加载VAE和解码 3. 3090跑FLUX的"救命参数",没它大概率爆显存
--fp16-vae 单独强制VAE模型用FP16精度(专门针对WanVAE) 再省1.5-2GB VRAM! 1. VAE是最后解码阶段爆显存的重灾区 2. 单独指定VAE的精度,比全局精度更精准 3. 避免VAE偷偷用FP32占满剩余显存
--use-flash-attention 启用Flash Attention(你装的加速库) 省显存+提速! 1. 把注意力层的显存占用从O(n²)降到O(n),省20%-30%显存 2. 推理速度提升10%-20%,3090跑FLUX的10步采样能快几十秒 3. 你已经装了库,开了就能用,没副作用
--enable-triton-backend 启用triton-windows(你装的加速库) 省显存+提速!
--disable-smart-memory 关闭ComfyUI的"智能内存管理" 避免抽风! 1. 新版ComfyUI的"智能内存"容易误判3090的显存状态,反而导致爆显存 2. 关闭后用我们指定的--highvram+--async-offload策略,更稳定 3. 相当于"手动接管显存调度",避免系统瞎操作
--reserve-vram 3000 强制预留3000MB(2GB+)显存给系统/其他节点 防止极限崩溃! 1. 3090总显存24GB,预留2GB+给Windows系统、人脸检测/mask等自定义节点 2. 避免"刚好占满24GB"导致的系统级显存报错 3. 2GB+预留不影响FLUX运行,却能大幅提升稳定性

总结:这些参数的核心目标

  1. 控精度 :用--force-fp16+--fp16-vae把全流程压到FP16,显存直接砍半;
  2. 智能卸载 :用--async-offload+--highvram让3090的24GB显存"物尽其用",不浪费、不超载;
  3. 稳兜底 :用--disable-smart-memory+--reserve-vram避免系统误判和极限崩溃;
  4. 提效率 :用--use-flash-attention 和 --enable-triton-backend在省显存的同时还能提速。

简单说:这套参数是为我的3090 24GB"量身定制"的,既保证能跑起来FLUX+WanVAE(1024×1024分辨率),又保证速度和稳定性,解决我们之前无数次调试的显存不足问题。




七、参考链接

名称 链接
ComfyUI 官方仓库 https://github.com/comfyanonymous/ComfyUI
ComfyUI 官方网站 https://www.comfy.org/
ComfyUI Releases https://github.com/comfyanonymous/ComfyUI/releases
comfy-kitchen PyPI https://pypi.org/project/comfy-kitchen/
comfy-kitchen GitHub https://github.com/opensourceoffice/comfy-kitchen

相关博客文章(针对旧版本,仍有参考价值)

我们前几篇 ComfyUI 相关博客链接:

  1. ComfyUI 消除 cu130 警告并强制开启 comfy-kitchen triton/ eager/ cuda全后端加速:原理与实战【含一键补丁】
  2. ComfyUI 消除 "cu130" 警告并强制开启 comfy-kitchen 全后端加速实战记录backend triton/backend eager/backend cuda
  3. 突破 ComfyUI 环境枷锁:RTX 3090 强行开启 comfy-kitchen 官方全后端加速库实战



八、附启动日志

复制代码
**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.12.21
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

Clink v1.9.28.ae0f63
Copyright (c) 2012-2018 Martin Ridgers
Portions Copyright (c) 2020-2026 Christopher Antos
https://github.com/chrisant996/clink
(Win_ComfyUI) H:\PythonProjects3\Win_ComfyUI>python main.py --enable-manager --fp16-vae --use-flash-attention --enable-triton-backend --bf16-unet --fp16-text-enc --enable-dynamic-vram --reserve-vram 3000
2026-07-02 22:29:24.671350: I tensorflow/core/util/port.cc:153] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
[补丁] 加载 MediaPipe 智能代理层(Tasks API 真实数据版 + 协议补全)
[补丁] 代理劫持完成:face_mesh + pose + drawing_utils 已全部路由至 Tasks API ✅
[INFO] setup plugin alembic.autogenerate.schemas
[INFO] setup plugin alembic.autogenerate.tables
[INFO] setup plugin alembic.autogenerate.types
[INFO] setup plugin alembic.autogenerate.constraints
[INFO] setup plugin alembic.autogenerate.defaults
[INFO] setup plugin alembic.autogenerate.comments
[INFO] Adding extra search path checkpoints G:\PythonProjects2\stable-diffusion-webui\models\Stable-diffusion
[INFO] Adding extra search path controlnet G:\PythonProjects2\stable-diffusion-webui\models\controlnet
[INFO] Adding extra search path loras G:\PythonProjects2\stable-diffusion-webui\models\Lora
[INFO] Adding extra search path embeddings G:\PythonProjects2\stable-diffusion-webui\models\embeddings
[INFO] Adding extra search path hypernetworks G:\PythonProjects2\stable-diffusion-webui\models\hypernetworks
[INFO] Adding extra search path vae G:\PythonProjects2\stable-diffusion-webui\models\VAE
[INFO] Adding extra search path clip G:\PythonProjects2\stable-diffusion-webui\models\Clip
[INFO] Adding extra search path clip_vision G:\PythonProjects2\stable-diffusion-webui\models\clip_vision
[INFO] Adding extra search path upscale_models G:\PythonProjects2\stable-diffusion-webui\models\GFPGAN
[INFO] Adding extra search path vae_approx G:\PythonProjects2\stable-diffusion-webui\models\VAE-approx
[INFO] Adding extra search path custom_nodes H:\PythonProjects3\Win_ComfyUI\custom_nodes
[INFO] Adding extra search path download_model_base H:\PythonProjects3\Win_ComfyUI\models
[INFO] Adding extra search path luts H:\PythonProjects3\Win_ComfyUI\luts
[INFO] Adding extra search path tensorrt H:\PythonProjects3\Win_ComfyUI\tensorrt
[INFO] Adding extra search path audios H:\PythonProjects3\Win_ComfyUI\audios
[INFO] Adding extra search path checkpoints K:\ComfyUI_Models\checkpoints
[INFO] Adding extra search path loras K:\ComfyUI_Models\loras
[INFO] Adding extra search path unet K:\ComfyUI_Models\unet
[INFO] Adding extra search path diffusion_models K:\ComfyUI_Models\diffusion_models
[INFO] Adding extra search path vae K:\ComfyUI_Models\vae
[INFO] Adding extra search path clip K:\ComfyUI_Models\clip
[INFO] Adding extra search path text_encoders K:\ComfyUI_Models\text_encoders
[INFO] Adding extra search path controlnet K:\ComfyUI_Models\controlnet
[INFO] Adding extra search path upscale_models K:\ComfyUI_Models\upscale_models
[INFO] Adding extra search path SAM K:\ComfyUI_Models\SAM
[INFO] Adding extra search path sam2 K:\ComfyUI_Models\sam2
[INFO] Adding extra search path grounding-dino K:\ComfyUI_Models\grounding-dino
[INFO] Adding extra search path rmbg K:\ComfyUI_Models\rmbg
[INFO] Adding extra search path RMBG-2.0 K:\ComfyUI_Models\rmbg\RMBG-2.0
[INFO] Adding extra search path INSPYRENET K:\ComfyUI_Models\rmbg\INSPYRENET
[INFO] Adding extra search path BEN K:\ComfyUI_Models\rmbg\BEN
[INFO] Adding extra search path BEN2 K:\ComfyUI_Models\rmbg\BEN2
[INFO] Adding extra search path BiRefNet K:\ComfyUI_Models\rmbg\BiRefNet
[INFO] Adding extra search path BiRefNet-HR K:\ComfyUI_Models\rmbg\BiRefNet-HR
[INFO] Adding extra search path SDMatte K:\ComfyUI_Models\rmbg\SDMatte
[INFO] Adding extra search path segformer_clothes K:\ComfyUI_Models\rmbg\segformer_clothes
[INFO] Adding extra search path segformer_fashion K:\ComfyUI_Models\rmbg\segformer_fashion
[INFO] Adding extra search path depthanything3 K:\ComfyUI_Models\depthanything3
[INFO] Adding extra search path sapiens K:\ComfyUI_Models\sapiens
[INFO] Adding extra search path brushnet K:\ComfyUI_Models\brushnet
[INFO] Adding extra search path model_patches K:\ComfyUI_Models\model_patches
[INFO] Adding extra search path diffusers K:\ComfyUI_Models\diffusers
[START] Security scan
[DONE] Security scan
** ComfyUI startup time: 2026-07-02 22:29:52.363
** Platform: Windows
** Python version: 3.12.11 | packaged by Anaconda, Inc. | (main, Jun  5 2025, 12:58:53) [MSC v.1929 64 bit (AMD64)]
** Python executable: H:\PythonProjects3\Win_ComfyUI\.venv\Scripts\python.exe
** ComfyUI Path: H:\PythonProjects3\Win_ComfyUI
** ComfyUI Base Folder Path: H:\PythonProjects3\Win_ComfyUI
** User directory: H:\PythonProjects3\Win_ComfyUI\user
** ComfyUI-Manager config path: H:\PythonProjects3\Win_ComfyUI\user\__manager\config.ini
** Log path: H:\PythonProjects3\Win_ComfyUI\user\comfyui.log
[INFO] [PRE] ComfyUI-Manager
[comfy-env] ComfyUI-DepthAnythingV3: no isolation envs
[comfy-env] prestartup complete
[INFO] Copied 19 asset(s) to H:\PythonProjects3\Win_ComfyUI\input: ['bas_relief.png', 'bridge.jpg', 'kaffi.jpg', 'robot_unitree.mp4', '__00005_.png', '__00006_.png', '__00007_.png', '__00008_.png', '__00009_.png', '__00010_.png', '__00011_.png', '__00012_.png', '__00013_.png', '__00014_.png', '__00015_.png', '__00016_.png', '__00017_.png', '000.png', '010.png']
[SAM3DBody] Running prestartup script...
[SAM3DBody] Skipped 3 existing asset file(s)
[SAM3DBody] Prestartup script completed
[INFO] 
Prestartup times for custom nodes:
[INFO]    0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Easy-Use
[INFO]    0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\rgthree-comfy
[INFO]    0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-SAM3DBody
[INFO]    4.6 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-DepthAnythingV3
[INFO] 
[INFO] Found triton 3.6.0. Enabling comfy-kitchen triton backend.
[INFO] Found comfy_kitchen backend cuda: {'available': True, 'disabled': False, 'unavailable_reason': None, 'capabilities': ['adaln', 'apply_rope', 'apply_rope1', 'apply_rope_split_half', 'apply_rope_split_half1', 'dequantize_int8_convrot_weight', 'dequantize_int8_convrot_weight_dtype', 'dequantize_int8_simple', 'dequantize_int8_simple_dtype', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'gemv_awq_w4a16', 'int8_linear', 'quantize_and_rotate_rowwise', 'quantize_int8_convrot_weight', 'quantize_int8_rowwise', 'quantize_int8_tensorwise', 'quantize_mxfp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8', 'quantize_svdquant_w4a4', 'scaled_mm_nvfp4', 'scaled_mm_svdquant_w4a4', 'stochastic_rounding_fp8']}
[INFO] Found comfy_kitchen backend triton: {'available': True, 'disabled': False, 'unavailable_reason': None, 'capabilities': ['adaln', 'apply_rope', 'apply_rope1', 'apply_rope_split_half', 'apply_rope_split_half1', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'int8_linear', 'quantize_and_rotate_rowwise', 'quantize_int8_rowwise', 'quantize_mxfp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8']}
[INFO] Found comfy_kitchen backend eager: {'available': True, 'disabled': False, 'unavailable_reason': None, 'capabilities': ['adaln', 'apply_rope', 'apply_rope1', 'apply_rope_split_half', 'apply_rope_split_half1', 'dequantize_int8_convrot_weight', 'dequantize_int8_convrot_weight_dtype', 'dequantize_int8_simple', 'dequantize_int8_simple_dtype', 'dequantize_mxfp8', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'gemv_awq_w4a16', 'int8_linear', 'quantize_and_rotate_rowwise', 'quantize_int8_convrot_weight', 'quantize_int8_rowwise', 'quantize_int8_tensorwise', 'quantize_mxfp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8', 'quantize_svdquant_w4a4', 'scaled_mm_mxfp8', 'scaled_mm_nvfp4', 'scaled_mm_svdquant_w4a4', 'stochastic_rounding_fp8']}
[INFO] Checkpoint files will always be loaded safely.
[INFO] Total VRAM 24576 MB, total RAM 130328 MB
[INFO] pytorch version: 2.7.1+cu126
[INFO] xformers version: 0.0.31.post1
[INFO] Set vram state to: NORMAL_VRAM
[INFO] Device: cuda:0 NVIDIA GeForce RTX 3090 : cudaMallocAsync
[INFO] Using async weight offloading with 2 streams
[INFO] Enabled pinned memory 52131.0
[INFO] Using Flash Attention
aimdo: src-win/cuda-detour.c:38:INFO:aimdo_setup_hooks: installing 6 hooks
aimdo: src-win/cuda-detour.c:28:DEBUG:install_hook_entries: hooks successfully installed
aimdo: src-win/shmem-detect.c:80:INFO:comfy-aimdo WDDM adapter match: NVIDIA GeForce RTX 3090 runtime_luid=00000000:00016f50 dxgi_luid=00000000:00016f50
aimdo: src/control.c:248:INFO:comfy-aimdo inited for GPU: NVIDIA GeForce RTX 3090 (VRAM: 24575 MB)
[INFO] DynamicVRAM support detected and enabled
[INFO] Python version: 3.12.11 | packaged by Anaconda, Inc. | (main, Jun  5 2025, 12:58:53) [MSC v.1929 64 bit (AMD64)]
[INFO] ComfyUI version: 0.27.0
[INFO] comfy-aimdo version: 0.4.10
[INFO] comfy-kitchen version: 0.2.16
[INFO] comfyui-frontend-package version: 1.45.20
[INFO] comfyui-workflow-templates version: 0.11.1
[INFO] comfyui-embedded-docs version: 0.5.6
[INFO] comfy-kitchen version: 0.2.16
[INFO] comfy-aimdo version: 0.4.10
[INFO] [Prompt Server] web root: H:\PythonProjects3\Win_ComfyUI\.venv\Lib\site-packages\comfyui_frontend_package\static
[INFO] Asset seeder disabled
[INFO] [START] ComfyUI-Manager
[ComfyUI-Manager] Using GitPython backend
[INFO] [ComfyUI-Manager] network_mode: public
[INFO] No OpenGL_accelerate module loaded: Acceleration disabled
Customize audios loading path: H:\PythonProjects3\Win_ComfyUI\audios
[H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfy-mtb] | INFO -> loaded 108 nodes successfuly
Web extensions folder found at H:\PythonProjects3\Win_ComfyUI\web\extensions\ComfyLiterals
Multiple distributions found for package optimum. Picked distribution: optimum
Warn!: xFormers is available (Attention)
[SPARSE] Backend: spconv, Attention: xformers
[SPARSE] Backend: spconv, Attention: xformers
[SPARSE][CONV] spconv algo: implicit_gemm
[SPARSE] Backend: spconv, Attention: xformers
Added Hunyuan3D-2.1 path to sys.path: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-3D-Pack\Gen_3D_Modules\Hunyuan3D_2_1
Added Hunyuan3D-2.1 path to sys.path: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-3D-Pack\Gen_3D_Modules\Hunyuan3D_2_1\hy3dshape
Added Hunyuan3D-2.1 path to sys.path: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-3D-Pack\Gen_3D_Modules\Hunyuan3D_2_1\hy3dpaint
Torchvision version: 0.22.1+cu126
torchvision.transforms.functional_tensor not found, applying compatibility fix...
Applied compatibility fix: created functional_tensor mock module
Torchvision fix applied for Hunyuan3D-2.1
mmgp available for memory management
[INFO] Using compiled C++ mesh_inpaint_processor (fast)
Hunyuan3D-2.1 modules loaded successfully
Torchvision version: 0.22.1+cu126
torchvision.transforms.functional_tensor is available
torch_cluster available - using original FPS sampling method
Imported AddPaddingAdvanced successfully
Imported AddPaddingBase successfully
Imported AD_ImageResize successfully
Imported AD_MockupMaker successfully
Imported AD_PosterMaker successfully
Imported AD_PromptSaver successfully
Imported ComfyUI-FofrToolkit successfully
Imported ComfyUI-ImageCaptioner successfully
Imported ComfyUI-imageResize successfully
Imported ComfyUI-textAppend successfully
Imported imagecreatemask successfully
Imported multiline_string successfully
Imported AddPaddingAdvanced successfully
Imported AddPaddingBase successfully
Imported AD_ImageResize successfully
Imported AD_MockupMaker successfully
Imported AD_PosterMaker successfully
Imported AD_PromptSaver successfully
Imported ComfyUI-FofrToolkit successfully
Imported ComfyUI-ImageCaptioner successfully
Imported ComfyUI-imageResize successfully
Imported ComfyUI-textAppend successfully
Imported imagecreatemask successfully
Imported multiline_string successfully
[Allor]: No new updates.
[Allor]: 0 nodes were overridden.
[Allor]: 12 modules were enabled.
[Allor]: 98 nodes were loaded.
[Allor]: 0 nodes were overridden.
[Allor]: 12 modules were enabled.
[Allor]: 98 nodes were loaded.
[AnimateDiff] - WARNING - xformers is enabled but it has a bug that can cause issue while using with AnimateDiff.
H:\PythonProjects3\Win_ComfyUI\.venv\Scripts\python.exe
ComfyUI-GGUF: Partial torch compile only, consider updating pytorch
======================================== ComfyUI-nunchaku Initialization ========================================
Nunchaku version: 1.0.0
ComfyUI-nunchaku version: 1.0.1
=================================================================================================================
Hello World
Warn!: Cannot connect to comfyregistry.
Efficiency Nodes: Attempting to add Control Net options to the 'HiRes-Fix Script' Node (comfyui_controlnet_aux add-on)...Success!
Loaded Efficiency nodes from H:\PythonProjects3\Win_ComfyUI\custom_nodes\efficiency-nodes-comfyui
Loaded ControlNetPreprocessors nodes from H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_controlnet_aux
Loaded AdvancedControlNet nodes from H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Advanced-ControlNet
Loaded AnimateDiff from H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-animatediff\animatediff/sliding_schedule.py
FETCH DATA from: H:\PythonProjects3\Win_ComfyUI\user\__manager\cache\3351870820_custom-node-list.json [DONE]
[ComfyUI-Manager] All startup tasks have been completed.
Loaded IPAdapter nodes from H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_IPAdapter_plus
Loaded VideoHelperSuite from H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite
### Loading: ComfyUI-Impact-Pack (V8.28)
### Loading: ComfyUI-Impact-Pack (V8.28)
Loaded ImpactPack nodes from[Impact Pack] Wildcard total size (0.00 MB) is within cache limit (50.00 MB). Using full cache mode.
 H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Impact-Pack
[Impact Pack] Wildcards loading done.
[Impact Pack] Wildcard total size (0.00 MB) is within cache limit (50.00 MB). Using full cache mode.
[Impact Pack] Wildcards loading done.
[ComfyUI-Easy-Use] server: v1.3.4 Loaded
[ComfyUI-Easy-Use] web root: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Easy-Use\web_version/v2 Loaded
Comfyui-ergouzi-DGNJD:解锁更多宝贵时光,去做更有意义的事情,这才是AI--------B站@灵仙儿和二狗子
ExcelPicker Node Loaded Successfully
[fix_flash_attn_schema] OK: flash_attn_wrapper 已切换为直连模式,绕过 torch.library.custom_op schema bug
[Flow Control] Checkpoint presets database : H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Flow-Control\db/checkpoints.json
ComfyUI-GGUF: Partial torch compile only, consider updating pytorch
[Flow Control] Flux presets database : H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Flow-Control\db/flux_checkpoints.json
[Flow Control] Lora info database : H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Flow-Control\db/loras.json
------------------------------------------
Flow Control v1.00 :  15 Nodes Loaded
------------------------------------------
[Flow Control] API server started...
ComfyUI-GGUF: Partial torch compile only, consider updating pytorch
✅ Holaf Custom Nodes initialized
==========================
housekeeper
==========================
Total VRAM 24576 MB, total RAM 130328 MB
pytorch version: 2.7.1+cu126
xformers version: 0.0.31.post1
Set vram state to: NORMAL_VRAM
Device: cuda:0 NVIDIA GeForce RTX 3090 : cudaMallocAsync
Using async weight offloading with 2 streams
Enabled pinned memory 52131.0
### Loading: ComfyUI-Impact-Pack (V8.28)
[Impact Pack] Wildcard total size (0.00 MB) is within cache limit (50.00 MB). Using full cache mode.
[Impact Pack] Wildcards loading done.
### Loading: ComfyUI-Impact-Subpack (V1.3.5)
[Impact Pack/Subpack] Using folder_paths to determine whitelist path: H:\PythonProjects3\Win_ComfyUI\user\default\ComfyUI-Impact-Subpack\model-whitelist.txt
[Impact Pack/Subpack] Ensured whitelist directory exists: H:\PythonProjects3\Win_ComfyUI\user\default\ComfyUI-Impact-Subpack
[Impact Pack/Subpack] Loaded 0 model(s) from whitelist: H:\PythonProjects3\Win_ComfyUI\user\default\ComfyUI-Impact-Subpack\model-whitelist.txt
[Impact Subpack] ultralytics_bbox: H:\PythonProjects3\Win_ComfyUI\models\ultralytics\bbox
[Impact Subpack] ultralytics_segm: H:\PythonProjects3\Win_ComfyUI\models\ultralytics\segm
[Impact Subpack] ultralytics_bbox: H:\PythonProjects3\Win_ComfyUI\models\ultralytics\bbox
[Impact Subpack] ultralytics_segm: H:\PythonProjects3\Win_ComfyUI\models\ultralytics\segm
[Compatibility] Python版本: Python 3.12.11
[Compatibility] Python version: Python 3.12.11
[Compatibility] 兼容性模式: python312
[Compatibility] Compatibility mode: python312
[Compatibility] ⚠️  Python 3.12模式 - 使用兼容性层
[Compatibility] ⚠️  Python 3.12 mode - using compatibility layer
[IndexTTS2] ⚠️  Python版本兼容性警告
[IndexTTS2] ⚠️  Python Version Compatibility Warning
[IndexTTS2] 当前版本: Python 3.12.11
[IndexTTS2] Current version: Python 3.12.11
[IndexTTS2] IndexTTS2依赖需要Python 3.8-3.11,当前版本可能不兼容
[IndexTTS2] IndexTTS2 dependencies require Python 3.8-3.11, current version may be incompatible
[IndexTTS2] 建议使用Python 3.10或3.11环境
[IndexTTS2] Recommend using Python 3.10 or 3.11 environment
[IndexTTS2] 自动依赖安装已禁用,请手动安装所需依赖
[IndexTTS2] Auto dependency installation disabled, please install dependencies manually
[IndexTTS2] ✓ indextts 包已安装
[IndexTTS2] ✓ indextts package installed at: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Comfyui-Index-TTS2\indextts\__init__.py
[IndexTTS2] ✓ 所有节点加载完成,包括情绪语音多人对话节点
[IndexTTS2] ✓ All nodes loaded, including emotion voice multi-talk node
[inference_core_nodes.controlnet_preprocessors] | INFO -> Using ckpts path: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Inference-Core-Nodes\src\inference_core_nodes\controlnet_preprocessors\ckpts
[inference_core_nodes.controlnet_preprocessors] | INFO -> Using symlinks: False
[inference_core_nodes.controlnet_preprocessors] | INFO -> Using ort providers: ['CUDAExecutionProvider', 'DirectMLExecutionProvider', 'OpenVINOExecutionProvider', 'ROCMExecutionProvider', 'CPUExecutionProvider', 'CoreMLExecutionProvider']
### Loading: ComfyUI-Inspire-Pack (V1.22.2)
Python version is above 3.10, patching the collections module.
jjk_util loding
[JoyCaption] ✅ Loaded custom HF custom models.
[JoyCaption GGUF] ✅ Loaded custom GGUF custom models
Set up system temp directory: C:\Users\love\AppData\Local\Temp\latentsync_85f8329d
Found LoRA roots:
 - G:/PythonProjects2/stable-diffusion-webui/models/Lora
 - H:/PythonProjects3/Win_ComfyUI/models/loras
 - K:/ComfyUI_Models/loras
Found checkpoint roots:
 - G:/PythonProjects2/stable-diffusion-webui/models/Stable-diffusion
 - H:/PythonProjects3/Win_ComfyUI/models/checkpoints
 - H:/PythonProjects3/Win_ComfyUI/models/diffusion_models
 - H:/PythonProjects3/Win_ComfyUI/models/unet
 - K:/ComfyUI_Models/checkpoints
 - K:/ComfyUI_Models/diffusion_models
 - K:/ComfyUI_Models/unet
Found embedding roots:
 - H:/PythonProjects3/Win_ComfyUI/models/embeddings
Added path mapping: H:/PythonProjects3/Win_ComfyUI/models/loras -> G:/PythonProjects2/stable-diffusion-webui/models/Lora/__COMFY_LORAS__
Added path mapping: H:/PythonProjects3/Win_ComfyUI/models/checkpoints -> G:/PythonProjects2/stable-diffusion-webui/models/Stable-diffusion/__COMFY_MODELS__
Updated 'comfyui' library with current folder paths
Detected async ComfyUI execution, installing async metadata hooks
Metadata collection hooks installed for runtime values
ComfyUI Metadata Collector initialized
Example images path: 
Added static route for locales: /locales -> H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-lora-manager\locales
Registered model type 'lora' with service LoraService and routes LoraRoutes
Registered model type 'checkpoint' with service CheckpointService and routes CheckpointRoutes
Registered model type 'embedding' with service EmbeddingService and routes EmbeddingRoutes
Registered default model types: lora, checkpoint, embedding
Setting up routes for 3 registered model types
Successfully set up routes for lora
Successfully set up routes for checkpoint
Successfully set up routes for embedding
LoRA Manager: Set up routes for 3 model types: lora, checkpoint, embedding
Blocked by policy: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Manager
--------------
 ### Mixlab Nodes: Loaded
json_repair## OK
ChatGPT.available True
edit_mask.available True
simple_lama_inpainting## OK
LaMaInpainting.available True
ClipInterrogator.available True
PromptGenerate.available True
ChinesePrompt.available True
RembgNode_.available True
TripoSR.available
MiniCPMNode.available
Scenedetect.available
FishSpeech.available
SenseVoice.available
Whisper.available
fal-client## OK
FalVideo.available
 -------------- 
[MultiGPU Core Patching] Patching mm.soft_empty_cache for Comprehensive Memory Management (VRAM + CPU + Store Pruning)
[MultiGPU Core Patching] Patching mm.get_torch_device, mm.text_encoder_device, mm.unet_offload_device
[MultiGPU DEBUG] Initial current_device: cuda:0
[MultiGPU DEBUG] Initial current_text_encoder_device: cuda:0
[MultiGPU DEBUG] Initial current_unet_offload_device: cpu
[MultiGPU] Initiating custom_node Registration. . .
-----------------------------------------------
custom_node                   Found     Nodes
-----------------------------------------------
ComfyUI-LTXVideo                  Y         1
ComfyUI-Florence2                 Y         2
ComfyUI_bitsandbytes_NF4          Y         1
x-flux-comfyui                    Y         1
ComfyUI-MMAudio                   Y         3
ComfyUI-GGUF                      Y        18
PuLID_ComfyUI                     Y         3
ComfyUI-WanVideoWrapper           Y        20
-----------------------------------------------
[MultiGPU] Registration complete. Final mappings: CheckpointLoaderAdvancedMultiGPU, CheckpointLoaderAdvancedDisTorch2MultiGPU, UNetLoaderLP, UNETLoaderMultiGPU, VAELoaderMultiGPU, CLIPLoaderMultiGPU, DualCLIPLoaderMultiGPU, TripleCLIPLoaderMultiGPU, QuadrupleCLIPLoaderMultiGPU, CLIPVisionLoaderMultiGPU, CheckpointLoaderSimpleMultiGPU, ControlNetLoaderMultiGPU, DiffusersLoaderMultiGPU, DiffControlNetLoaderMultiGPU, UNETLoaderDisTorch2MultiGPU, VAELoaderDisTorch2MultiGPU, CLIPLoaderDisTorch2MultiGPU, DualCLIPLoaderDisTorch2MultiGPU, TripleCLIPLoaderDisTorch2MultiGPU, QuadrupleCLIPLoaderDisTorch2MultiGPU, CLIPVisionLoaderDisTorch2MultiGPU, CheckpointLoaderSimpleDisTorch2MultiGPU, ControlNetLoaderDisTorch2MultiGPU, DiffusersLoaderDisTorch2MultiGPU, DiffControlNetLoaderDisTorch2MultiGPU, LTXVLoaderMultiGPU, Florence2ModelLoaderMultiGPU, DownloadAndLoadFlorence2ModelMultiGPU, CheckpointLoaderNF4MultiGPU, LoadFluxControlNetMultiGPU, MMAudioModelLoaderMultiGPU, MMAudioFeatureUtilsLoaderMultiGPU, MMAudioSamplerMultiGPU, UnetLoaderGGUFDisTorchMultiGPU, UnetLoaderGGUFAdvancedDisTorchMultiGPU, CLIPLoaderGGUFDisTorchMultiGPU, DualCLIPLoaderGGUFDisTorchMultiGPU, TripleCLIPLoaderGGUFDisTorchMultiGPU, QuadrupleCLIPLoaderGGUFDisTorchMultiGPU, UnetLoaderGGUFDisTorch2MultiGPU, UnetLoaderGGUFAdvancedDisTorch2MultiGPU, CLIPLoaderGGUFDisTorch2MultiGPU, DualCLIPLoaderGGUFDisTorch2MultiGPU, TripleCLIPLoaderGGUFDisTorch2MultiGPU, QuadrupleCLIPLoaderGGUFDisTorch2MultiGPU, UnetLoaderGGUFMultiGPU, UnetLoaderGGUFAdvancedMultiGPU, CLIPLoaderGGUFMultiGPU, DualCLIPLoaderGGUFMultiGPU, TripleCLIPLoaderGGUFMultiGPU, QuadrupleCLIPLoaderGGUFMultiGPU, PulidModelLoaderMultiGPU, PulidInsightFaceLoaderMultiGPU, PulidEvaClipLoaderMultiGPU, LoadWanVideoT5TextEncoderMultiGPU, WanVideoTextEncodeMultiGPU, WanVideoTextEncodeCachedMultiGPU, WanVideoTextEncodeSingleMultiGPU, WanVideoVAELoaderMultiGPU, WanVideoTinyVAELoaderMultiGPU, WanVideoBlockSwapMultiGPU, WanVideoImageToVideoEncodeMultiGPU, WanVideoDecodeMultiGPU, WanVideoModelLoaderMultiGPU, WanVideoSamplerMultiGPU, WanVideoVACEEncodeMultiGPU, WanVideoEncodeMultiGPU, LoadWanVideoClipTextEncoderMultiGPU, WanVideoClipVisionEncodeMultiGPU, WanVideoControlnetLoaderMultiGPU, FantasyTalkingModelLoaderMultiGPU, Wav2VecModelLoaderMultiGPU, WanVideoUni3C_ControlnetLoaderMultiGPU, DownloadAndLoadWav2VecModelMultiGPU
==============================================
[comfyui-nodes-docs]Loaded comfyui-nodes-docs plugin
==============================================
======================================== ComfyUI-nunchaku Initialization ========================================
Nunchaku version: 1.0.0
ComfyUI-nunchaku version: 1.0.1
=================================================================================================================
================================================================================================================================
ComfyUI-NunchakuFluxLoraStacker: Loading Nunchaku FLUX LoRA Stacker nodes...
ComfyUI-NunchakuFluxLoraStacker: Loaded 1 nodes
ComfyUI-NunchakuFluxLoraStacker: JavaScript directory: js
================================================================================================================================
[PreviewBridgeExtended] Loaded v0.4.0-alpha_main_19-20260328-38ece61
### Loading: ComfyUI-RBG-ImageStitchPlus ###

[ReActor] - STATUS - Running v0.6.1 in ComfyUI
Torch version: 2.7.1+cu126
0 NVIDIA GeForce RTX 3090
H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-RealESRGAN_Upscaler\models\RealESRGAN_x4plus.pth
H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-RealESRGAN_Upscaler\models\RealESRGAN_x2plus.pth
H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-RealESRGAN_Upscaler\models\RealESRNet_x4plus.pth
H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-RealESRGAN_Upscaler\models\ESRGAN_SRx4_DF2KOST_official-ff704c30.pth
ComfyUI RealEsrganUpscaler Nodes: Loaded
[ComfyUI-RMBG] v2.9.6 | 33 nodes Loaded
[SAM3DBody] Initializing ComfyUI-SAM3DBody custom nodes...
[SAM3DBody] Found Blender: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-SAM3DBody\lib\blender\blender-4.2.3-windows-x64\blender.exe
[SAM3DBody] [OK] Loaded 16 node(s)
[SAM3DBody]   - LoadSAM3DBodyModel
[SAM3DBody]   - SAM3DBodyAddMeshToSkeleton
[SAM3DBody]   - SAM3DBodyExportFBX
[SAM3DBody]   - SAM3DBodyExportMesh
[SAM3DBody]   - SAM3DBodyExportMultipleFBX
[SAM3DBody]   - SAM3DBodyGetVertices
[SAM3DBody]   - SAM3DBodyLoadMesh
[SAM3DBody]   - SAM3DBodyLoadSkeleton
[SAM3DBody]   - SAM3DBodyPreviewRiggedMesh
[SAM3DBody]   - SAM3DBodyPreviewSkeleton
[SAM3DBody]   - SAM3DBodyProcess
[SAM3DBody]   - SAM3DBodyProcessAdvanced
[SAM3DBody]   - SAM3DBodyProcessMultiple
[SAM3DBody]   - SAM3DBodySaveSkeleton
[SAM3DBody]   - SAM3DBodySelectMesh
[SAM3DBody]   - SAM3DBodyVisualize
[SAM3DBody] Registered server routes:
[SAM3DBody]   POST /sam3d/save_glb
[SAM3DBody]   POST /sam3d/export_posed_fbx
[SAM3DBody]   GET  /sam3d/mesh_files
[SAM3DBody] [OK] Server routes registered
[SAM3DBody] Initialization complete
Discovered apex.normalization.FusedRMSNorm - will use it instead of InternLM2RMSNorm
Discovered apex.normalization.FusedRMSNorm - will use it instead of InternRMSNorm
VRAM libre: 22.53 GB
⚡ SeedVR2 optimizations check: SageAttention ✅ | Flash Attention ✅ | Triton ✅
📊 Initial CUDA memory: 22.51GB free / 24.00GB total
✅ SeedVR2ExtraArgs幽灵节点加载成功!
   已解决旧工作流节点缺失问题
H:\PythonProjects3\Win_ComfyUI
############################################
H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Universal-Styler\CSV
############################################
['H:\\PythonProjects3\\Win_ComfyUI\\custom_nodes\\ComfyUI-Universal-Styler\\CSV\\naifilters.csv', 'H:\\PythonProjects3\\Win_ComfyUI\\custom_nodes\\ComfyUI-Universal-Styler\\CSV\\naistyles.csv', 'H:\\PythonProjects3\\Win_ComfyUI\\custom_nodes\\ComfyUI-Universal-Styler\\CSV\\naitypes.csv']
############################################
[Universal Detailer] Loaded successfully (v1.0.0-dev)
[Universal Detailer] ⚠️  AI-generated code - Use at your own risk
Initializing ComfyUI-VideoUpscale_WithModel

__     ______   ____                      ____              ____ _      _ 
\ \   / /  _ \ / ___| __ _ _ __ ___   ___|  _ \  _____   __/ ___(_)_ __| |
 \ \ / /| |_) | |  _ / _` | '_ ` _ \ / _ \ | | |/ _ \ \ / / |  _| | '__| |
  \ V / |  _ <| |_| | (_| | | | | | |  __/ |_| |  __/\ V /| |_| | | |  | |
   \_/  |_| \_\\____|\__,_|_| |_| |_|\___|____/ \___| \_/  \____|_|_|  |_|
                                                                          
             🎮 VRGameDevGirl custom nodes loaded successfully! 🎞️

[vsLinx] Combo type validation fix applied.
[WanVaceAdvanced] Impact Pack integration enabled for VACE DetailerHook
(pysssss:WD14Tagger) [DEBUG] Available ORT providers: TensorrtExecutionProvider, CUDAExecutionProvider, CPUExecutionProvider
(pysssss:WD14Tagger) [DEBUG] Using ORT providers: CUDAExecutionProvider, CPUExecutionProvider
Workspace manager - Openning file hash dict
### Loading: Workspace Manager (V1.0.0)
assets_dir:H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_checkpointloader_ext\web/assets
------------------------------------------
Comfyroll Studio v1.76 :  175 Nodes Loaded
------------------------------------------
** For changes, please see patch notes at https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes/blob/main/Patch_Notes.md
** For help, please see the wiki at https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes/wiki
------------------------------------------
[H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_controlnet_aux] | INFO -> Using ckpts path: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_controlnet_aux\ckpts
[H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_controlnet_aux] | INFO -> Using symlinks: False
[H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_controlnet_aux] | INFO -> Using ort providers: ['CUDAExecutionProvider', 'DirectMLExecutionProvider', 'OpenVINOExecutionProvider', 'ROCMExecutionProvider', 'CPUExecutionProvider', 'CoreMLExecutionProvider']
('Looking for cached Spacy xx_sent_ud_sm.',)
 ** Comfly Loaded : fly, just fly

### [START] ComfyUI AlekPet Nodes v1.1.5 ###
Node -> ArgosTranslateNode: ArgosTranslateCLIPTextEncodeNode, ArgosTranslateTextNode [Loading]
Node -> ChatGLMNode: ChatGLM4TranslateCLIPTextEncodeNode, ChatGLM4TranslateTextNode, ChatGLM4InstructNode, ChatGLM4InstructMediaNode, ChatGLMImageGenerateNode, ChatGLMVideoGenerateNode [Loading]
Node -> DeepLXTranslateNode: DeepLXTranslateCLIPTextEncodeNode, DeepLXTranslateTextNode [Loading]
Node -> DeepTranslatorNode: DeepTranslatorCLIPTextEncodeNode, DeepTranslatorTextNode [Loading]
Node -> ExtrasNode: PreviewTextNode, HexToHueNode, ColorsCorrectNode [Loading]
Node -> GoogleTranslateNode: GoogleTranslateCLIPTextEncodeNode, GoogleTranslateTextNode [Loading]
Node -> IDENode: IDENode [Loading]
Node -> PainterNode: PainterNode [Loading]
Node -> PoseNode: PoseNode [Loading]
### [END] ComfyUI AlekPet Nodes ###
[SeedReam4API] 信息:✅ ComfyUI官方视频类型导入成功
[SeedReam4API] 信息:✅ ComicBrowserViewer API 路由已注册
[Doubao-Seed] Module loaded successfully
[Doubao-Seed] Plugin loading completed!
[Doubao-Seed] Registered 12 nodes
[Doubao-Seed] Node list: ['SeedReam4APINode', 'SeedReam4APISingleNode', 'DoubaoSeedanceVideoNode', 'DoubaoSeedanceContinuousVideoNode', 'DoubaoSeedanceMultiRefVideoNode', 'DoubaoSeed16Node', 'DoubaoComicBookNode', 'ComicPageSelectorNode', 'ComicHTMLViewerNode', 'ComicBatchExporterNode', 'ComicBrowserViewerNode', 'ComicHTMLPreviewNode']
成功加载 FaceAlignDouble 节点
成功加载 FaceAlignSingle 节点
成功加载 FaceAutoFitSingle 节点
成功加载 FaceAutoFitDouble 节点
成功加载 ImageRotateCHAOS 节点
成功加载 GenderRecognitionNode 节点
成功加载 Prompt Selector 节点
LOADED 6 FONTS


███╗   ███╗ █████╗  ██████╗██╗  ██╗██╗███╗   ██╗███████╗               
████╗ ████║██╔══██╗██╔════╝██║  ██║██║████╗  ██║██╔════╝               
██╔████╔██║███████║██║     ███████║██║██╔██╗ ██║█████╗                 
██║╚██╔╝██║██╔══██║██║     ██╔══██║██║██║╚██╗██║██╔══╝                 
██║ ╚═╝ ██║██║  ██║╚██████╗██║  ██║██║██║ ╚████║███████╗               
╚═╝     ╚═╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝╚══════╝               
                                                                       
██████╗ ███████╗██╗     ██╗   ██╗███████╗██╗ ██████╗ ███╗   ██╗███████╗
██╔══██╗██╔════╝██║     ██║   ██║██╔════╝██║██╔═══██╗████╗  ██║██╔════╝
██║  ██║█████╗  ██║     ██║   ██║███████╗██║██║   ██║██╔██╗ ██║███████╗
██║  ██║██╔══╝  ██║     ██║   ██║╚════██║██║██║   ██║██║╚██╗██║╚════██║
██████╔╝███████╗███████╗╚██████╔╝███████║██║╚██████╔╝██║ ╚████║███████║
╚═════╝ ╚══════╝╚══════╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝  ╚═══╝╚══════╝
                                                                       


✅ [HeadNeckMask] 插件已加载 --- 🎭 Head & Neck Mask(头颈遮罩)
[LLM Prompt] GLM module loaded successfully
[LLM Prompt] Comfly module loaded successfully
[LLM Agent Assistant] 检测到safetensors版本: 0.7.0
[LLM Prompt] JoyCaption module loaded successfully
[LLM Prompt] Gemini module loaded successfully
✅ nano-banana官方调用方式已集成到gemini_banana模块
✅ 成功导入独立翻译模块
[LLM Prompt] Gemini Banana module loaded successfully
🎨 已为镜像节点设置橙色主题
[LLM Prompt] Gemini Banana Mirror module loaded successfully
[LLM Prompt] OpenRouter Banana module loaded successfully
[LLM Prompt] Comfly Nano Banana module loaded successfully
[LLM Agent Assistant] Plugin loading completed!
[LLM Agent Assistant] Registered 18 nodes
[LLM Agent Assistant] Node list: ['GLM_Prompt_Expand_From_Image', 'Comfly_Prompt_Expand_From_Image', 'JoyCaption-BetaOne-Run', 'KenChenLLMPromptGeminiText', 'KenChenLLMPromptGeminiMultimodal', 'KenChenLLMPromptGeminiImageGeneration', 'KenChenLLMPromptGeminiImageAnalysis', 'KenChenLLMGeminiBananaTextToImageBananaNode', 'KenChenLLMGeminiBananaImageToImageBananaNode', 'KenChenLLMGeminiBananaMultimodalBananaNode', 'GeminiBananaMultiImageEdit', 'GeminiBananaTextTranslation', 'KenChenLLMGeminiBananaMirrorImageGenNode', 'KenChenLLMGeminiBananaMirrorImageEditNode', 'GeminiBananaMirrorMultiImageEdit', 'OpenRouterNode', 'NanoBananaGeminiImageNode', 'BatchImages']
--- Initializing Core Authentication ---
✅ NanoBanana with Vertex AI (Legacy SDK) Initialized.
✅ NanoBanana with AI Platform SDK Initialized.
Nimbus Nodes: Loaded

[ -->> Initializing PH's ComfyUI Custom Nodes <<-- ]

   _ \ |  |    _ \                  |            __|
   __/ __ |      /   -_)    \    _` |   -_)   _| _|  _ \   _| ` \    -_)   _|
  _|  _| _|   _|_\ \___| _| _| \__,_| \___| _|  _| \___/ _| _|_|_| \___| _|

      -->> PH's RenderFormer Wrapper for ComfyUI Version: 0.5.0 <<--

[ -->> PH RenderFormer Nodes loaded successfully! <<-- ]
✅ [PreciseHeadNeck] 插件已加载 --- 🎯 精确头颈遮罩 + ✏️ 手动微调
[PromptModels Studio] 🚀 Loading custom nodes for ComfyUI...
[ComfyDeploy] ✅ get_last_frame importado correctamente
[GetLastFrame] ✅ Loaded
[TextPromptBlocker] ✅ Loaded
[DivisorDePrompts] ✅ Loaded
✓ GETSETNODE_PRO v1.0.0 loaded
[GETSETNODE_PRO] ✅ Loaded
[GoogleAI] Ruta registrada: /google-ai/health

=================================================================
  ComfyUI_GoogleAI V2.5.0 -- 12 nodos
  Texto  | Vision (5 imagenes)
  Imagen: Nano Banana 2/Pro + Imagen 4 (14 aspect ratios)
  Veo 3.1 + Audio ffmpeg | Diagnostico (5 nodos)
  Video: transcodificacion H.264 + diagnostico automatico
  Error Explainer -> ComfyUI_UniversalErrorExplainer
=================================================================

[ComfyUI-GoogleAI] ✅ Loaded (V2.5.0 --- 12 Nodos: NB2/Pro/Imagen4/Veo3.1/Diag)
[ComfyUI-GrokAI] ✅ Loaded (xAI Integration)
✅ ComfyUI Selectores Pro cargado (4 nodos)
[Selectores Pro] ✅ Loaded
[PromptModels Studio] 📦 Total nodes loaded: 34
[PromptModels Studio] ✅ Ready!
[Self Nodes] 已加载以下节点:
  - Wan_video_prompt_generator: 🎬 视频提示词生成器
ComfyUI video support loaded successfully.
[ComfyAssets Selectors] Loaded..
[tinyterraNodes] Loaded

🔊 Yvann Audio Reactive & Utils Node : Loaded


Initializing ControlAltAI Nodes
Efficiency Nodes: Attempting to add Control Net options to the 'HiRes-Fix Script' Node (comfyui_controlnet_aux add-on)...Success!
Endless Sea of Stars Custom Nodes v1.5.0 loaded successfully!
Nodes available under 'Endless 🌊✨' menu
🐝 Kanibus v1.0.0 - Eye-Tracking ControlNet System Loaded
💫 Features: 14 nodes, GPU optimization, WAN 2.1/2.2 support
成功加载 FaceAlignDouble 节点
成功加载 FaceAlignSingle 节点
成功加载 FaceAutoFitSingle 节点
成功加载 FaceAutoFitDouble 节点
成功加载 ImageRotateCHAOS 节点
✨提示词小助手 V1.1.3 已启动
Using xformers attention
(RES4LYF) Init
(RES4LYF) Importing beta samplers.
(RES4LYF) Importing legacy samplers.

[rgthree-comfy] Loaded 48 epic nodes. 🎉

[rgthree-comfy] ComfyUI's new Node 2.0 rendering may be incompatible with some rgthree-comfy nodes and features, breaking some rendering as well as losing the ability to access a node's properties (a vital part of many nodes). It also appears to run MUCH more slowly spiking CPU usage and causing jankiness and unresponsiveness, especially with large workflows. Personally I am not planning to use the new Nodes 2.0 and, unfortunately, am not able to invest the time to investigate and overhaul rgthree-comfy where needed. If you have issues when Nodes 2.0 is enabled, I'd urge you to switch it off as well and join me in hoping ComfyUI is not planning to deprecate the existing, stable canvas rendering all together.

📊 Initial CUDA memory: 22.51GB free / 24.00GB total
======================================== Stand-In ========================================
Successfully loaded all Stand-In nodes.
==========================================================================================
WAS Node Suite: BlenderNeko's Advanced CLIP Text Encode found, attempting to enable `CLIPTextEncode` support.
WAS Node Suite: `CLIPTextEncode (BlenderNeko Advanced + NSP)` node enabled under `WAS Suite/Conditioning` menu.
WAS Node Suite: OpenCV Python FFMPEG support is enabled
WAS Node Suite: `ffmpeg_bin_path` is set to: D:\Scoop\shims\ffmpeg.exe
WAS Node Suite: Finished. Loaded 221 nodes successfully.

        "Art is a harmony parallel with nature." - Paul Cézanne

WAS Node Suite: BlenderNeko's Advanced CLIP Text Encode found, attempting to enable `CLIPTextEncode` support.
WAS Node Suite: `CLIPTextEncode (BlenderNeko Advanced + NSP)` node enabled under `WAS Suite/Conditioning` menu.
WAS Node Suite: OpenCV Python FFMPEG support is enabled
WAS Node Suite: `ffmpeg_bin_path` is set to: D:\Scoop\shims\ffmpeg.exe
WAS Node Suite: Finished. Loaded 221 nodes successfully.

        "Art is the light that shines even in the darkest corners." - Unknown


Import times for custom nodes:
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\convert_to_float32.py
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\manual_landmark_node.py
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\example_node.py
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\mask_visualize_node.py
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\matrix_debug_node.py
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\sanity_check_node.py
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\landmark_visualize_node.py
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\head_mapping_node.py
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\image_to_mask_node.py
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\landmark_node.py
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\NeckSeamFixer
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\blend_node.py
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-CleanMonitor
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Advanced-Vision
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-zopi
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\auto_align_node.py
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-NodeAligner
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_bitsandbytes_NF4
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-DD-Translation
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\websocket_image_save.py
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Comfyui_Object_Migration
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\aitechlab.py
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-VideoUpscale_WithModel
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\wywywywy-pause
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\affine_warp_node.py
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\HeadSwapNode
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Kontext-Inpainting
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\color_match_node.py
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\style_aligned_comfy
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_ZhipuAIO
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\wan22_prompt_selector
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-FixFlashAttnSchema
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\kontext-presets
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_RH_OminiControl
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_PreciseHeadNeck
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\RHHiddenNodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Stand-In_Preprocessor_ComfyUI
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_ttp_toolset
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\masquerade-nodes-comfyui
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Olm-DragCrop
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-detail-daemon
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\wlsh_nodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_AdvancedRefluxControl
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Wan-SVI2Pro-FLF
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-notes-manager
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-wanBlockswap
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-mxtoolkit
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-florence2
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-seamless-clone
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_CameraAngleSelector
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-TiledVaeLite
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-mask-boundingbox
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\AITechLab
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\stability-ComfyUI-nodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_Searge_LLM
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfUI-EGAdapterMadAssistant
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-NanoBanano
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_SSLNodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_segment_anything
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_Prompt_Helper
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_HeadNeckMask
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-BiRefNet-Hugo
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-TorchMonitor
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\auto_wan2.2animate_freamtowindow_server
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_Text_Translation
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-seamless-tiling
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_ADV_CLIP_emb
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-IC-Light-Native
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_FaceSimilarity
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-YOLO
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-inspyrenet-rembg
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-SDMatte
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-QwenVL
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\openrouter_banana
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Comfyui-CustomizeTextEncoder-Qwen-image
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Show-Text
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-HealthCheck
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Comfyui_Flux_Style_Adjust
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\RH_Nano_Banana_Complete_Enhanced
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Interactive
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-logic
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-BRIA_AI-RMBG
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-redux-prompt
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_doubao_seed
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\sd-dynamic-thresholding
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-TaylorSeer
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Miaoshouai-Tagger
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-WanMoeKSampler
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Kwai_font_comfyui
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-LatentSyncWrapper
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-RBG-ImageStitchPlus
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Inpaint-CropAndStitch
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\janus-pro
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-housekeeper
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_faceanalysis
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\AIGODLIKE-ComfyUI-Translation
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_extractstoryboards
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-photoshop
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-wormley-nodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_BiRefNet_Universal
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\cg-use-everywhere
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-GLM4
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Universal-Styler
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Comfyui-LG_GroupExecutor
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_face_parsing
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-basic-math
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_StringOps
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-nodes-docs
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-VAE-Utils
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_checkpointloader_ext
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-NunchakuFluxLoraStacker
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyLiterals
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-MakkiTools
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfy_nanobanana
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_JPS-Nodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-SoundFlow
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Comfyui_Comfly_v2
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_zenid
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Comfyui-VideoConcat
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-lama-remover
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Comfyui-Transform
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Jjk-Nodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_lg_groupexecutor
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-GGUF
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\PR-ComfyUI_FaceAlignPaste-979c1edf
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\qweneditutils
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_instantid
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Kolors-MZ
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-enricos-nodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Comfyui-StableSR
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Hunyuan-3D-2
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_sunxAI_facetools
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-ImageCompositionCy
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_RH_APICall
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Align
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-MelBandRoFormer
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Studio-nodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-tooling-nodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_FaceShaper
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Impact-Subpack
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Openrouter_node
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Comfy_KepListStuff
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-InpaintEasy
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-get-meta
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-WanAnimatePreprocess
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-VFI
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-ProHeadSwap
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_ipadapter_plus_v2
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-StreamDiffusion
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-layerdiffuse
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_IPAdapter_plus
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_SLK_joy_caption_two
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\efficiency-nodes-comfyui
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-TeaCache
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-FramePackWrapper
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-InstantCharacter
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Comfy-WaveSpeed
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-inpaint-nodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-IPAdapter-Flux
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_facetools
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-PreviewBridgeExtended
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-MJAPI-party
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-image-saver
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_essentials
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_Nimbus-Pack
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_Selectors
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_Sapiens
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-FramePackWrapper_Plus
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Comfyui_Object_Detect_QWen_VL
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\x-flux-comfyui
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-WanVaceAdvanced
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-portrait-master
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-UniversalDetailer
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-vslinx-nodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Mickmumpitz-Nodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_gemini_nano_banana
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-FramePackWrapper_PlusOne
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_soze
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-WD14-Tagger
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_yvann-nodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_UltimateSDUpscale
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-depthanythingv2
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-mimicmotionwrapper
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Impact-Pack
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-various
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_patches_ll
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-brushnet
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-multigpu
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_RH_API
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Frame-Interpolation
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\prompt-assistant
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Pseudocomfy
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_snacknodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Workarounds
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Endless-Nodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\derfuu_comfyui_moddednodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Holaf
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_FaceProcessor
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-custom-scripts
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyMath
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-kjnodes
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-AutoCropFaces
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\gguf
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfy-image-saver
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_Qwen3-VL-Instruct
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-Kwtoolset
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-KLingAI-API
   0.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-HeadAlignKit-Pro
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\kanibus
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Fluxtapoz
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\controlaltai-nodes
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-animatediff
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Comfyui-Index-TTS2
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-MingNodes
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Flow-Control
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-utils-nodes
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_FaceAlignPaste
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-vrgamedevgirl
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-SAM2
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-HeadAlignKit
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-FlashVSR_Ultra_Fast
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_Sonic
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-workspace-manager
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-nunchaku
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-exLoadout
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-BiRefNet-ZHO
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_lg_tools
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-LBM
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-segment-anything-2
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-JanusPro-PL
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_Local_Media_Manager
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\COMFYUI_PROMPTMODELS
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\rgthree-comfy
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-LBMWrapper
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-gpeno
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-ollama
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Advanced-ControlNet
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\easyanimate
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-inspire-pack
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-supir
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\SDXL_EcomID_ComfyUI
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_Mira
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_DiffuEraser
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\CharacterFaceSwap
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-SeedVR2-VideoUpscaler
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_PHRenderFormerWrapper
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Hunyuan3DWrapper
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-SecNodes_Ultra_Fast
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-HunyuanVideoWrapper
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_LLM_Banana
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Comfyui-ergouzi-Nodes
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Goohaitools-comfyui
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-PuLID-Flux
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-FLOAT
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_Muye
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-mmaudio
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_tinyterraNodes
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_smznodes
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-UniversalToolkit
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Whisper
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_pulid_flux_ll
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\pulid_comfyui
   0.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-FirstOrderMM
   0.2 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_controlnet_aux
   0.2 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Allor-Fork
   0.2 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-LTXVideo
   0.2 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-DepthAnythingV3
   0.2 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_MatAnyone_Kytra
   0.2 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\seedvr2_videoupscaler
   0.2 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_Comfyroll_CustomNodes
   0.2 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-jdcn
   0.2 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\facerestore_cf
   0.2 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-SparkTTS
   0.2 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-animatediff-evolved
   0.2 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-tensorops
   0.2 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Inference-Core-Nodes
   0.2 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite
   0.3 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-JoyCaption
   0.3 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-WanVideoWrapper
   0.3 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-RealESRGAN_Upscaler
   0.3 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Comfyui-ergouzi-DGNJD
   0.3 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-reactor
   0.4 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_LayerStyle_Advance
   0.4 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-IC-Light
   0.4 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\sd-ppp
   0.4 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-SeedVR2_VideoUpscaler
   0.4 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfy-mtb
   0.4 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-logicutils
   0.4 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\megatts3-mw
   0.5 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-advancedliveportrait
   0.5 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui_layerstyle
   0.5 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-RMBG
   0.6 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Copilot
   0.6 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-1hewNodes
   0.6 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-GeminiAPI
   0.7 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-SAM3DBody
   0.7 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\audio-separation-nodes-comfyui
   0.8 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-lora-manager
   0.9 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\Boyonodes
   0.9 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-mixlab-nodes
   1.4 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\bilbox-comfyui
   1.5 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfly_nano_banana
   1.7 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Easy-Use
   1.7 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Addoor
   1.7 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Allor
   2.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-GIMM-VFI
   2.4 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_ACE-Step
   2.6 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-art-venture
   2.7 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\comfyui-whisper-translator
   3.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_Custom_Nodes_AlekPet
   3.0 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_Fill-Nodes
   5.3 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\was-ns
   5.7 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\was-node-suite-comfyui
   6.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\RES4LYF
   6.8 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\audiotools
   8.2 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI_Nano_Banana
  12.4 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-Apt_Preset
  37.1 seconds: H:\PythonProjects3\Win_ComfyUI\custom_nodes\ComfyUI-3D-Pack

Context impl SQLiteImpl.
Will assume non-transactional DDL.
Using RAM pressure cache.
Starting server

To see the GUI go to: http://127.0.0.1:8188
Recipe cache initialized in 0.00 seconds. Found 0 recipes
Lora cache hydrated from persisted snapshot with 149 models
Checkpoint cache hydrated from persisted snapshot with 88 models
Embedding cache initialized in 0.01 seconds. Found 0 models
[HealthCheck] Backup timer triggered...


============================================================

 ██████╗   ██████╗   ███╗   ███╗  ███████╗  ██╗   ██╗  ██╗  ██╗  ██╗
██╔════╝  ██╔═══██╗  ████╗ ████║  ██╔════╝  ╚██╗ ██╔╝  ██║  ██║  ██║
██║       ██║   ██║  ██╔████╔██║  █████╗     ╚████╔╝   ██║  ██║  ██║
██║       ██║   ██║  ██║╚██╔╝██║  ██╔══╝      ╚██╔╝    ██║  ██║  ██║
╚██████╗  ╚██████╔╝  ██║ ╚═╝ ██║  ██║          ██║     ╚████╔╝   ██║ 
 ╚═════╝   ╚═════╝   ╚═╝     ╚═╝  ╚═╝          ╚═╝      ╚═══╝    ╚═╝   

██╗  ██╗  ███████╗   █████╗   ██╗    ████████╗  ██╗  ██╗   ██████╗  ██╗  ██╗  ███████╗   ██████╗  ██╗  ██╗
██║  ██║  ██╔════╝  ██╔══██╗  ██║    ╚══██╔══╝  ██║  ██║  ██╔════╝  ██║  ██║  ██╔════╝  ██╔════╝  ██║ ██╔╝
███████║  █████╗    ███████║  ██║       ██║     ███████║  ██║       ███████║  █████╗    ██║       █████╔╝ 
██╔══██║  ██╔══╝    ██╔══██║  ██║       ██║     ██╔══██║  ██║       ██╔══██║  ██╔══╝    ██║       ██╔═██╗ 
██║  ██║  ███████╗  ██║  ██║  ███████╗  ██║     ██║  ██║  ╚██████╗  ██║  ██║  ███████╗  ╚██████╗  ██║  ██╗
╚═╝  ╚═╝  ╚══════╝  ╚═╝  ╚═╝  ╚══════╝  ╚═╝     ╚═╝  ╚═╝   ╚═════╝  ╚═╝  ╚═╝  ╚══════╝   ╚═════╝  ╚═╝  ╚═╝

   🔍 ComfyUI HealthCheck v1.0.8

============================================================
             🚀 ComfyUI Plugin Health Report             
============================================================
📦 扫描到已有的插件数/Total Plugins: 320 (其中 插件文件夹数/folders: 304, 单独以 .py 形式存在的插件数/.py: 16)
✅ 已成功加载的插件数/Successful: 320
❌ 加载失败需要排查原因的插件数/Failed: 0
📊 健康度/Health: 100.0%
🧠 已成功扫描到的节点数/Node Classes: 7083

🎉 所有插件加载成功!/All plugins loaded successfully!

检测时间戳/Checked at: 2026-07-02 22:32:50
============================================================



本文档随 ComfyUI 版本更新而更新。如果你在升级过程中遇到问题,欢迎在评论区留言。