ComfyUI-cg-use-everywhere 插件保姆级教程
1. 插件简介
插件地址: https://github.com/chrisgoringe/cg-use-everywhere
ComfyUI-cg-use-everywhere 是一个超级神奇的"万能连接器"插件!它就像给你的 ComfyUI 装了一个"无线传输系统",让你不用拉那么多连接线,就能把数据传送到任何需要的地方。
这个插件能干啥?
- 让你不用画那么多连接线,工作流看起来更清爽
- 一个数据可以同时传给多个节点,就像一对多广播
- 智能匹配相同类型的输入,自动连接
- 支持正则表达式精确控制连接目标
- 可以把复杂的连线工作流转换成简洁版本
- 提供可视化连接显示,方便调试
工作原理(大白话版):
想象你家里有一个智能音响,你说"播放音乐",家里所有的音响设备都会同时播放。Use Everywhere 就是这样的系统,你把数据放进一个"广播节点",它会自动找到所有需要这种数据的地方,然后无线传送过去。就像有了一个超级智能的数据配送员。
2. 如何安装
推荐安装方法(ComfyUI Manager)
- 打开 ComfyUI
- 点击右下角的 "Manager" 按钮
- 在搜索框里输入 "use everywhere"
- 找到 "cg-use-everywhere" 点击安装
- 重启 ComfyUI
手动安装方法
- 找到你的 ComfyUI 文件夹,进入
custom_nodes目录 - 在这里打开命令行(终端)
- 输入命令:
git clone https://github.com/chrisgoringe/cg-use-everywhere.git - 重启 ComfyUI
3. 节点详细解析
3.1 Anything Everywhere 节点 - 万能广播器
这个节点是干嘛的?
这是插件的核心节点,就像一个"万能数据广播站"。你把任何类型的数据连接到它,它就会自动找到工作流中所有需要这种数据的地方,然后无线传送过去。就像一个会自动送货的快递员。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| anything | anything | 任何类型 | - | 万能输入口,就像一个能装任何东西的魔法盒子 | 动态类型输入,根据连接自动识别类型 | 连接模型、图片、文字等任何数据,节点会自动识别类型 |
3.2 Anything Everywhere3 节点 - 三路广播器
这个节点是干嘛的?
这个节点就像一个"三路数据广播站",它有三个输入口,可以同时广播三种不同的数据。特别适合处理模型加载器的三个输出(模型、CLIP、VAE),一次性解决三个连接问题。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| anything | anything | 任何类型 | - | 第一个万能输入口,就像第一个广播频道 | 第一个动态类型输入 | 通常连接模型输出 |
| anything2 | anything2 | 任何类型 | - | 第二个万能输入口,就像第二个广播频道 | 第二个动态类型输入 | 通常连接CLIP输出 |
| anything3 | anything3 | 任何类型 | - | 第三个万能输入口,就像第三个广播频道 | 第三个动态类型输入 | 通常连接VAE输出 |
3.3 Anything Everywhere? 节点 - 智能定向广播器
这个节点是干嘛的?
这是一个"智能定向广播器",它不是盲目地发送给所有地方,而是可以通过规则来精确控制发送目标。就像一个会看地址的快递员,只送到符合条件的地方。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| anything | anything | 任何类型 | - | 要广播的数据,就像要送的包裹 | 动态类型输入 | 连接任何需要定向发送的数据 |
| title_regex | title_regex | 字符串 | .* | 节点名称匹配规则,就像收件人姓名过滤器 | 节点标题的正则表达式匹配 | 输入"Preview"只发送给名字包含Preview的节点 |
| input_regex | input_regex | 字符串 | .* | 输入口名称匹配规则,就像收件地址过滤器 | 输入名称的正则表达式匹配 | 输入"image"只发送给输入口名包含image的地方 |
| group_regex | group_regex | 字符串 | .* | 分组名称匹配规则,就像收件区域过滤器 | 节点组名的正则表达式匹配 | 输入"generation"只发送给generation组的节点 |
3.4 Seed Everywhere 节点 - 随机种子广播器
这个节点是干嘛的?
这个节点是专门的"随机种子广播站",它会自动找到所有需要随机种子的地方(比如各种采样器),然后把相同的种子发送过去,确保整个工作流使用相同的随机数。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| seed | seed | 整数 | 0 | 随机种子数字,就像抽奖的号码球 | 随机数生成种子 | 设置固定数字可以重现相同结果,0表示随机 |
3.5 Prompts Everywhere 节点 - 提示词广播器
这个节点是干嘛的?
这个节点是专门的"提示词广播站",它有两个输入:正面提示词和负面提示词。它会自动识别哪些地方需要正面描述,哪些地方需要负面描述,然后分别发送过去。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| +ve | +ve | 任何类型 | - | 正面提示词输入,就像"要什么"的描述 | 正向条件输入 | 连接正面提示词编码器或文本 |
| -ve | -ve | 任何类型 | - | 负面提示词输入,就像"不要什么"的描述 | 负向条件输入 | 连接负面提示词编码器或文本 |
3.6 Simple String 节点 - 简单文本器
这个节点是干嘛的?
这个节点就像一个"文本便签纸",它可以输出一个简单的文本字符串。主要用来配合其他节点使用,比如给 Anything Everywhere? 节点提供匹配规则。
参数详解:
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| string | string | 字符串 | - | 要输出的文本内容,就像在便签上写字 | 字符串输出 | 输入"Preview"用作节点名称匹配 |
3.7 前端JavaScript功能 - 可视化和交互增强
这些功能是干嘛的?
这些是隐藏在后台的"用户界面魔法师",它们让你可以看到无线连接的效果,还提供了很多方便的右键菜单功能。就像给你的工作流装了一个透视眼镜。
主要功能说明:
可视化连接显示:
- 显示虚拟连接线,让你看到数据的传输路径
- 支持动画效果(移动点点、脉冲光晕)
- 鼠标悬停高亮显示相关连接
右键菜单增强:
- 节点右键菜单:设置颜色限制、组限制、拒绝连接等
- 画布右键菜单:显示/隐藏连接、转换为真实连接等
- 连接冲突检测和显示
智能转换功能:
- 自动转换旧版本工作流
- 支持ComfyUI 1.16+的新特性
- 工作流验证和循环检测
4. 使用技巧和建议
4.1 新手推荐使用顺序
第一步:从简单开始
- 先试试 Anything Everywhere 节点
- 把模型加载器的输出连到它
- 看看其他节点是否自动获得了模型
第二步:使用专用节点
- 用 Seed Everywhere 统一随机种子
- 用 Prompts Everywhere 统一提示词
- 用 Anything Everywhere3 处理三输出节点
第三步:精确控制
- 学习使用 Anything Everywhere? 节点
- 掌握基本的正则表达式规则
- 利用颜色和分组限制功能
4.2 正则表达式入门
常用规则:
.*- 匹配任何内容(默认值)^prompt- 以"prompt"开头preview- 包含"preview"Preview|Save- 包含"Preview"或"Save"^((?!negative).)*$- 不包含"negative"
实用例子:
- 只发送给预览节点:
title_regex = "Preview" - 只发送给图像输入:
input_regex = "image" - 排除保存节点:
title_regex = "^((?!Save).)*$"
4.3 性能优化建议
减少计算负担:
- 关闭不需要的动画效果
- 在工作流运行时自动关闭动画
- 使用颜色和分组限制减少匹配范围
工作流整理:
- 使用"Convert to real links"转换为普通连接
- 定期清理不需要的UE节点
- 合理使用节点分组功能
4.4 调试和故障排除
查看连接状态:
- 右键画布选择"Toggle UE Link Visibility"
- 使用"Show UE broadcast clashes"检查冲突
- 开启控制台日志查看详细信息
解决常见问题:
- 连接不生效:检查类型匹配和正则规则
- 性能问题:关闭动画和减少节点数量
- 循环警告:检查节点连接逻辑
5. 常见问题解答
Q1:为什么我的数据没有自动连接到其他节点?
A: 可能的原因和解决方法:
- 数据类型不匹配 → 确保输出和输入类型相同
- 目标输入已经有连接 → UE只连接空闲的输入
- 节点被设置为拒绝UE连接 → 检查节点的拒绝设置
- 正则表达式不匹配 → 检查匹配规则是否正确
Q2:如何只发送给特定的节点?
A: 使用 Anything Everywhere? 节点:
- 设置 title_regex 匹配节点名称
- 设置 input_regex 匹配输入名称
- 使用颜色或分组限制功能
- 重命名节点和输入以便匹配
Q3:工作流变得很卡,怎么办?
A: 性能优化方法:
- 在设置中关闭动画效果
- 减少使用UE节点的数量
- 使用"Convert to real links"转换部分连接
- 关闭不必要的可视化功能
Q4:如何分享包含UE节点的工作流?
A: 分享建议:
- 使用"Convert all UEs to real links"转换所有连接
- 或者确保接收方也安装了UE插件
- 导出API版本前先转换连接
- 在工作流说明中注明需要的插件
Q5:正则表达式太复杂,有简单方法吗?
A: 简化使用方法:
- 使用节点重命名功能
- 利用颜色分组进行区分
- 使用Simple String节点提供固定文本
- 从简单的包含匹配开始学习
Q6:UE节点和原生节点有冲突怎么办?
A: 冲突解决:
- 检查优先级设置(Anything Everywhere? 优先级最高)
- 使用"Show UE broadcast clashes"查看冲突
- 调整正则表达式避免意外匹配
- 必要时使用拒绝连接功能
6. 高级应用技巧
6.1 工作流模板化
- 创建标准的UE节点布局
- 使用分组和颜色系统化管理
- 建立个人的正则表达式库
- 制作可复用的工作流模块
6.2 与其他插件配合
- 配合Group Node使用
- 结合Highway节点进行数据传输
- 与自定义节点的兼容性处理
- 在复杂工作流中的应用策略
6.3 调试和优化
- 使用浏览器开发者工具查看日志
- 理解连接优先级和冲突解决
- 性能监控和优化策略
- 工作流版本管理和迁移
7. 总结
ComfyUI-cg-use-everywhere 是一个功能强大的连接管理插件,它通过虚拟连接技术大大简化了复杂工作流的连线工作。掌握这个插件可以让你的工作流更加简洁、高效和易于维护。
记住这几个要点:
- 从简单的 Anything Everywhere 开始学习
- 合理使用专用节点(Seed、Prompts等)
- 学会基本的正则表达式匹配规则
- 利用可视化功能调试连接问题
- 在分享工作流前转换为真实连接
希望这个教程能帮助你更好地使用 Use Everywhere 插件,让你的 ComfyUI 工作流变得更加优雅和高效!🚀✨