Extensions/ComfyUI-QG-tools
ComfyUI Extension

ComfyUI-QG-tools

ComfyUI常用节点合集

By live1617·Created 3 days ago·Updated a day ago· 1
live1617/ComfyUI-QG-tools
Nodes3
On cloudLocal install
CategoryQG-tools
Stars1
Updateda day ago
Readme

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(工作流开关)

把一套工作流拆成几块,用一个节点统一切换。适合对比「开不开这一块」的效果、或者做「快速模式 / 全量模式」。 节点自身不运行,也不接任何线,纯粹是画布控制器。

建一个开关

  1. 在画布上选中一组节点(比如放大节点 + 它的保存节点)。
  2. 在开关卡片上点 + Switch。
  3. 起个名字(比如「高清放大」)。

之后这个开关就是这一组的 关 | 开 按钮。关 默认是旁通(bypass)这些节点,图照常往下传; 在设置里可以改成静音(mute,下游拿不到输入会停下)。

三种不同粒度的开关

| 类型 | 建在哪 | 控制什么 | |---|---|---| | 节点开关 | 选中任意若干节点 | 这一组节点的开/关 | | 分组开关 | 选一个分组 | 整个分组的开/关 | | 全局开关 | 设置里的分组策略 | 按「不分组 / 每个分组 / 按编号分组」批量生成 |

打开「一次一个」后,打开某一行会自动关掉其它行 —— 适合「两个放大模型二选一」这类场景。

当参数预设用

开关不只管开关,也能改参数:选中节点后把当前值存成「开」的一套、改成另一套再存成「关」的一套。 之后一键就能把 Steps 设成 8、打开某个 LoRA 行,而不需要真的旁通任何节点。

输入 / 输出

| 方向 | 名称 | 说明 | |---|---|---| | 输入 | —— | 无 | | 输出 | —— | 无 |

开关状态存在节点自己的属性里,所以随工作流一起保存。


中文界面

  • 插件自带 locales/zh/nodeDefs.json:把 ComfyUI 语言切成中文即生效,节点名、输入输出、提示都会变中文。
  • 装了 ComfyUI-Chinese-Translation 这类汉化插件时,本包还额外提供前端面板文案的汉化(按钮、菜单、状态提示)。

生效与排障

  1. 首次安装要完整重启 ComfyUI(不是刷新页面)。

  2. 之后前端有更新时,浏览器要 Ctrl+Shift+R 强刷 —— ComfyUI 只在页面加载时读一次扩展列表。

  3. 后端有 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 分发是合规的。