Nodes (3)
ComfyUI-QG-tools
一个 ComfyUI 自定义节点包,目前包含三个节点:LoRA 加载器、工作流说明卡、工作流开关。
QG LoRA Loader —— 把整摞 LoRA 收进一个节点里管
- 一个节点管整摞 LoRA —— 列表式的行编辑器,每行能搜文件、拖着调强度、随时开关、拖动排序
- 触发词自动汇总 —— 所有启用行的触发词去重后拼成一路字符串输出,直接接进提示词
- 整摞存成模板 —— 常用的 LoRA 组合存下来,在任何同类节点上一键套用
- 吸收模型链上的 LoRA —— 把串在模型链上下游的其它 LoRA 加载器全部并进来,原节点自动旁通,出图结果不变
QG Workflow Note —— 让别人打开你的工作流就知道怎么用
- 卡片式说明:大标题 + Markdown 正文 + 作者 + 链接,直接画在节点上
- 列出需要的模型和依赖的节点包,自动和本机安装对照,每行标出「✓ 已安装 / 缺失」,并给下载按钮
- 一键「从当前工作流检测」,把图里用到的所有自定义节点包列出来
QG Workflow Switches —— 一张卡片集中开关工作流
-
选中若干节点 → 建一个开关,一键旁通/恢复这一整块(比如「放大 + 保存」这套)
-
也能当参数预设用:为「开」和「关」各存一套选中节点的设置值,一键切换
-
折叠后只剩标签和开关,不占画布
-
当前版本:v0.4.0
-
节点:3 个(
QG LoRA Loader/QG Workflow Note/QG Workflow Switches,分类QG-tools) -
依赖:无,只用 ComfyUI 运行期自带的模块
-
许可证:GPL-3.0-or-later
安装
方式一:ComfyUI Manager
打开 ComfyUI Manager → Install Custom Nodes → 搜索 ComfyUI-QG-Tools。
这条要在插件发布到 Comfy Registry 之后才可用; 还没发布时请用下面的方式二 / 方式三。
方式二:git clone
cd <你的 ComfyUI 目录>/custom_nodes
git clone https://github.com/live1617/ComfyUI-QG-tools
方式三:手动下载
从 Releases 下载 zip,
解压到 custom_nodes/ 下,并确认目录名是 ComfyUI-QG-tools。
装完完整重启 ComfyUI,控制台应出现:
[QG-tools] v0.4.0 加载完成 | 节点数 3
无需 pip install 任何东西。三个节点都在 QG-tools 分类下,搜索 lora、note、switch 等也能找到。
QG LoRA Loader
一个节点管整摞 LoRA:接上 MODEL(可选接 CLIP),下面排开你要用的所有 LoRA,
输出打好补丁的模型和一行触发词。
每一行有什么
| 控件 | 作用 | |---|---| | 拖拽手柄 | 按住上下拖动,调整 LoRA 的应用顺序 | | 开关 | 临时旁通这一行,不必删掉它 | | 名字 / 选择器 | 点一下打开搜索框挑文件;名字太长会按设置省略 | | 强度 | 直接在名字上左右拖动就能调,也可以点进数值框;旁边有中心零点强度条 | | ⓘ | 悬停看预览图、底模、触发词,可顺手查 Civitai |
触发词
每个 LoRA 的触发词会自动汇总,去重后按 trigger_separator(默认 , )拼成一路 triggers
输出,直接接进提示词。也可以给任意一行手填自己的触发词。
有两个刻意的设计:
- 把某行强度调到 0,它的触发词仍然保留 —— 这样对比「用 / 不用这个 LoRA」时只需改权重,提示词不用动。
- 因文件缺失被跳过的那一行,不加任何词。
整摞存成模板
强度条那一排的 ▤ 按钮可以把当前整摞 LoRA 存成命名模板(存在浏览器本地)。 之后在任何 QG LoRA Loader 上点开 ▤ 就能一键套用,也能删除。
吸收模型链上的 LoRA
齿轮菜单里的 Absorb chain LoRAs 会沿本节点的模型链往上下游走,把路上遇到的其它 LoRA 加载器 (包含 rgthree、JPS、Pixaroma 等插件的节点)的 LoRA 全部并进本节点,再把那些节点自动旁通 —— 出图结果完全不变,只是整摞 LoRA 集中到了一处管理。
前提是那些节点的 LoRA 不是从连线动态接进来的(例如 rgthree 的 Power Lora Loader 接了外部输入); 这种情况菜单会提示你先断开。整摞 LoRA 也有行数上限,超出时会提示你先清理几行。
输入 / 输出
| 方向 | 名称 | 说明 |
|---|---|---|
| 输入(必填) | model | 要打 LoRA 补丁的扩散模型 |
| 输入(必填) | loras | 序列化的 LoRA 栈,由面板托管 —— 改行,不要改这个值 |
| 输入(可选) | clip | 不接的话 CLIP 强度会被忽略 |
| 输入(可选) | trigger_separator | 触发词之间的分隔符,默认 , ;在齿轮菜单里改,画布上隐藏 |
| 输入(可选) | on_missing | 文件缺失时怎么办,见下 |
| 输出 | model | 按行顺序打完所有启用 LoRA 的模型 |
| 输出 | clip | 同样处理过的 CLIP |
| 输出 | triggers | 所有启用行的触发词,去重后拼成的一行字符串 |
文件找不到时
- LoRA 只是被移动过(还在
loras目录里、换了子文件夹)会在运行时按文件名自动找回来,不用管。 - 真的找不到时,默认行为是在采样前直接报错停下,并在错误信息里点名是哪个文件 —— 无人值守或脚本化跑图不会静默地少打一个 LoRA。
- 想让它在控制台警告一声然后跳过这一行,把齿轮菜单里的 Stop on missing LoRA 关掉即可
(API 调用时对应
on_missing: "skip")。
设置
齿轮按钮里是这个节点类型的偏好设置,存在浏览器本地,跟着你所有工作流走:
| 设置 | 默认 | 作用 |
|---|---|---|
| Default strength | 1.0 | 新加一行时的初始强度 |
| Strength step | 0.05 | 拖动与方向键的步长(按住 Shift 恒为 0.01) |
| Separate model / CLIP strength | 关 | 每行显示两个强度框,分别控制模型和 CLIP |
| Strength bars | 开 | 名字后面的中心零点强度条(青色向右为正,红色向左为负) |
| Trigger word separator | , | 拼接 triggers 输出用的分隔符 |
| Stop on missing LoRA | 开 | 关掉后,文件缺失只警告并跳过 |
| Hide file extension | 开 | 名字不显示 .safetensors |
| Hide folder names | 开 | 只显示文件名(完整路径仍在提示里) |
| Civitai lookup button | 开 | 信息卡里提供「查 Civitai」按钮 |
| Long names | end | 名字太长时怎么省略;middle 会保留结尾的数字 |
| Scrub strength on the name | 开 | 在名字上左右拖动改强度(单击仍然是打开选择器) |
| Preview thumbnails | 开 | 悬停选择器时显示预览图 |
QG Workflow Note(工作流说明卡)
给别人(或者在半年后的自己)看的工作流说明书。节点本身不参与出图 —— 没有输入、没有输出、不进提示词, 就是画在画布上的一块卡片。
卡片上有什么
| 区块 | 内容 | |---|---| | 标题 / 副标题 / 作者 | 卡片抬头,纯文本,点铅笔进入编辑器改 | | 正文 | Markdown:标题、列表、代码块、链接都支持 | | Models | 工作流需要的模型:名称、目标文件夹、下载按钮 | | Node packs | 依赖的自定义节点包:包名、仓库地址、探测用的节点类 | | Links | 你自己的链接(GitHub、Civitai、教程……) |
自动对照本机安装
- 模型行:点
↻ check files会检查这个文件在对应的ComfyUI/models/<文件夹>里在不在。 - 节点包行:按「探测节点类」判断这个包在本机装了没有,装了就标
✓ 已安装,没有就标缺失并给「去获取」按钮。 - 文件在别处(比如放在别的子文件夹)也会指出来,甚至可以提示你哪个 LoRA 加载器的行需要指过去。
布局与数据
- 两种布局:卡片(默认,完整样式)和 横幅(只留一条标题标签)。
- 卡片内容存在节点的一个隐藏 STRING 字段里(JSON),所以保存、撤销、API 格式都走 ComfyUI 原生路径。
- 编辑器里有表单和「原始 JSON」两个页签,复制粘贴卡片给别人就靠 JSON 那页。
输入 / 输出
| 方向 | 名称 | 说明 |
|---|---|---|
| 输入(必填) | note | 卡片数据(JSON),由面板托管 —— 用卡片上的编辑器改,别直接改这个值 |
| 输出 | —— | 无。节点不会进入执行队列 |
QG Workflow Switches(工作流开关)
把一套工作流拆成几块,用一个节点统一切换。适合对比「开不开这一块」的效果、或者做「快速模式 / 全量模式」。 节点自身不运行,也不接任何线,纯粹是画布控制器。
建一个开关
- 在画布上选中一组节点(比如放大节点 + 它的保存节点)。
- 在开关卡片上点
+ Switch。 - 起个名字(比如「高清放大」)。
之后这个开关就是这一组的 关 | 开 按钮。关 默认是旁通(bypass)这些节点,图照常往下传; 在设置里可以改成静音(mute,下游拿不到输入会停下)。
三种不同粒度的开关
| 类型 | 建在哪 | 控制什么 | |---|---|---| | 节点开关 | 选中任意若干节点 | 这一组节点的开/关 | | 分组开关 | 选一个分组 | 整个分组的开/关 | | 全局开关 | 设置里的分组策略 | 按「不分组 / 每个分组 / 按编号分组」批量生成 |
打开「一次一个」后,打开某一行会自动关掉其它行 —— 适合「两个放大模型二选一」这类场景。
当参数预设用
开关不只管开关,也能改参数:选中节点后把当前值存成「开」的一套、改成另一套再存成「关」的一套。 之后一键就能把 Steps 设成 8、打开某个 LoRA 行,而不需要真的旁通任何节点。
输入 / 输出
| 方向 | 名称 | 说明 | |---|---|---| | 输入 | —— | 无 | | 输出 | —— | 无 |
开关状态存在节点自己的属性里,所以随工作流一起保存。
中文界面
- 插件自带
locales/zh/nodeDefs.json:把 ComfyUI 语言切成中文即生效,节点名、输入输出、提示都会变中文。 - 装了 ComfyUI-Chinese-Translation 这类汉化插件时,本包还额外提供前端面板文案的汉化(按钮、菜单、状态提示)。
生效与排障
-
首次安装要完整重启 ComfyUI(不是刷新页面)。
-
之后前端有更新时,浏览器要
Ctrl+Shift+R强刷 —— ComfyUI 只在页面加载时读一次扩展列表。 -
后端有 6 条路由,可用这条命令快速自检:
curl http://127.0.0.1:8188/qg/lora/list
许可证
本项目以 GPL-3.0-or-later 发布,全文见 LICENSE。
其中的三个节点(LoRA 加载器、工作流说明卡、工作流开关)抽取并改写自
ComfyUI-AusBoss(MIT)。
按 MIT 的要求,原许可证全文保留在 licenses/ComfyUI-AusBoss-LICENSE.txt;
被改写部分的原始版权仍归原作者所有。MIT 与 GPLv3 兼容,因此整体以 GPLv3 分发是合规的。