npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-comfyui-bridge

v1.1.0

Published

DSH (DeepSeek Harness) ComfyUI 桥接插件:让 Agent 直接驱动本地/局域网 ComfyUI 生图生视频 — 8 个全局模型工具、预设工作流模板(txt2img/img2img/Wan/SVD/H3)、任意 API 工作流逃生舱、设备能力守卫、模型注册表断点续传下载、ComfyUI 一键安装评估。ComfyUI bridge plugin for DeepSeek Harness: image & video generation tools driving a local

Readme

comfyui-bridge 插件文档

comfyui-bridge 是 DSH(DeepSeek Harness)的家级 Host 侧插件,让 DSH 在任何会话、任何智能体预设(Preset)下均能通过模型工具直接控制本地或局域网内的 ComfyUI,实现全自动的图像与视频生成。

版本 1.1.0(2026-09-08)— DSH 0.1.7-rc.1 适配版

  • comfyui_generate / comfyui_fetch_model 新增 timeoutMs: 3600000 协作超时预算声明(dsh-tool-call-timeout-policy 读取),长视频/大模型下载不再被外层策略误杀。
  • 接口审查结论:apply(ctx, config) + ctx.tools.register 原生定义在 0.1.7 完全兼容,无需破坏性改写;保持零 @deepseek-ai/* 依赖纪律。
  • 开发/交接文档见 HANDOVER.md。

1. 功能特性

  • 文生图与图生图(txt2img / img2img):支持 SD 1.5、SDXL、Flux 等主流 Checkpoint 模型,自动识别模型特征并自适应输出分辨率与采样配置。
  • 高质量视频生成:
    • Wan2.1(万象):支持文生视频(wan_t2v)与图生视频(wan_i2v),自动处理 ModelSamplingSD3 移位与分辨率启发。
    • SVD(Stable Video Diffusion):支持图生视频(svd_img2vid),参数可调。
    • AnimateDiff:支持动态图像与短视频生成(animatediff)。
  • 自适应视频保存尾(Adaptive Saver Tail):实时探测 ComfyUI 环境所支持的节点,自动按优先级选择 SaveVideo(官方核心视频)→ SaveAnimatedWEBM → SaveAnimatedPNG,兼容不同版本 ComfyUI。
  • 模型自动获取与断点续传(Model Fetch):内置 14 款主流模型(Wan2.2、Wan2.1、MiniMax H3 等)权重注册表,严格遵循用户现有模型库结构存放;具备全库查重、单连接顺序断点续传与字节级精准校验能力;支持在生成缺少模型时一键或自动补齐。
  • 环境与模型库自适应发现与自动安装器:无需手动寻找路径,首次运行自动通过进程与全盘扫描发现已有 ComfyUI 安装与模型库;若完全未安装 ComfyUI,自动执行硬件达标评估并支持一键在非 C 盘安装官方便携版。
  • 自定义工作流支持(Workflow 逃生舱模式):可直接提交任意 API 格式的 ComfyUI 工作流 JSON,并支持通过 overrides 动态覆写参数。
  • 产物全自动下载与管理:生成结果通过 /view API 自动下载至 DSH 工作区目录,模型可通过 read_image 预览,并在回答中向用户直接引用。
  • 智能预校验与容错自愈:
    • 构图提交前自动校验所有节点类型与枚举值合法性;
    • 遇到未知节点名称时自动计算编辑距离并给出最相似建议;
    • API 路径兼容性探测(优先直连根路径,遇 404 自动回退并记住 /api 前缀)。

2. 安装与挂载

本插件是标准 npm 包(dsh-comfyui-bridge),按 DSH 插件规范声明了 bundle(package.json 的 dsh.bundle.patch → cordis.patch.yml),安装后自动挂载,无需手写补丁行。三种方式按需选一:

方式 A:npm 注册表安装(推荐,发布后可用)

dsh plugin --profile web add dsh-comfyui-bridge

安装后重启 DSH Desktop 即生效。升级:dsh plugin --profile web add dsh-comfyui-bridge@latest。

方式 B:本地路径安装(未发布 / 从源码)

dsh plugin --profile web add C:\path\to\dsh-comfyui-bridge

同 A 一样走官方 bundle 流程(dsh CLI 转发 pnpm 安装进 profile,并自动把包登记进 profiles/web/package.json 的 dsh.profile.bundles)。

方式 C:junction 直连(本机开发,源码改动即时生效)

pwsh -File install.ps1

脚本幂等创建三处 junction(dsh-home\node_modules、profiles\node_modules、profiles\web\node_modules),然后在家级补丁层确认/提示补一行裸包名行:

- insert:
    - id: comfyui-bridge
      name: dsh-comfyui-bridge        # ← 裸包名,靠 junction 解析;不再用 file:// 路径
      config:
        baseUrl: http://127.0.0.1:8188
        outputsDir: comfyui-outputs
        defaultTimeoutSec: 1800
        pollIntervalMs: 2000
        # 可选:显式指定模型库根目录(缺省自动发现)
        # modelsDir: D:/ComfyUI/ComfyUI-aki-v3/ComfyUI/models

配置覆盖规则与热更新

  • bundle 层自动行(包内 cordis.patch.yml)只带通用默认值;用户层(dsh-home/cordis.patch.yml)同 id 行后应用,config 整体覆盖 bundle 默认 — 机器特定配置(modelsDir 等)写在用户层。
  • modelsDir 支持全自动发现(优先扫描运行进程,兜底全盘扫描与 extra_model_paths.yaml),一般无需手填。
  • 修改配置(如 baseUrl)保存即热生效;改插件源码后:方式 A/B 重新 add 一次刷新,方式 C 因 junction 直连源码目录,改完把用户层行的 name 加/改 ?v=N 版本号(如 dsh-comfyui-bridge?v=2)触发热重载,或重启 DSH。

⚠️ 历史挂载迁移:旧式 name: file:///...lib/index.mjs?v=N 行与本包行同 id(comfyui-bridge),两者不可同时存在 — 迁移到 npm/bundle 形态时,把旧行整体替换为上面的裸包名行即可。


3. 配置项说明

在 cordis.patch.yml 中支持配置以下字段:

| 配置字段 | 类型 | 默认值 | 说明 | |---|---|---|---| | baseUrl | string | http://127.0.0.1:8188 | ComfyUI 服务的 HTTP 地址(末尾斜杠会自动剔除) | | modelsDir | string | ""(可选,缺省自动发现) | ComfyUI 模型库根目录(缺省自动通过:运行进程扫描 → 全盘 ComfyUI 扫描 → extra_model_paths.yaml 多级发现);用于 comfyui_fetch_model 目标存放及全库查重 | | headers | object | {} | 附加的 HTTP 请求头(如反向代理 Basic Auth 等) | | outputsDir | string | comfyui-outputs | 产物保存根目录。相对路径将解析到 DSH 工作区根目录 | | workspaceRoot | string | 自动推断 | 产物落盘的工作区根(绝对路径)。缺省时按优先级自动解析:显式配置 > 会话作用域 sandboxPolicy 服务 > 最近活跃会话反推(读 dsh-home/sessions/*/*/session.jsonl.zstd 首行 session 头的 cwd,Node ≥22.15 内置 zstd) > 后端进程 cwd(最后兜底,一般到不了这层)。插件挂载在 host 根作用域看不到会话服务,反推链路是产物正确落入"当前会话工作区"的关键 |

