ComfyUI-TerryXu-nodes
my comfyui custom nodes
Nodes (9)
TerryXu for ComfyUI
TerryXu 是一个面向 ComfyUI 的个人效率工具节点包,主要用于 H3 提示词编辑、媒体加载、工作流线路管理、内存清理和性能监控等功能。
项目目标是把常用但原生 ComfyUI 不够顺手的操作做成更直观、更高效的节点,并尽量同时兼容普通节点模式与 Nodes 2.0。
通过 ComfyUI Manager 安装
正式发布到 Comfy Registry 后,在 ComfyUI Manager 中搜索 TerryXu 或 comfyui-terryxu-nodes,选择 TerryXu 安装或更新,然后重启 ComfyUI。
首次上架和版本更新由仓库的 GitHub Actions 发布工作流处理;发布前需要在 Comfy Registry 创建或确认发布者 terryxu,并将该发布者的 API 密钥保存到 GitHub Actions 仓库密钥 REGISTRY_ACCESS_TOKEN。首次可在 GitHub Actions 页面手动运行 Publish to Comfy registry。此后更新 pyproject.toml 中的版本号并推送到 main,即可自动发布新版本。
安装
将仓库克隆或下载到:
ComfyUI/custom_nodes/ComfyUI-TerryXu-nodes/
然后重启 ComfyUI。
GitHub:
https://github.com/terry-xu-2077/ComfyUI-TerryXu-nodes
性能监控
顶部运行工具栏左端新增 TerryXu 性能监控 图标,点击打开或关闭可拖动浮窗,位置保存在当前浏览器。
- 显示 ComfyUI 服务所在电脑的整机 CPU、内存、GPU、显存占用和 GPU 温度,多显卡可切换。
- 放大的资源趋势图为主视图,CPU、内存、GPU、显存四项读数压成一行;悬停读数查看硬件与容量详情。
- 保留最近 60 次采样,横轴固定为最近 2 分钟,纵轴固定为 0–100%,两个方向均不自动拉伸;刚开始仅在右侧显示已采样部分,每两秒按需更新。
- 趋势曲线合并短促的小幅锯齿,保留明显波峰和快速负载变化;顶部实时数值及原始采样不做平滑处理。
- 线条采用圆滑连接,经过采样点且不会额外抬高波峰,缺失数据处保持断线。
- 浮窗打开时由 ComfyUI 服务端持续采样,切换浏览器标签页不中断监控,返回时自动补齐真实历史;关闭浮窗后断开监控连接,最后一个监控连接关闭时停止采样。
- NVIDIA 优先使用已安装的 NVML Python 绑定,否则尝试驱动自带的
nvidia-smi。无监控接口或不支持的指标显示为不可用,不影响节点运行。 - 使用本地只读接口
/terryxu/performance和/terryxu/performance/stream,不创建 CUDA 上下文、不上传数据;真正断连造成的采样缺口仍用断线表示。
首次更新到含此功能的版本,需要重启 ComfyUI 并刷新页面。
节点配色
选中节点后,点击浮动工具栏新增的调色盘图标,打开紧凑色板。原有颜色按钮和菜单保持不变。也可右键任意节点 → TerryXu · 增强配色。
- 三排圆形色块共 36 组预设,点击即上色并收起。
- 「+」展开标题、背景的取色器和 HEX 输入;「✓」应用自定义颜色,「☆」收藏组合。
- 右键节点在多选范围内时,批量给选中的节点上色。
- 可收藏、使用及删除自定义配色组合;收藏保存在当前浏览器的当前 ComfyUI 站点中。
- 配色随工作流保存;「↶」恢复默认颜色。收藏色块可右键或按 Delete 删除。
更新后刷新浏览器即可加载此功能,无需额外依赖。新增图标使用 getSelectionToolboxCommands 扩展接口,右键入口使用 getNodeMenuItems,不接管原生菜单。实际节点文字样式由 ComfyUI 主题决定,浅色配色可能降低文字可读性。
配色逻辑测试:node --test tests/node_colors.test.mjs。
节点
🧹 TerryXu 内存清理
分类:TerryXu/工具
RAM、显存缓存和模型卸载拆成三个独立开关,可以串接在生成链路中,也能单独执行。
- 清理 RAM(默认开启):执行 Python 垃圾回收;Windows 整理当前 ComfyUI 进程的工作集,Linux 尝试
malloc_trim,不会整理其他进程或系统文件缓存。 - 清理显存缓存(默认开启):仅调用 ComfyUI 的
soft_empty_cache()释放可回收显存缓存,不会主动卸载已加载模型。 - 卸载模型(默认关闭):单独调用 ComfyUI 的
unload_all_models()。开启后,后续再次使用 H3 / CLIP / VAE 等模型时可能需要重新加载;若还要把卸载后留下的缓存一并释放,可同时开启“清理显存缓存”。 anything → output支持任意类型与 ComfyUI List,保留输入数据及列表顺序;三个开关都关闭时只透传。- 即使输入数据相同,工作流再次执行时仍会触发当前启用的清理操作。
注意:循环工作流中如果希望 H3 保持驻留,建议关闭“卸载模型”;是否开启 RAM/显存缓存清理再按实际显存压力决定。
TerryXu 分组开关
分类:TerryXu/工作流管理
手动选择工作流中的节点分组,并分别控制各分组内节点的启用或旁路状态。
主要功能:
- 每一行使用一体式“分组下拉菜单 + 开关 + 跳转按钮”。
- 默认显示一行未选择的分组控件;选择分组前,开关和跳转按钮保持禁用。
- 选中分组后自动在下方添加一行新的空白分组控件,不会自动列出全部分组。
- 开启时启用组内节点,关闭时旁路组内节点。
- 点击右侧箭头可直接跳转到对应分组,并按需调整画布缩放。
- 支持持续添加多个分组;已选择的分组不会在其他下拉菜单中重复出现。
- 下拉菜单重新选择空白项即可移除对应分组。
- 分组新增、删除、重命名及节点状态变化会自动同步。
- 已选择的分组与开关状态随工作流保存和恢复。
- 同时支持普通节点模式与 Nodes 2.0,并适配中文 / 英文界面。
使用方法:
- 创建“TerryXu 分组开关”节点。
- 在下拉菜单中选择需要控制的节点分组。
- 使用分组右侧的开关启用或旁路组内节点。
- 点击右侧箭头可快速定位到对应分组。
- 使用下方新增的空白分组控件继续添加其他分组。
📝 H3 提示词编辑
分类:TerryXu/Text
用于可视化编写 MiniMax H3 格式提示词,同时支持图片、视频和音频参考。
主要功能:
- 输出始终为标准 H3 原始 STRING。
- 支持连接多路 IMAGE / VIDEO / AUDIO 参考素材。
- 输入
@打开参考素材菜单。 - 输入
/打开 H3 标签 / 命令菜单。 - 图片参考可直接显示缩略图。
- 支持 Subject / Picture / Video / Audio / Shot / Speaker / Dialogue 等标签可视化。
- 支持
[Shot N]与(S1)点击切换序号。 - 支持
<d>[Language] ...</d>对白编辑和语言选择。 - 支持中文 / 英文 ComfyUI 界面显示。
- 可在可视化编辑和原始 H3 文本之间切换。
- 可选连接 TerryDirector Llama;连接后编辑框右下角显示 ✦ AI 增强按钮,直接复用 TerryDirector 的 GGUF / H3 Skill / 自定义系统提示词与共享推理 Runtime,不在本仓库重复实现 Llama 节点。
使用方法:
- 将需要引用的图片、视频或音频连接到参考输入。
- 在编辑框中粘贴或编写 H3 提示词。
- 输入
@插入参考素材。 - 输入
/插入 H3 语法标签。 - 如需 AI 增强,将 TerryDirector Llama 输出连接到本节点的「Llama」输入;编辑框右下角会出现 ✦。点击后增强当前 H3 原文并写回编辑器,增强过程中再次点击可请求取消。TerryDirector Llama 为 Bypassed / Never 时按钮会禁用。
- 节点输出端得到标准 H3 原文,可直接连接后续节点。
*️⃣ 多线切换器
分类:TerryXu/线束整理
通过线路序号选择多条输入中的一条,支持外接 INT 控制,并在前端显示当前选中的线路。可直接切换媒体加载器等 TERRY_WIRE_BUS 总线来源,输出会识别为总线并可继续接入“↔️ 总线-出”或 H3 编辑器。
🔀 二路切换器
分类:TerryXu/线束整理
通过布尔开关在两条任意类型的输入线路之间切换,可与远程控制器联动;同样支持总线线路,切换后“↔️ 总线-出”会自动重新识别当前总线资产。
🔗 联动开关
分类:TerryXu/线束整理
使用同名频道共享布尔开关状态;同一频道的开关会同步变化,与远程控制器的频道体系独立。
🎛️ 远程控制器
分类:TerryXu/线束整理
选择控制频道后,在远程位置控制多线切换器或二路切换器。控制器会根据目标节点的类型提供对应控件,不需要额外布置控制线路。
↔️ 总线-入 / 总线-出
分类:TerryXu/线束整理
无需连接 BUS 线,通过独立的 TerryXu 频道在节点之间传递多路连接。
主要功能:
- “↔️ 总线-入”接入任意数量、任意类型的连接,并在底部输入频道名称。
- “↔️ 总线-出”通过底部下拉菜单选择频道,自动恢复全部输出名称、类型和顺序。
- 一个频道可供多个“↔️ 总线-出”同时使用;频道改名时,已配对节点自动同步。
- 使用固定线路身份,断开某一路不会导致其他输出错位或迁移。
- 频道列表与 KJNodes Get / Set 完全隔离,双方名称不会互相混淆。
- 同时兼容普通节点模式和 Nodes 2.0,并支持工作流保存与重新加载。
使用方法:
- 创建“↔️ 总线-入”,将需要传递的输出连接到“添加线束”。
- 在节点底部填写频道名称。
- 创建“↔️ 总线-出”,在底部下拉菜单中选择相同频道。
- 将自动出现的输出接口连接到后续节点。
📱 媒体加载器
分类:TerryXu/媒体
- 图片、音频、视频分为蓝、紫、绿三个独立背景区块,点击各区标题栏任意空白处或标题可独立折叠/展开,折叠状态保存在工作流中;收起时隐藏右侧“+”,展开后可添加空槽位,再点击槽位选择资产;空槽位也可提前连接总线出口。
- 安装 TerryDirector 时优先复用其资产选择器;未安装时使用 ComfyUI Nodes 2.0 原生资产选择组件,支持已导入、已生成和上传。右键点击空槽位或文件名可直接使用原生选择器。
- 卡片显示类型编号、预览、文件名和移除按钮;点击文件名可更换资产,在同类型区域内拖动排序,也可聚焦卡片后按 Alt + 左/右方向键排序。
- 单一“总线”出口可连接无线总线-出,按图片、音频、视频及各区卡片顺序展开为标准 IMAGE / AUDIO / VIDEO 出口。排序只更新各编号端口对应的资产内容,不移动端口或改变已有连线;只有普通下游节点实际连接并引用展开的媒体端口时,移除资产才保留空槽位和原连线,生成时像 bypass 一样跳过该参考;点击空槽位可重新添加资产并沿用连线。H3 编辑器、总线出、总线转列表等总线相关连接不限制槽位移除。
- 资产路径和顺序随工作流保存;实际媒体文件仍需在打开工作流的电脑上存在。只有下游使用的媒体才会解码。
📦 总线转列表
分类:TerryXu/线束整理
- 将媒体加载器或无线总线-入连接到“总线”输入,按总线顺序生成 ComfyUI 原生列表;也支持通过无线总线-出转接。
- 节点直接显示识别到的类型及数量,例如“图片 3”或“混合:图片 2 · 音频 1”;空槽位自动跳过。
- 同类数据的出口自动显示对应类型;混合数据使用通用列表出口,需要下游节点支持列表中的各类数据。
- 支持最多 100 个非空项;没有可用数据时自动跳过下游。
- 图片列表保留每项的原始尺寸,不合并成图片批次;普通下游节点会依次处理列表中的每项数据。
- 提供
__terryBusListEntries()资产追踪接口,不改变混合列表的实际输出。 - 媒体加载器也可直接接入 H3 编辑器的“参考 · 多路输入”;引用菜单和可视化标签按卡片顺序显示真实文件及缩略图,执行时按资产编号提取媒体,空槽位自动跳过。
说明
TerryXu 会继续围绕实际 ComfyUI 制作流程增加实用功能,但 README 只维护当前项目介绍、节点作用和使用方法,不再记录逐版本更新日志。
开源许可
本项目以 MIT License 发布。