Repository navigation
Releases
0.17.0 · 专业卡版(档位 / 精度 / 权重可调 / ControlNet)
0.17.0
- 显存 / 内存档位(
vramMode):auto / 全驻留 / 标准 / 省显存 / 权重放内存(--novram) / 纯 CPU。 - 模型精度档(
precisionTier):auto / BF16 全精度(24G+) / FP8(12G+) / int8 / GGUF;挑不到文件时如实回落。 - 文本控制档(
textControl):极速(8步/CFG1.0) / 文本控制(原生 25步/CFG2.5)。 - 权重可调:面板直接切换主模型 / LoRA / ControlNet 权重(选项只来自真实存在的文件)。
- 通用 ControlNet:新增
controlImage参数;三条件缺一不可,缺则不接并说明原因。 - 面板新增「档位」「权重」两栏。
⚠ 开发机为 AMD RX 7900 XT 20GB,BF16 / FP8 / ControlNet 的真机效果未在本机验证。
0.16.2 · 记忆消费 / SageAttention 性能-兼容模式与崩溃自动回退 / NVFP4 提示
0.16.2
- 偏好记忆自动消费:没显式传参时按
.qwen-paint-preferences.json补画幅 / MP / 步数 / 每轮张数 / 负向词。优先级「显式参数 > 记忆偏好 > 界面预设 > 插件默认」;补齐会在日志里如实列出。seed 不从记忆读。 - SageAttention 性能 / 兼容模式(
nvidiaSageAttentionMode)+ 崩溃自动回退:启动失败且日志明确指向 sage-attention 时,本会话内自动关闭,避免反复崩溃。⚠ ComfyUI 的--use-sage-attention没有官方子模式参数,两档差别只在兜底策略。 - NVFP4 检测与提示(仅 Blackwell / 50 系出现):只提示、不自动切换模型、不自动下载;未在开发机(AMD)实测。
- 修复假开关白名单遗漏(SADA / OOM);
lib/config.js拆出lib/describe.js以符合发布体积上限。
(绘图)千问 · 优化版 v0.15.6
v0.15.6
新增:AMD RX 5000 系(RDNA1 / gfx101x)
- 独立档位,与 RDNA2 同属「没有 AOTriton / CK 融合内核」的一代,走保守的
--use-pytorch-cross-attention(把内核选择交回 PyTorch)。 - ⚠ 面板如实提示:这一代不在 ROCm 官方支持矩阵内,PyTorch 官方 ROCm 轮子未编译 gfx101x,通常需要
HSA_OVERRIDE_GFX_VERSION或自行编译。
新增:苹果全平台支持(M1–M5 / Intel Mac)
先说清为什么之前是「零优化」:ComfyUI 在 MPS 上不会自动启用 PyTorch SDPA ——它的 ENABLE_PYTORCH_ATTENTION 自动开启条件里只有 NVIDIA / Intel XPU / Ascend / MLU和一批 AMD gfx 代号,没有任何一条与 MPS 相关,于是 Mac 上会落到attention_sub_quad(次二次实现),根本没走 Metal 的融合内核。
现在插件会:
- 加
--use-pytorch-cross-attention—— 在 Mac 上切到 Metal 融合 SDPA; - 注入
PYTORCH_ENABLE_MPS_FALLBACK=1—— MPS 未实现的算子回退 CPU,而不是让整次出图抛错(默认开,质量中性); - 提供可选档
PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0(默认关)——取消 MPS 分配器硬上限,让大模型在小内存 Mac 上可能跑得起来。默认关是因为官方写明取消上限后系统级 OOM 会 "may cause system failure"。
Intel Mac:不再被误判成 Windows/Linux 的 Intel Arc(XPU + IPEX)——macOS 上根本没有 XPU 后端。带 AMD 独显的机型走 MPS(macOS 上 A 卡只有 Metal,不走 ROCm);只有 Intel 核显的机型实际上只能跑 CPU。
修复(两个真 bug)
- POSIX 启动命令引号错误(macOS 必踩):启动命令要穿三层引号,原先内层脚本的引号被外层抹平 ⇒ 实测
exec 'sh' '-c' 'echo hi'变成exec sh -c echo hi(hi成了$0)、含空格的路径直接失效 ——而 Mac 上 ComfyUI 常装在/Users/<名字>/My ComfyUI。 - 脱敏盲替改坏标识符:
K:→X:的盲替把PYTORCH_ENABLE_MPS_FALLBACK:改成...FALLBACX:⇒ 装 zip 的用户 MPS 回退静默失效。已改为只替盘符形态,并加自检 + 「X:总数」不变式(双向校验)。
面板
Mac 上新增「macOS 平台路径 / MPS 算子回退兜底 / MPS 取消显存水位上限」;「显存驻留」在 Mac 上改为如实隐藏并说明原因(MPS 的 vram_state 恒为 SHARED,按离散显存算会必然判成「不可启用」,把正常 Mac 误报成「部分启用」)。
回归
22 项全绿(源码与发布副本各跑一遍)。新增 _mac_env_test.mjs:纯 JS 的 POSIX 引号往返解析(不依赖外部 shell)+ 真起 sh 验证环境变量真注入;两处都做过「牙齿检查」(把 bug 塞回去确认测试会失败)。
诚实边界
开发机是 Windows + ROCm,没有 Mac 硬件 ⇒ Mac 上的参数没有真机实测,依据是 ComfyUI / PyTorch 的源码与官方文档(可复核),但「能快多少」给不出数字。
(绘图)千问 · 优化版 v0.15.5
v0.15.5
新增:极速档(4 步)
- 优化面板新增「极速档(4 步)」开关,步数 / 采样位移 / LoRA 三者一起切换
- 实测:8 步 12.1 s → 4 步 6.0~7.5 s(约 2× 提速)
- ⚠ 不适用于有文字的情形:4 步蒸馏牺牲了文字渲染 —— 同一 prompt、同一 seed,8 步能正确写出「午后」,4 步直接变乱码。面板上已明确标注。
修复
- 优化面板打不开 ——
openPanel里变量名笔误抛ReferenceError,而面板最后才挂载 ⇒ 整个面板不出现(表现为「点了没反应」)。 - 两个诊断工具注册被拒 —— 未声明 DSH 强制的
output{schema,render}。 - A 卡异步卸载开关点了没反应 —— 前端 key 是驼峰
asyncOffload、端点监听全小写asyncoffload,而URLSearchParams区分大小写。 - 切完开关面板自动关闭 —— 改成原地刷新,开关状态当场可见。
- 「出图存到」那一行永不显示 ——
outputDir在 payload 顶层,面板却读optimization。 - 循环 import 的 TDZ —— 先 import
config.js会崩,改为惰性求值。
回归
23 项全绿(源码与发布副本各跑一遍);新增 3 个测试,全部做过「牙齿检查」(把 bug 塞回去确认测试会失败)。
(绘图)千问 · 优化版 v0.1.5
0.1.5
修 bug(用户实测反馈)
- 轻量档原先会自动下错文件:
unsloth/Qwen-Image-2.1-GGUF是 stable-diffusion.cpp 格式的
GGUF(Range 请求下前 8KB 实测:metadata_kv_count=0元数据为空、张量名model.diffusion_model.*),
ComfyUI-GGUF 的UnetLoaderGGUF加载不了。 - 换成
abenzerps/Qwen-Image-2.1-Uncensored-GGUF的qwen-image-2.1-UC-Q4_K_M.gguf
—— 该文件被gatuwo/Qwen-Image-2.1-GGUF-Multi-Queue-Workflows在 RTX 4060 Laptop 8GB
上实测跑通(用的就是UnetLoaderGGUF+ 本文件)。 - 权威校验值取自 HF API 的
lfs.oid+ 服务器Content-Length:
size4604558112/ sha256e79c8a00…1b41(不是估算)。 - GGUF 下载源改用 hf-mirror.com(ModelScope 上 resolve 该文件实测 404,hf-mirror 200)。
- 保留「装完必须装 ComfyUI-GGUF」的提示,并在 README/INSTALL 说明该 GGUF 属 Uncensored 系。
⚠ 已知未定论(已在源码写明):该文件
general.architecture = 'qwen_image21',而
ComfyUI-GGUF 的IMG_ARCH_LIST是qwen_image(严格匹配)—— 与"实测跑通"矛盾,尚未定论。
新功能:自定义输出目录
- 启动时校验
outputDir:绝对路径照用;相对路径解析到默认位置下(换机器不失灵);
目录不存在会试着建;建成了还要真的写一个临时文件才算"有写权限"。
不可用则退回默认并 warn,绝不因此让插件起不来。 setup.mjs首次运行询问;--output-dir <路径>可非交互指定;
选择写进cordis.patch.yml(幂等)。- 优化面板新增「出图存到 / 改目录」入口(
?outputDir=)。
其它
- 修掉
fsp.mkdirSync误用(fsp是 promises 命名空间,无同步方法)导致的校验永远失败。 - 发布默认配置里
amdAsyncOffload原本是真打开的,改回注释态(与代码 DEFAULTS、README 的"默认关"一致)。 - 内部开发报告不再进包(
pack.mjs的REPORT_FILES清空)。
20 套回归全绿。
v0.1.5 更新:DSH STORE 合规整改(2026-10-12)
针对商店校验机器人提出的 4 项违规逐条修复:
- 单文件超限 ——
lib/index.js364197 → 172480 字节(拆出 65 个符号到新增lib/config.js,198849 字节),两者均低于 262144 上限;assets/loading.webp366450 → 239314 字节(60 帧动画保留)。 - 缺少
repository字段 —— 已补。 - 缺少
engines.node—— 已补(>=18.0.0,与dsh.compatibility.node一致)。 files白名单不匹配 —— 补入assets(插件运行时要读../assets/loading.webp,此前漏声明会导致 npm 包缺文件)。
回归:selftest / _review_fixes_test / _portability_test / _perf_tweaks_test / _opt_status_test 等全套通过,测试语料随拆分同步扩展(index.js + config.js),断言一字未改。
(绘图)千问 · 优化版 v0.1.4
0.1.4
新增
- 小显存模型档位:安装时可选「完整档(int8)」或「轻量档(GGUF Q4_K_M,约 4.2 GB)」,
适配 8 GB 级别显卡(如 RTX 5060)。按模型文件后缀自动切换加载器(UNETLoader/UnetLoaderGGUF)。 - macOS(Apple Silicon)适配:显卡探测走
system_profiler/sysctl;
统一内存不套用离散显存的驻留参数;安装文档补上 Apple Silicon 的官方步骤。 - A 卡专属优化(可选,默认关):
amdKernel(6000 系 → quad;7000/9000 系 → CK 内核)、
amdAsyncOffload(--async-offload)。 - N 卡 SageAttention:
nvidiaSageAttention(默认auto—— 自检确认已装才挂--use-sage-attention)。
修复
- 优化面板按显卡过滤:不适用的优化(如 N 卡上的 RDNA3 FlashAttention)不再显示,并说明隐藏了哪几项。
- 探测失败时的统计重复计数、可选项打开后总账仍写"默认关"、
warnings与reasons重复显示。 RTX 5000 Ada不再被误判为 Blackwell。- 显存探测在 Linux / macOS 上必然失效(POSIX 下
&是后台运算符)—— 真 bug,已修。 - 共两轮隐患排查修掉 13 处,回归测试 20 套全绿。
(绘图)千问 · 优化版 v0.1.2
(绘图)千问 · 优化版 v0.1.2
面向 DeepSeek Harness 的本地图像生成插件。经本机 ComfyUI 调用 Qwen-Image 2.1 完成文生图与图生图。
本版增强:
- 推理链路提速:按输出尺寸自动选择加速方案(小尺寸 TE-Speed + Speedup;大尺寸 BlockCache T8);编排阶段并发化;显存驻留策略自动化
- 显卡厂商适配:NVIDIA / Intel Arc / AMD RDNA2·3·4,各自套用对应注意力后端与可选加速组件
- 操作系统兼容:Windows(WMI 派生进程)与 Linux(setsid / nohup)
完整说明见仓库 README。原作者 @奇迹与你。