Z-Image 系 checkpoint 原生支持

txt2img / img2img 预设会读取 checkpoint 的 safetensors 文件头自动识别拓扑:检测到 DiT-only(不内嵌 CLIP/VAE,如 zImageTurbo、beyondREALITY 等 Z-Image 系)时,自动外挂 CLIPLoader(Qwen3-4B 编码器,按张量自动识别为 Z-Image TE)+ VAELoader(ae),并把默认参数切到 Turbo 甜点(10 步 / cfg 1 / euler+simple)。缺件时返回结构化 MODEL_MISSING,提示 qwen_3_4b_fp8_mixed.safetensors / ae.safetensors(均已入已知模型注册表,auto_fetch_models: true 可自动补齐,连环缺件最多自动补 3 件)。 | requestTimeoutMs | number | 30000 | 单次 HTTP 请求超时时间(毫秒) | | pollIntervalMs | number | 2000 | 轮询等待生成完成的时间间隔(毫秒) | | defaultTimeoutSec | number | 1800 | 生成任务的默认等待超时上限(秒) | | maxTimeoutSec | number | 3600 | 生成任务允许设定的最大超时硬上限(秒) | | clientIdPrefix | string | dsh | 提交给 ComfyUI 的 client_id 前缀 |


4. 模型工具详解与使用示例

插件为模型注册了 8 个全局工具,全部入参采用 snake_case 规范:

4.1 comfyui_status

检查 ComfyUI 服务器运行状态、版本、GPU 显存占用及当前队列。

  • 参数:无必填参数。
  • 示例输出:
    ComfyUI 状态: 正常运行 (http://127.0.0.1:8188)
    版本: 0.3.10 | ComfyUI 运行时间: 3600s
    计算设备 / 显卡:
    · NVIDIA GeForce RTX 4090 (cuda:0): 显存剩余 19.50 GB / 23.99 GB
    任务队列: 运行中 0 个,等待中 0 个

4.2 comfyui_models

枚举当前 ComfyUI 中可用的模型文件,并探测当前环境的视频生成能力。

  • 参数:
    • folder(可选,枚举:checkpoints、vaes、loras、unets、upscalers、clip、all,默认 all)。
  • 示例:
    { "folder": "checkpoints" }

4.3 comfyui_generate(核心生成工具)

执行生图或生视频任务,支持预设模板与自定义工作流。

核心参数列表:

  • mode:preset(默认)或 workflow。
  • preset:预设名称,支持:
    • txt2img:文生图
    • img2img:图生图
    • wan_t2v:Wan2.1 文生视频
    • wan_i2v:Wan2.1 图生视频
    • svd_img2vid:SVD 图生视频
    • animatediff:AnimateDiff 动画生成
    • h3_t2v / h3_flf2v / h3_r2v:MiniMax H3 本地开源权重生视频(带原生音频,需较新 ComfyUI 核心,详见第 6 节)
  • prompt:正向提示词。
  • negative_prompt:负向提示词(可选)。
  • image:输入图片路径(img2img、wan_i2v、svd_img2vid、h3_flf2v、h3_r2v 必填,支持绝对路径或相对工作区路径,插件会自动上传)。
  • end_image:尾帧图(仅 h3_flf2v,可选)。
  • duration_sec:视频时长秒数(仅 H3 预设,默认 5,自动对齐到 17k+5 帧@24fps)。
  • turbo:H3 加速模式(检测到 turbo LoRA 时默认开启,6 步出片)。
  • ref_image_size:H3 参考图规格(match/max,默认 match)。
  • text_encoder:H3 专用,显式指定 text_encoders 目录中的编码器文件名(缺省自动选择;可换社区 abliterated/其他量化变体,见 §6.5)。
  • text_encoder_device:H3 专用,default/cpu(cpu 把 14.6GB 编码器钉在内存跑,显存全留给 DiT,见 §6.5)。
  • model:指定模型名称(缺省时插件自动优选)。
  • lora:LoRA 注入(txt2img / img2img / wan22_ti2v 预设)。接受 "文件名"、"文件名@权重"(如 [email protected])、{name, strength} 对象或其数组(多 LoRA 链式叠加)。图预设走 LoraLoader(模型+CLIP,默认权重 0.8),wan22_ti2v 走 LoraLoaderModelOnly(仅模型,默认 0.7);文件缺失时抛含文件名的错误(注册表内的 LoRA 可被 auto_fetch_models 自动补齐)。
  • steps / cfg / sampler / scheduler / seed:采样控制参数。
  • denoise:重绘幅度(img2img 默认 0.65,其余默认为 1.0)。
  • length:视频帧数(Wan 默认 81,SVD 默认 25,AnimateDiff 默认 16)。
  • fps:视频帧率(Wan 默认 16,SVD 默认 8)。
  • workflow:自定义工作流(mode=workflow 必填,支持对象或合法 JSON 字符串)。
  • overrides:参数覆写字典,形如 {"5": {"steps": 30}}。
  • wait:是否同步等待生成完成并下载(默认 true;若为 false,则立刻返回 prompt_id)。
  • auto_fetch_models:布尔值(默认 false)。预设构图时若检测到缺少所需模型:
    • 为 false 时返回结构化错误 { ok: false, status: 'MODEL_MISSING', missingModel, suggestion, autoFetchSupported: true };
    • 为 true 时自动从多镜像源下载缺失模型至对应的规范子目录,并在下载完成后自动重新获取对象元数据继续构图出片。注意:若设备能力守卫判断硬件不足(blocked),将优先拦截,绝不盲目触发大模型下载。
  • timeout_sec:任务超时时间(秒)。

示例 1:文生图(txt2img)

{
  "mode": "preset",
  "preset": "txt2img",
  "prompt": "masterpiece, best quality, a cyberpunk cat wearing goggles, neon lights, 8k resolution"
}

示例 2:图生视频(wan_i2v)

{
  "mode": "preset",
  "preset": "wan_i2v",
  "prompt": "gentle wind blowing, cinematic lighting, ultra realistic",
  "image": "inputs/portrait.png",
  "length": 81,
  "fps": 16
}

示例 3:异步提交长视频任务(wait=false)

{
  "mode": "preset",
  "preset": "wan_t2v",
  "prompt": "epic sea battle with tall ships",
  "wait": false
}

返回结果中将包含 prompt_id。可在稍后使用 comfyui_history 工具收取生成好的视频。

4.4 comfyui_history

查询历史记录或对指定任务断点下载产物。

  • 参数:
    • prompt_id(可选):指定任务 ID;如果为空则列出最近历史任务。
    • max_items(可选):列表模式最大条数,默认 5。
    • download(可选):指定 prompt_id 时是否下载产物到本地,默认 true。

4.5 comfyui_interrupt

中断当前 ComfyUI 中正在执行的任务。参数:free(同时卸载模型释放显存)、clear_queue(同时清空待处理队列,POST /queue clear,返回 queueCleared 与 pendingCleared 个数)。

  • 参数:
    • free(可选):是否同时调用 /free 释放显存并卸载缓存模型(默认 false)。

4.6 comfyui_upload

手动将本地图片或文件上传到 ComfyUI 的输入目录。

  • 参数:
    • path(必填):本地文件路径(绝对或相对工作区)。
    • name(可选):指定 ComfyUI 侧保存的文件名。
    • overwrite(可选):是否覆盖同名文件(默认 true)。

4.7 comfyui_fetch_model

从官方/社区镜像源下载特定模型,或通过自定义 URL 下载权重至用户的 ComfyUI 模型库中。

模型获取架构参照了开源的 Stability Matrix(Lykos AI):其做法是"静态精选目录(hf-packages.json,130 条 repo+files+license)+ HuggingFace 实时 API 浏览 + 文件名关键词级联推断落盘目录 + CivitAI 公共 REST/用户令牌下载(NSFW 走 civitai.red 镜像域)+ 本地文件 SHA256 反查识别(/api/v1/model-versions/by-hash/{hash})+ HTTP Range 断点续传"。本插件移植了其中对我们最有价值的两件:关键词级联目录推断与 HF 链接归一化;静态注册表 + 断点续传 + 字节校验为我们原有的对应实现。

设计原则

  • 尊重用户模型库结构:下载目的地固定为配置项 modelsDir(或环境变量 COMFYUI_MODELS_DIR)下的规范子目录(diffusion_models / text_encoders / vae / loras / checkpoints / clip / clip_vision / unet),绝不另立目录、绝不散落别处。若未配置 modelsDir,工具将返回明确的指引提示。
  • 全库查重(已有即跳过):下载前先在目标子目录下检查同名文件;若未找到,还会全库扫描所有标准模型子目录匹配 basename。只要找到且大小完整,即刻报告已存在并直接跳过,绝不重复下载或占用磁盘。
  • 单连接顺序断点续传 + 字节精确校验:针对主流 CDN(如 HuggingFace / hf-mirror / ModelScope)拒绝高并发连接的特性,采用单连接逐源尝试机制;已有部分文件时自动发送 HTTP Range: bytes=<cur>- 续传;下载完成后严格比对注册表实测精确字节数。若校验失败则保留已下数据供后续继续断点续传。

两种运行模式与参数:

模式 A:已知模型注册表模式(推荐)

  • 参数:model(必填)。
    • 支持 14 款主流模型简称或精确文件名:
      • Wan2.2 体系:wan2.2_ti2v_5b(5B DiT)、wan2.2_vae(高压缩 VAE)
      • Wan2.1 体系:wan2.1_t2v_1.3b、wan2.1_i2v_480p_1.3b、wan2.1_t2v_14b、wan2.1_i2v_720p_14b、umt5_xxl、wan2.1_vae
      • MiniMax H3 体系:minimax_h3_fl2va_int8、minimax_h3_ref2va_int8、qwen3vl_32b_nvfp4(编码器)、minimax_h3_video_vae、minimax_h3_audio_vae、minimax_h3_turbo_lora
    • 自动路由到规范子目录,按顺序尝试多个国内/海外镜像源。
  • 示例:
    {
      "model": "wan2.2_ti2v_5b"
    }

模式 B:自定义 URL 模式

  • 参数:
    • url(必填):模型文件直链地址。支持三种 HuggingFace 简写(自动转为 hf-mirror 国内直链):
      • hf:Owner/Repo/仓库内文件路径(如 hf:Comfy-Org/z_image_turbo/split_files/vae/ae.safetensors)
      • huggingface.co/{repo}/blob/main/{file} 网页链接
      • huggingface.co/{repo}/resolve/main/{file} 原始直链
      • CivitAI 提示:NSFW 模型用 civitai.red 域名(Stability Matrix 同款做法),部分下载需登录 token。
    • filename(必填):保存的文件名(如 my_lora.safetensors)。
    • subfolder(可选):存放子目录。缺省时自动按文件名/来源路径推断(移植自 Stability Matrix 的关键词级联:clip_vision → controlnet → ip-adapter → 文本编码器(clip_/t5/umt5/qwen 等前缀)→ vae(含 ae. 前缀)→ lora → embeddings → upscale_models(upscal/esrgan/ultrasharp 等)→ DiT(.gguf/unet/diffusion_model)→ 兜底 checkpoints)。注意:文件名含 vae 字样的 checkpoint(如 sd_xl_base_1.0_0.9vae)会被误判为 vae,此类请显式传 subfolder。
    • expected_bytes(可选):预期字节数,提供后将在完成后自动严格比对。
  • 示例:
    {
      "url": "https://hf-mirror.com/.../custom_lora.safetensors",
      "filename": "custom_lora.safetensors",
      "subfolder": "loras"
    }

4.8 comfyui_install

一键自动下载并安装官方纯净版 ComfyUI 便携版(Portable)。

  • 参数:
    • confirm(必填,布尔值):必须显式传入 true 才会执行安装。调用前须向用户说明并征得明确同意。
    • target_drive(可选,字符串):指定安装盘符(如 "D:" 或 "E:")。严格禁止安装至 C 盘;缺省时自动选择剩余空间最大的非 C 盘。
    • timeout_sec(可选,整数):安装包下载与解压总超时上限(秒),默认 3600。
  • 自动化流程:
    1. 严格预检:检查 NVIDIA GPU、显存(≥8GB)、系统内存(≥16GB)与非 C 盘空闲容量(≥50GB);
    2. 驱动自适应:根据 nvidia-smi 驱动版本自动匹配官方 CUDA 运行时版本(≥560 采用标准版,525~559 采用 cu126 变体);
    3. 便携部署:在目标盘根目录(如 D:\ComfyUI)解包部署,杜绝深层嵌套,方便用户查找与管理;
    4. 快捷启动:自动在根目录创建 启动ComfyUI.bat,并生成桌面快捷方式 ComfyUI.lnk。

5. 常见问题与排查指南

5.1 ComfyUI 连接失败新引导流程(reachable: false 智能自愈)

当 ComfyUI 服务未启动时,调用 comfyui_status 会自动触发本地安装检测与硬件达标评估,返回结构化诊断:

  • 场景 A:本地已安装过 ComfyUI(如已有秋叶整合包或官方版,但未启动)
    • 插件会自动通过全盘扫描定位其路径,并在返回信息中直接提供专属启动命令(如 运行 D:\ComfyUI-aki-v3\ComfyUI\run_nvidia_gpu.bat 或启动器 exe)。用户只需按照指引双击启动即可,服务就绪后插件自动对接并识别模型库。
  • 场景 B:本地从未安装 ComfyUI 且硬件达标
    • 插件返回 suggestedAction: "offer_install",列出当前 GPU、显存与推荐安装盘符,提示可通过 comfyui_install 工具一键完成安装。
  • 场景 C:硬件未达标
    • 插件明确列出未达标瓶颈(如无 NVIDIA 独立显卡、显存不足等),直言建议升级配置或选用云端服务。

5.2 节点缺失错误(MISSING_NODES)

  • 现象:提示 预设 "xxx" 所需的核心节点类缺失: [...]。
  • 排查:
    1. Wan2.1 预设(wan_t2v/wan_i2v)使用的是 ComfyUI 核心自带的 Wan 原生节点(nodes_wan.py,含 WanImageToVideo),无需安装任何扩展;报缺失说明 ComfyUI 版本过旧,请把核心更新到较新版本;
    2. SVD 预设依赖核心的 ImageOnlyCheckpointLoader / SVD_img2vid_Conditioning(同样为自带节点);
    3. AnimateDiff 预设需安装 ComfyUI-AnimateDiff-Evolved 自定义节点包;
    4. MiniMax H3 预设需把 ComfyUI 核心更新到包含 comfy_extras/nodes_minimax_h3.py 的版本(见第 6 节)。

5.3 缺少视频保存尾节点

  • 现象:提示 ComfyUI 未安装适用的视频保存节点。
  • 排查:
    1. 请将 ComfyUI 更新至最新版以获得官方核心 SaveVideo 节点;
    2. 或安装社区通用的 ComfyUI-VideoHelperSuite (VHS) 扩展包。

5.4 显存不足(CUDA Out of Memory)

  • 现象:生成任务返回 EXECUTION_ERROR,回溯栈中出现 torch.cuda.OutOfMemoryError。
  • 排查:
    1. 调用 comfyui_interrupt({ free: true }) 卸载常驻模型释放显存;
    2. 适当缩小输出尺寸(如将 1024 降至 768 或 512)或减少视频帧数 length;
    3. ComfyUI 启动时添加 --lowvram 或 --fp8_e4m3fn 参数。

6. MiniMax H3(海螺 3.0)本地生视频指南

MiniMax H3 是 MiniMax(稀宇科技)2026-07-31 发布、08-03 开源权重的全模态视频生成模型:33B 参数,文/图/视频/音频任意组合输入,输出自带 32kHz 立体声原生音频的视频,最高 15 秒 / 2K / 24fps。在 Artificial Analysis 榜单上视频编辑第一、文生视频/图生视频均列前三。开源部分为 H3-Base(FL2VA 首尾帧 + Ref2VA 全能参考两个 checkpoint);更高画质的 H3-Regenerate-2K 为托管 API 未开源。

6.1 前置条件:更新 ComfyUI 核心

H3 的本地节点(MiniMaxH3ImageToVideo / MiniMaxH3ReferenceToVideo / MiniMaxH3AddGuide 等)位于较新版 ComfyUI 核心的 comfy_extras/nodes_minimax_h3.py。秋叶整合包等较旧版本不含这些节点,请先通过 ComfyUI-Manager 更新核心(或使用官方最新版/整合包)。注意区分:官方模板里的 MinimaxHailuo03* 一体化节点是云端 API 节点(走 MiniMax 官方 API、按量计费),本插件的 h3_* 预设走的是本地开源权重,无需 API Key。

6.2 模型下载(放对目录才会被自动识别)

[!TIP] 一键自动获取:如果本地缺少下列模型,无需手动下载与移动文件,可以直接使用插件提供的 comfyui_fetch_model 工具(例如 comfyui_fetch_model({ model: "minimax_h3_fl2va_int8" }))自动下载并校验放置于对应子目录中;或在调用 comfyui_generate 时传入 auto_fetch_models: true 自动按需补齐。

| 文件 | 放置目录 | 来源 | |---|---|---| | minimax_h3_fl2va_pruned_int8_convrot.safetensors | ComfyUI/models/diffusion_models/ | Comfy-Org/MiniMax-H3(国内用 hf-mirror.com) | | minimax_h3_ref2va_pruned_int8_convrot.safetensors(r2v 用) | ComfyUI/models/diffusion_models/ | 同上 | | qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors(文本编码器) | ComfyUI/models/text_encoders/ | 同上 | | minimax_h3_video_vae_fp16.safetensors | ComfyUI/models/vae/ | 同上 | | minimax_h3_audio_vae_fp32.safetensors | ComfyUI/models/vae/ | 同上 | | minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors(turbo 加速 LoRA) | ComfyUI/models/loras/ | lightx2v/Minimax-h3-Turbo |

显存:INT8 量化版社区实测 8GB 显存可跑。RTX 5060 Ti 16GB 建议 768P(短边 768,如 1344×768)起步,先小时长(3–5 秒)验证,再逐步上探;turbo: true(默认自动启用,检测到 LoRA 即开)8 步出片,速度提升数倍。

各版本精确大小(hf-mirror API 实测,GiB;fl2va 与 ref2va 同尺寸):

| 组件 | 版本 | 大小 | |---|---|---| | DiT 33B | bf16 完整 | 61.73 GB | | DiT 33B | int8_convrot 完整 | 31.70 GB | | DiT 33B | pruned bf16 | 37.46 GB | | DiT 33B | pruned fp8_scaled | 19.52 GB | | DiT 33B | pruned int8_convrot(16GB 卡推荐) | 19.53 GB | | 编码器 Qwen3-VL-32B | bf16 | 47.97 GB | | 编码器 Qwen3-VL-32B | int8_convrot | 25.28 GB | | 编码器 Qwen3-VL-32B | nvfp4_awq(最小官方版) | 14.61 GB | | 视频 VAE fp16 | — | 4.85 GB | | 音频 VAE fp32 | — | 0.56 GB | | turbo LoRA | 4/8 步(lightx2v) | 1.29–1.82 GB |

最小可行组合磁盘占用:约 41.3 GB(fl2va 19.53 + 编码器 14.61 + 双 VAE 5.41 + LoRA 1.82);r2v 再加一份 19.53 GB DiT。运行内存峰值 ~36GB——32GB 机器会被插件设备守卫直言拦截(见 §8.2)。

6.3 三个 H3 预设

| 预设 | 用途 | 关键参数 | |---|---|---| | h3_t2v | 文生视频(带音频) | prompt、duration_sec(默认 5 秒,自动对齐 17k+5 帧@24fps)、width/height(默认 1344×768,自动取 32 倍数)、turbo、steps(turbo 默认 6,普通 20) | | h3_flf2v | 首帧(±尾帧)生视频 | 额外:image(首帧,必填)、end_image(尾帧,可选) | | h3_r2v | 参考图生视频(人物/风格一致性) | 额外:image(参考图,必填)、ref_image_size(match/max);提示词用 <Picture 1> 指代参考图 |

H3 提示词写法(与 SD 系完全不同,按"分镜脚本"写):先一句话总述场景(地点/人物/事件),再按秒拆分镜头(Second 0–1: …),镜头运动与音频(对白/音效/配乐)写在同一块里。示例见 assets/api_minimax_h3_t2v.json 里的官方 prompt。

6.4 示例

{
  "preset": "h3_t2v",
  "prompt": "Single continuous shot, 5 seconds. Cinematic drone view, golden hour. A red vintage car drives along a coastal cliff road, waves crashing below. Second 0-2: camera glides alongside the car. Second 2-5: camera rises revealing the coastline. Audio: engine hum, seagulls, orchestral score swelling.",
  "duration_sec": 5
}

6.5 文本编码器答疑:能不能换更小的?

结论:不能换"模型",只能换"文件"。

从 ComfyUI 源码(comfy/text_encoders/minimax.py)看,H3 的"文本编码器"并不是一个可插拔组件:它是专门转换过的 Qwen3-VL-32B(截断至 50 层、去掉末层归一化和 lm_head),H3 的 DiT 直接消费它的原始隐状态(带逐 token 模态标签),而且参考图/参考视频的视觉特征也走它的视觉塔。换任何其他架构(更小的 Qwen、T5、CLIP……)都会让条件空间对不上,输出直接报废——这是训练决定的,不是加载器限制。

体量对比(同架构不同量化):

| 文件 | 体量 | 说明 | |---|---|---| | qwen3vl_32b_minimax_h3_nvfp4_awq | 14.61GB | 官方最小,文档默认推荐 | | qwen3vl_32b_minimax_h3_int8_convrot | 25.28GB | 精度更高 | | qwen3vl_32b_minimax_h3_bf16 | 47.97GB | 全精度 | | 社区 GGUF Q4_K_M(joeygambino/MiniMax-H3-encoder-GGUF) | 18.4GB + 1.1GB mmproj 边车 | 反而更大,且需另装 ComfyUI-H3-Multishot 的 "H3 Clip Loader (Any)" 节点,不推荐 |

体量问题的正确解法是加载策略:文本编码器只在每次生成开头运行一次(编码提示词),随后 ComfyUI 自动把权重让位给 DiT(16GB 显存走流式加载,社区 8GB 卡都能跑)。想进一步省显存:生成时传 text_encoder_device: "cpu" 把编码器钉在 CPU(你有 32GB 内存足够,代价是每次编码慢一些)。传 text_encoder: "<文件名>" 可显式指定编码器文件——例如换社区 abliterated(去审查)版(如 pottokao/MiniMax-H3-TextEncoder-Qwen3VL-32B-abliterated-NVFP4-AWQ,同为 NVFP4 格式,普通 CLIPLoader 直接加载)——如果发现 H3 对某些提示词有净化/拒绝行为,可以实验这一路线(社区验证较少,效果自负)。

如果磁盘是硬约束:H3 全家桶(int8 DiT 19.5GB + 编码器 14.6GB + VAE 5.4GB)约 40GB 起步,这是它的固有门槛。要轻量视频请直接用 Wan2.1 1.3B fp8(四件套约 7GB,见 §7.2)。

6.6 耗时预估(RTX 5060 Ti 16GB 实测锚点推算)

以 pruned int8 DiT + nvfp4 编码器(本机推荐组合)、预热后为前提:

| 场景 | turbo 6–8 步 | 标准 20 步 | |---|---|---| | 720P(1344×768)5s(124 帧) | ~4–7 分钟 | ~12–18 分钟 | | 720P 10s(250 帧) | ~12–18 分钟 | ~35–50 分钟 | | 720P 15s(362 帧,训练上限) | ~30–45 分钟 | ~1.5–2 小时 |

  • 首条另加 5–10 分钟(Sage/Triton JIT 编译 + ~35GB 模型从磁盘载入);同 seed 重跑会命中缓存秒回,不是真速度
  • 实测锚点:4080 直出 720P 5s=14min、10s=42min(B站实测,帧数开销超线性:5s→10s 时间×3);5060Ti pruned 8步 480p=154s、4060Ti 优化链 1344×768 5s=360s(neng320 实测指南)
  • 提速叠加:turbo LoRA(插件默认开)→ SageAttention(官方文档方案,再省 ~20–25%,需在 UNETLoader 与 BasicGuider 之间手动插 Patch Sage Attention KJ 节点,或启动加 --use-sage-attention)→ "480p 抽卡、720P 成片"策略
  • 本机风险点:① 32GB 内存是官方最低门槛(实测满载 ~44GB,那是完整版 int8;只用 pruned 20.9GB 版,关掉大内存程序);② 362 帧的 VAE 解码在 16GB 显存下易 OOM——先跑 5s/10s 验证,崩了就降时长或分辨率;③ int8_convrot 依赖 torch cu130+,必须官方 ComfyUI v0.30.0+(老整合包不行);④ 20 步 15s 可能超过插件默认等待上限,用 wait:false 提交 + comfyui_history 收结果
  • 许可证地域:开源协议排除美/欧/英/韩,中国大陆不受限

6.7 能否用在线 LLM 取代本地 Qwen3-VL-32B 编码器?

结论:编码器本体换不了;但在线 LLM 可以在"提示词层"接管它的外围工作,这是正确且已验证的用法。

为什么换不了(架构硬约束):

  • 文本编码器不是"翻译器",而是条件张量生产者:它把提示词变成特定形状的隐状态序列,H3 的 DiT 在每一个去噪步都拿这些张量做交叉注意力。换任何别的模型(在线或本地),产出的张量就在另一个嵌入空间里,DiT 读到的等于乱码
  • 在线 LLM API 只回文本(chat/JSON),不回这些张量;没有任何公开 API 提供"H3 版 Qwen3-VL 隐状态"的输出
  • r2v(参考图生视频)更绑死:参考图是作为视觉 token 喂进这个编码器的,图像嵌入也是 DiT 训练时认的格式——外部模型给不了

在线 LLM + skill 的正确分工(本地零 LLM 占用):

| 环节 | 谁来做 | 说明 | |---|---|---| | 写提示词(场景/镜头/音频一体化文案) | 在线模型(调用方智能体) | H3 提示词建议一段式自然语言,把画面、运镜、音效写在一起;中文直写即可 | | 看参考图 → 转写成详尽文字描述 | 在线多模态(如 agy 视觉) | 把 r2v 降级为 t2v:描述得越细(服饰/姿态/光线/景别),主体还原度越高 | | 抽帧 QC 成品 | 在线多模态 | 插件自动抽首/中/尾 3 帧,交在线模型判分 | | 产出条件张量(编码) | 本地 Qwen3-VL-32B | 不可避免,但它只跑一次前向(编码结果全程复用),大头是 DiT 的几十次去噪 |

两个理论上的"省编码器"路子(都不推荐):

  1. 嵌入预缓存:在别处(云端租卡)跑一次编码器,把张量存成文件注入工作流。目前 H3 没有现成的嵌入注入节点,要自写 custom node;而且只省 14.6GB 内存峰值,22.4GB 的 DiT 该装不下还是装不下——对你这台机器,H3 的问题不在编码器
  2. API 中转:MiniMax 官方视频 API 按条计费,无本地硬件要求;要 H3 画质又不想升级硬件,这是最省心的路(本地走 wan22_ti2v 当主力抽卡)

7. 模型推荐指南(生图 / 生视频,含 NSFW)

本节基于 2026-09 的社区共识(CivitAI 下载量/评测、ComfyUI 官方文档)。下载渠道:CivitAI(civitai.com,大陆网络通常需代理)、HuggingFace 镜像(hf-mirror.com,大陆直连)、ModelScope 魔搭(modelscope.cn,大陆直连)。模型文件均放入 D:\ComfyUI\ComfyUI-aki-v3\ComfyUI\models\ 对应子目录。

7.1 生图(RTX 5060 Ti 16GB 全部可跑)

先试现有的:你已有的 beyondREALITY_zTURBOREBUILDV30、plantMilkModelSuite_walnut、zImageTurbo、juggernautXL 都是社区合并/微调版 checkpoint,普遍未做严格安全过滤,直接用 txt2img/img2img 预设测试即可,多数已可产出成人内容。2026-09 已补齐两个 NSFW 专职主力(RealVisXL_V5.0_Lightning_fp16 写实 / ponyDiffusionV6XL_v6StartWithThisOne 二次元,HF 直连下载),并整理了四流程工作流套件(文生图/图生图/文生视频/图生视频)放在 C:\Users\lcl\Desktop\NSFW工作流\。

想要更专职的 NSFW 模型(均为 SDXL 架构,放 models/checkpoints/):

| 模型 | 风格 | 说明 | |---|---|---| | Pony Diffusion V6 XL | 二次元/兽人/furry | NSFW 社区事实标准,LoRA 生态最大;用 score_9, score_8_up… 标签体系提示 | | Pony V7 base(HF) | 同上,新一代 | 换用 AuraFlow 7B 架构,自然语言理解强、多角色/复杂场景更好;较新,生态在成长 | | NoobAI-XL / Illustrious 系 | 二次元(日系动漫向) | Illustrious 架构 NSFW 基线,danbooru 标签提示 | | epiCRealism XL | 写实人像 | 写实系 NSFW 社区第一(CivitAI 670 万+ 下载) | | RealVisXL V5.0 Lightning | 写实 | 6 步 Lightning 版出图快,人像质感佳 | | Big Lust v1.6 | 写实 NSFW 专职 | 专精成人内容的写实微调 | | Terra Mirabilis (CreaLISM) | 写实情绪/氛围 | 情绪表现力强的写实 NSFW |

提示词要点:写实系用摄影词汇(镜头/光线/胶片感);Pony 系用 score 标签 + danbooru 标签;SDXL 系分辨率 832×1216 / 1216×832 竖横构图更稳。

黑兽(黒獣)系列专项(2026-09 实装,套件含 文生图-黑兽角色.json / 图生视频-黑兽风格.json):

| 已装 LoRA(models/loras/) | 用途 | 要点 | |---|---|---| | kuroinu_pony_chloe.safetensors | Chloe 角色定妆(Pony 底座) | 触发词 kjochloe(训练标注全小写);金发+侧马尾是训练主流(139:5),白发也能出;实测角色还原度极高 | | kuroinu_pony_leona.safetensors | Leona 角色(Pony 底座) | 触发词 kjoleona;白发+狼耳是她,穿甲战斗 NSFW 是独有卖点,群交特化卡 | | kuroinu_pony_luca.safetensors | Luca 角色(Pony 底座) | 触发词 kjoluca;刘海遮眼是本体,唯一训练过项圈的卡 | | kuroinu_wan_style.safetensors | Wan 视频画风注入 | LoraLoaderModelOnly 串 UNETLoader 后,权重 0.6。四轮 A/B 实测:图生视频画风主要靠首帧继承(此卡可选),动漫首帧的动态弱是 Wan2.2+动漫组合的固有特性而非 LoRA 所致 |

同种子对比实测:LoRA 版"神韵贴合原作",纯 danbooru 标签版严重跑偏(恶魔角/手游风)——黑兽角色必须走 LoRA。注意:HF 上 CarrotBu 的全角色包是 SD1.5 底座(张量结构实测),与 SDXL 系不兼容;更多角色(Kaguya 的 Pony 卡等)在 CivitAI,部分需登录 token。边界:Luu-Luu(娇小体型)与 Young Radomira 不做,全部生成保持虚构成年人。

指令式图像编辑(2026-09 实装,图像编辑-QwenEdit.json):官方 Qwen-Image-Edit-2509 Q4_K_M GGUF + Lightning 8步 LoRA + qwen_image_vae + Qwen2.5-VL-7B TE(device=cpu 固定内存)。中文直写指令换姿势/换装/换场景,QC 四项 92/95/90/88 生产可用,8 步约 2 分钟/张。三条铁律(3 小时排障换来的):

  1. VAE 必须用 qwen_image_vae.safetensors(242MB),绝不能用 Z-Image 的 ae.safetensors(320MB) —— 混用 = 参考图隐编码带时间维 → token×8 必爆显存 + 解码满屏棋盘伪影。两者都已在注册表,comfyui_fetch_model 按名可取。
  2. 社区 Rapid AIO 合并版(Phr00t v14–v23)在 16GB 卡上判死 —— 其多步蒸馏拼接机制让 token ×8.7,与量化无关,实测 v23 Q4/Q3、v14 Q4 全灭,别再试。
  3. aki/绘世默认的 CUDA Malloc 建议关闭(--disable-cuda-malloc)—— A/B 实测对生成速度零影响(16.2s vs 16.2s),但 cudaMallocAsync 不归还显存池,会坑低显存 offload 调度。

7.2 生视频

Wan2.1(阿里,Apache 2.0,推荐起步) — 你机器上目前没装视频模型,建议先下载 1.3B fp8(16GB 显存轻松跑,wan_t2v/wan_i2v 预设直接可用):

| 文件 | 目录 | |---|---| | wan2.1_t2v_1.3b_fp8_e4m3fn.safetensors | models/diffusion_models/ | | wan2.1_i2v_480p_1.3b_fp8_e4m3fn.safetensors(图生视频) | models/diffusion_models/ | | umt5_xxl_fp8_e4m3fn_scaled.safetensors | models/text_encoders/ | | wan_2.1_vae.safetensors | models/vae/ |

来源:Comfy-Org/Wan_2.1_ComfyUI_repackaged(split_files)(经 hf-mirror 同路径下载),魔搭亦有大模型镜像。14B fp8 版 16GB 显存也能跑(速度慢,建议 480P)。

NSFW 视频:

  • Wan2.1 原版对成人内容有一定拒绝倾向,社区在 CivitAI 提供大量 NSFW 微调 checkpoint / LoRA(搜 wan nsfw、wan 2.1 realistic nsfw,如 "Universal NSFW Wan 2.x" 系列工作流与配套 LoRA)——装到 models/loras/ 后在 overrides 里给 UNETLoader 输出串一个 LoraLoaderModelOnly 即可,或直接用 workflow 模式装官方 NSFW 工作流 JSON;
  • MiniMax H3:开源权重未见公开的硬性内容过滤,但成人内容生成效果无社区共识、不作保证,可自行测试(提示词即分镜脚本,描述直白即可);
  • SVD / AnimateDiff 系均为 SD 时代模型,写实 NSFW 质量有限,不作为首选。

7.3 使用边界(重要)

成人内容生成仅限:虚构成年人角色。不得生成涉及未成年人的任何性化内容(无例外);不建议生成真实存在人物的成人内容(深伪风险与法律风险);请遵守所在地法律法规及模型许可证(多数开源模型许可证禁止特定用途,商用前务必阅读;MiniMax H3 本地生成物的商用需另行取得 MiniMax 商业授权)。

8. 设备适配与在线协作规则

基于在真实消费级桌面环境(RTX 5060 Ti 16GB / 32GB RAM / Windows 11 / ComfyUI http://127.0.0.1:8188)的实测沉淀,本插件固化了以下工程级准则。

8.1 16GB VRAM 真实实测与模型选型指南

| 模型体系 | 权重规模 | 16GB 显存表现 | 32GB RAM 表现 | 推荐程度与参数建议 | |---|---|---|---|---| | Wan2.1 i2v 720p 14B fp8 | ~15.27 GB | 严重过载:桌面渲染与系统基础开销(~1.5-2GB)导致权重无法完全装入显存,被迫触发频繁的内存与显存页换流。 | 若后台存在大内存程序(如 llama-server 占用提交 26.5GB),物理内存瞬间被挤爆,Windows 页面文件颠簸至 36.5GB,每步耗时超 2 分钟,37 分钟跑不完 20 步甚至直接死锁。 | ⚠ 低可用:仅适合 24GB 显卡;若在 16GB 运行,必须彻底清空所有后台大内存程序,预留 45+ 分钟,且降低分辨率。 | | Wan2.2 TI2V-5B + wan2.2_vae | ~9.31 GB | 黄金甜点:权重 + 720p 激活值约 12.5GB,完美落入 16GB 显存安全水位,绝不触发流式页置换。 | 物理内存占用稳定在安全区间,杜绝虚拟内存颠簸与死锁。 | 🌟 强烈推荐(首选):13 分钟稳定出片。甜点参数:704×1280(竖版)或 1280×704(横版),121帧,24fps,30步,cfg 5.0,shift 5.0,采样器 euler2,调度器 simple。 | | MiniMax H3 (pruned int8) | ~20.9 GB + 14GB 文本编码器 | 极大挑战:需将文本编码器通过 text_encoder_device: cpu 锁定在内存中,并启用 Turbo 8 步加速。 | 物理内存必须留足 36GB 以上,否则同样触发页面文件置换。 | ⚡ 可选体验:必须预先关闭所有后台占用程序。 |

8.2 直言不讳规则(No Euphemism)

设备能力守卫(lib/capability.mjs)在每次执行生图/生视频前自动探测硬件状态与模型规格,裁决直白透明:

  1. 拦截(blocked):当系统空闲物理内存不足以装载模型权重(ram_free < weights * 0.6,如后台开了 llama-server 导致物理内存仅剩几 GB)或显卡总显存低于 6GB 时,守卫主动拦截任务并拒绝向 ComfyUI 提交,直接向用户展示带具体数字的中文拦截原因与释放内存建议,坚决杜绝因盲目提交导致整机卡死、死锁重启。
  2. 警示慢速(ok_slow):当模型权重略大于可用显存但系统内存充足时,明确告知用户预计耗时(如 45 分钟起步)及换页代价,并直接推荐替代方案(如 wan22_ti2v)。
  3. 健康通过(ok):显存与物理内存均在安全裕度内,流畅执行。

8.3 画幅自适应与在线协作

  • 杜绝人像切头:直接向横版 1280×704 预设喂竖版手机人像拍摄素材,会导致模型在 Latent 预处理时将人物头部或下半身裁切。
  • 自动检测与无感对齐:lib/imageMeta.mjs 内置零外部依赖的原生 Buffer 二进制解析器,快速读取 PNG IHDR 与 JPEG SOF 真实宽高。
    • 输入竖版素材(高度 > 宽度):wan_i2v / wan22_ti2v 自动切换为 704×1280 竖版视频模式;
    • 输入横版素材(宽度 ≥ 高度):自动保持 1280×704 横版视频模式;
    • 用户显式指定 width / height 时,100% 遵从用户指令;
    • 调整详情实时展示在终端与模型响应摘要中。

8.4 异常保护看门狗与自动化质检

  • 显存保护看门狗:在长视频生成的轮询期间,若遇用户中断(AbortSignal)、等待超时(timeout_sec)或异常报错,看门狗将立即触发 POST /interrupt 中止生成并调用 POST /free {"unload_models": true, "free_memory": true},杜绝后台幽灵进程占用显存或继续空耗算力。
  • 自动化 QC 抽帧:视频生成落地后,若宿主机已配置 ffmpeg,插件自动抽取第 0 帧、中帧和尾帧存为 <base>_qc1.png、<base>_qc2.png、<base>_qc3.png 并纳入产物清单。调用模型可直接通过 read_image 视检生成的视频关键帧,实现端到端的自主多模态闭环验证。

8.5 模型库首次运行全自动发现

为完美适应不同用户差异化的电脑环境与模型存放习惯(例如有的用户使用官方目录、有的用户使用秋叶整合包多层目录、或在 extra_model_paths.yaml 中挂载了 SD WebUI 共享模型库):

  • 插件在首次运行时,无需用户手动寻找或配置复杂路径,自动通过 运行中 ComfyUI 进程命令行扫描 → 全盘 ComfyUI 深度扫描 → extra_model_paths.yaml 递归解析 自动汇总全量模型库目录集合;
  • 在模型查重与自动下载时,优先选用已有文件子目录、优先非 C 盘并按最大可用空间智能调度,真正做到全自动适应与即插即用。