节点 | 改进和功能 | 链接修复器
在使用 ComfyUI 时创建的节点和改进的集合。我为自己制作它们是为了让我的工作流程更干净、更轻松、更快。欢迎您尝试一下。但请记住,我为我自己的用例制作了它们:)
custom_modules
中: cd ComfyUI/custom_nodes
git clone https://github.com/rgthree/rgthree-comfy.git
您可以配置 rg Three-comfy 的某些方面。例如,也许未来的 ComfyUI 更改会破坏 rg Three-comfy,或者您已经有另一个执行类似操作的扩展,并且您希望为 rg Three-comfy 关闭它。
您可以通过右键单击图表的空白部分并选择rgthree-comfy > Settings (rgthree-comfy)
或单击 ComfyUI 设置对话框中的rgthree-comfy settings
来访问 rg Three-设置。
(注意,设置存储在rgthree-comfy
目录中的 rg rgthree_config.json
中。还有其他高级设置只能在那里配置;您可以在修改之前从rgthree_config.json
rgthree_config.json.default
复制默认设置,然后再修改) 。
请注意,您可以右键单击一堆 rg Three-comfy 节点并选择? Node Help
菜单项提供应用程序内帮助(如果可用)。
ComfyUI 的直观种子控制节点,其工作方式与 Automatic1111 的种子控制非常相似。
查看更多信息
- 将种子值设置为“-1”以每次使用随机种子
- 在其中设置任何其他数字以用作静态/固定种子
- 快速操作以随机化或(重新)使用最后排队的种子。
- 图像元数据将存储种子值(因此拖动图像,种子字段已固定到其种子) 。
- 秘密功能:您可以手动将种子值设置为“-2”或“-3”以增加或减少最后一个种子值。如果没有最后一个种子值,它将随机使用第一个。
通过这个大大改进的重新路由节点,使您的工作流程保持整洁,例如具有多个方向和大小的实际重新路由。
更多信息
- 使用右键单击上下文菜单更改宽度、高度和连接布局
- 还可以切换可调整大小(如果调整大小,则最小尺寸为 40x43)和标题/类型显示。
将书签节点放置在屏幕上的任意位置,以便使用快捷键快速导航到该节点。
查看更多信息
- 定义要按下
shortcut_key
以向右转到锚定在左上角的书签节点。- 您还可以定义缩放级别!
- 专业提示:
shortcut_key
可以是多个键。例如“alt + Shift + !”需要同时按下 alt 键、shift 键和“!” (如“1”键,但按下 Shift 键)以便触发。
传递一般流属性,并合并新数据。与其他一些节点套件“管道”类似,但更容易合并,通过在单个节点中组合和分解所有节点,更容易与标准节点进行互操作。
更多信息
- Context 和 Context Big 彼此向后兼容。也就是说,连接到 Context Big 的输入将通过普通 Context 节点传递到 CONTEXT 输出,并可用作任一节点上的输出(或者,如果输出仅在该节点上,则为 Context Big,如“步骤”)。
- 专业提示:将 Context 输出拖动到另一个节点上时,按住“ctrl”并释放以自动将其他 Context 输出连接到悬停的节点。
- 专业提示:您可以从菜单中在“上下文”和“上下文大”节点之间进行更改。
图像比较器节点将两个图像相互比较。
更多信息
- 注意:右键菜单可能会显示图像选项(打开图像、保存图像等),如果单击节点的左半部分,则对应于第一张图像(image_a),如果单击右侧,则对应于第二张图像节点的一半。
- 输入:
image_a
必填。用于比较的第一张图像。如果未提供 image_b 并且 image_a 是批次,则比较器将使用 image_a 的前两个图像。image_b
可选。用于比较的第二张图像。仅当 image_a 是包含两个图像的批次时可选。- 属性:您可以更改以下属性(通过右键单击节点,然后从菜单中选择“属性”或“属性面板”):
comparer_mode
- 在“滑动”和“单击”之间选择。默认为“幻灯片”。
该节点允许您按像素值或百分比值裁剪输入图像。
执行后显示来自后端的大部分文本数据。
一个超级简单的 Lora Loader 节点,可以一次加载多个 Loras,并快速切换每个 Loras,所有这些都在一个超压缩节点中。
更多信息
- 单击“+ 添加 Lora”按钮,添加任意数量的 Lora。没有真正的限制!
- 右键单击 Lora 小部件以获得特殊选项,以向上或向下移动 Lora (不影响图像,仅影响演示) 、打开/关闭它或一起删除该行。
- 从属性中,更改“
Show Strengths
以选择显示单个简单强度值(将用于模型和剪辑)或显示模型和剪辑强度均可修改的更高级视图。
已弃用。使用
Power Lora Loader
代替。简化的 Lora Loader 堆栈。与其他套件非常相似,但与标准输入/输出的互操作性更强。
启动您的提示并获取下拉菜单以添加嵌入、loras,甚至保存的提示片段。
更多信息
- 从本质上讲,您几乎可以将 Power Prompt 用作 String Primitive 节点,并具有下拉菜单的附加功能,用于选择嵌入,甚至 loras,无需进一步处理。这将仅将原始
TEXT
输出到另一个节点以进行 lora 处理、CLIP 编码等。- 将
CLIP
连接到输入以对文本进行编码,CLIP
和CONDITIONING
输出均来自节点。- 将
MODEL
连接到输入以自动解析和加载文本中的任何<lora:...>
标签,无需单独的 Lora Loaders
与上面的电源提示相同,但不支持 LORA;为稍微干净的负面提示而制作(因为负面提示不支持 loras) 。
SDXL 是上面电源提示的同级产品。它包含 text_g 和 text_l 作为单独的文本输入,以及确保正确的剪辑编码所需的更多输入槽。结合与
与非 SDXL
Power Prompt - Simple
节点一样,该节点本质上与 SDXL 电源提示相同,但不支持非 lora 肯定提示或 SDXL 否定提示(因为否定提示不支持 loras) 。
只是 SDXL 提示的一些配置字段。老实说,也可以用于非 SDXL。
一个强大的节点来分支您的工作流程。通过选择第一个不为空/空的上下文输入来工作。
更多信息
- 传入多个上下文节点,上下文切换将自动选择第一个非空上下文继续前进。
- 想知道如何将上下文切换为空?与快速静音器或快速组静音器结合使用
类似于上面的上下文切换的强大节点,它选择第一个不为空的输入。
更多信息
- 传入多个相同类型的输入,Any Switch 将自动选择第一个非空值继续前进。
- 想知道如何将上下文切换为空?与快速静音器或快速组静音器结合使用
快速组静音器是一个无输入节点,可自动收集当前工作流程中的所有组,并允许您快速静音和取消静音组内的所有节点。
更多信息
组将自动显示,但您可以从节点属性中进行过滤、排序等操作(右键单击节点,然后从菜单中选择“属性”或“属性面板”) 。属性包括:
matchColors
- 仅添加与提供的颜色匹配的组。可以是 ComfyUI 颜色(红色、淡蓝色)或十六进制代码 (#a4d399)。可以添加多个,以逗号分隔。
matchTitle
- 按标题匹配(字符串匹配或正则表达式)过滤切换列表。
showNav
- 添加/删除快速导航箭头以将您带到组。 (默认值:true)
sort
- 按“字母数字”、图形“位置”或“自定义字母表”对切换的顺序进行排序。 (默认值:“位置”)
customSortAlphabet
- 当排序属性为“自定义字母表”时,您可以定义要在此处使用的字母表,它将匹配每个组名称的开头并对其进行排序。如果组标题与任何自定义字母条目不匹配,那么它们将被放置在匹配的组之后,并按字母数字顺序排列。这可以是单个字符的列表,例如“zyxw...”或用于更多控制的逗号分隔字符串,例如“sdxl,pro,sd,n,p”。
请注意,当两个组标题匹配相同的自定义字母条目时,正常的字母数字字母会打破平局。例如,自定义字母表“e、s、d”将对组名称进行排序,例如“SDXL、SEGS、Detailer”,尽管自定义字母表在“d”之前有一个“e”(其中人们可能期望“SE”在前面) “SD”)。
要让“SEGS”出现在“SDXL”之前,您可以使用更长的字符串。例如,自定义字母值“se,s,f”可以在这里使用。
toggleRestriction
- (可选)尝试将可启用的小部件数量限制为最多 1 个或始终为 1 个。注意:如果使用“max one”或“always one”,则仅当单击此节点上的切换时才会强制执行此操作;如果组内的节点在初始切换单击之外发生更改,则不会强制执行这些限制,并可能导致启用多个切换的状态。如果节点与多个组重叠,也可能发生这种情况。
与上面的快速组静音相同,但将连接的节点设置为“旁路”而不是“静音”
强大的“控制面板”节点,可快速切换连接的节点,使它们能够快速静音或启用
更多信息
- 添加所有连接节点的集合,允许将单个点作为“仪表板”来快速启用和禁用节点。两个不同的节点;一种用于“静音”连接的节点,另一种用于“绕过”连接的节点。
与 Fast Muter 相同,但将连接的节点设置为“Bypass”
天哪,这个节点允许您半自动化连接的节点和/或 ConfyUI。
更多信息
- 连接节点,并至少在按下按钮时静音、旁路或启用它们。
- 某些节点公开额外的操作。例如,当按下按钮时,您可以在
Seed
”节点上设置Randomize Each Time
或Use Last Queued Seed
。- 此外,从节点属性中,设置一个快捷键来切换按钮操作,无需单击!
用于清理面条,这将接受任意数量的输入节点并将其传递到另一个节点。
️ 目前,这实际上应该只连接到快速静音器、快速旁路器或静音/旁路继电器。
功能强大的节点会将其静音/旁路/活动模式分派给所有连接的输入节点,或者如果在一个组中没有任何连接的输入,则会将其静音/旁路/活动模式分派给该组中的所有节点。
更多信息
专业提示#1:将此节点的输出连接到快速静音器或快速旁路器,以便在此处使用单个切换器,只需单击一下即可静音/旁路/启用许多节点。
专业提示#2:将静音/旁路继电器节点连接到该节点的输入,让继电器自动向中继器发送静音/旁路/启用更改。
高级节点,当使用静音/旁路中继器时,会将其输入节点的模式(静音、旁路或活动)中继到连接的中继器(然后中继器会将模式更改重复到其所有输入)。
更多信息
- 当所有连接的输入节点都静音时,继电器会将连接的中继器设置为静音(默认情况下)。
- 当所有连接的输入节点都被旁路时,继电器会将连接的中继器设置为旁路(默认情况下)。
- 当任何连接的输入节点处于活动状态时,继电器会将连接的中继器设置为活动状态(默认情况下)。
- 注意:如果没有连接输入,则当继电器自身的模式更改时,会将连接的中继器设置为其模式。请注意,如果连接了任何输入,则会出现上述情况,并且继电器的模式并不重要。
- 专业提示:您可以在
Properties
中更改上面发送的信号。例如,您可以配置一个反向继电器,当其任何输入处于活动状态时将发送 MUTE(而不是发送 ACTIVE 信号),并在其所有输入都静音时发送 ACTIVE 信号(而不是发送 MUTE 信号) , ETC。
一种高级节点,用于在图形排队时随机取消其输入之一的静音(并立即将其静音)。
更多信息
- 注意:所有输入节点必须静音才能启动;如果不是,该节点将不会随机取消另一个节点的静音。 (这很强大,因为可以将生成的图像拖入,并且所选输入已经取消静音并且无需任何进一步操作即可工作。)
- 提示:将中继器的输出连接到此节点输入,并将该中继器放置在没有任何其他输入的组上,它将使整个组静音/取消静音。
一个纯粹的视觉节点,这允许您向工作流程添加浮动标签。
更多信息
- 显示的文本是节点的“标题”,您可以从节点的属性调整字体大小、字体系列、字体颜色、文本对齐方式以及背景颜色、填充和背景边框半径。您可以双击该节点以打开属性面板。
- 专业提示 #1:您可以从属性面板添加多行文本(因为 ComfyUI 仅允许您在此处进行 Shift + Enter 操作)。
- 专业提示#2:您可以在右键单击菜单中使用 ComfyUI 的本机“固定”选项,使标签粘贴到工作流程并单击以“浏览”。您可以随时右键单击以取消固定。
- 专业提示#3:颜色值是十六进制字符串,例如“#FFFFFF”表示白色,“#660000”表示深红色。您可以提供第 7 个和第 8 个值(如果使用简写,则为第 5 个值)来创建半透明颜色。例如,“#FFFFFF88”是半透明的白色。
这些节点的很多力量都来自静音。静音是利用上下文切换节点正确实现工作流程的多路径的基础。
虽然其他扩展可能提供开关,但它们经常会出错,导致您的工作流程完成比需要的更多的工作。虽然其他开关可能有一个选择器来选择要传递哪个输入,但它们不会停止其他输入的执行,这将导致工作浪费。相反,上下文切换的工作原理是选择第一个非空上下文来传递,并且正确地静音是使前一个节点为空的一种方法,并且在正确设置时不会导致执行任何额外的工作。
静音,因此使用开关,一开始常常会让人们感到困惑,因为感觉就像静音一个节点,或使用开关,应该能够停止或引导图的前向流动。然而,事实并非如此,事实上,图表实际上开始向后工作。
如果您的工作流程具有类似于... > Context > KSampler > VAE Decode > Save Image
最初可能会感觉您应该能够将第一个 Context 节点静音,并且图形会在前进时停止在那里并跳过该工作流程的其余部分。
但您很快就会发现这会导致错误,因为图表实际上并没有向前移动。当处理工作流时,它首先从每个“输出节点”(预览图像、保存图像,甚至“显示字符串”等)开始向后移动,然后向后移动到到达那里的所有可能路径。
因此,通过上面的... > Context > KSampler > VAE Decode > Save Image
示例,我们实际上想要静音Save Image
节点以停止此路径。一旦我们这样做了,由于输出节点消失了,这些节点都不会运行。
让我们看一个例子。
使用上下文切换(屏幕截图中的浅绿色)按偏好顺序提供上下文输入。在上面的工作流程中, Upscale Out
上下文是第一个,因此,如果启用了该上下文,则将选择它作为输出。如果没有,将选择来自上方(Upscaler 展位之前)重新路由的上下文的第二个输入槽。
Upscale Preview
位于Upscale Out
上下文节点之后,使用其中的图像而不是来自 upscale VAE Decoder
的图像。这是故意的,因此当我们禁用Upscale Out
上下文时,任何 Upscaler 节点都不会运行,从而节省了宝贵的 GPU 周期。如果我们将预览直接连接到VAE Decoder
即使我们禁用了Upscale Out
上下文节点,升级器也将始终运行来生成预览。我们现在可以通过静音来禁用Upscale Out
上下文节点。突出显示它并按ctrl + m
即可。通过这样做,它的输出将为 None,并且它不会将任何内容传递到其他节点上。在图中,您可以看到Upscale Preview
是红色的,但这没关系;没有实际错误来停止执行。
现在,让我们将其连接到Fast Muter
节点。 The Fast Muter
节点通过为任何连接的节点添加快速切换(忽略重新路由)来充当仪表板。在图中,我们连接了Upscaler Out
上下文节点和Save File
上下文节点。因此,我们可以快速启用和禁用它们。
最后,您可以选择查看Node Collector
。如果需要,可以用它来清理面条并将其连接到静音器。您可以将任何东西连接到它,但这样做可能会破坏工作流程的执行。
rg Three-comfy 向 ComfyUI 添加了一些不直接与节点相关的改进、功能和优化。
沿着应用程序窗口顶部运行的最小进度条,显示队列大小、提示执行的当前进度(在同一窗口内)以及多步骤节点的进度。
您可以从 rg Three-comfy 设置中删除/启用,以及配置高度/大小。
? ComfyUI 的最新版本不再遭受执行递归不良的困扰!此功能已从 rg Three-comfy 中删除。
有时,您只想将一两个路径排队到特定的输出节点,而不执行整个工作流程。好吧,现在您可以通过右键单击输出节点并选择
Queue Selected Output Nodes (rgthree)
来完成此操作。更多信息
选择要执行的输出节点。
注意:仅捕获并遍历输出节点,而不是所有选定的节点。因此,如果您选择一个输出和来自不同路径的节点,则只有连接到输出的路径才会被执行,而不是非输出节点,即使它们被选择了。
注意:整个工作流程是序列化的,然后我们修剪后端不需要的内容。因此,即使最终没有发送该节点,诸如所有种子随机/增量/减量之类的事情也会运行。
(实验时默认关闭,在 rg Three-comfy 设置中打开) 。
自动检测长组合列表中的顶级子目录(例如加载检查点)并分解为子目录。
(实验时默认关闭,在 rg Three-comfy 设置中打开) 。
在组标题的右上角添加静音和/或旁路切换图标,以便一键切换您当前可能正在查看的组。
(实验时默认关闭,在 rg Three-comfy 设置中打开) 。
允许拖放上一代的图像/JSON 工作流程并覆盖同一节点的小部件(与相同的 id 和类型匹配)。如果您有几代使用相同的常规工作流程并且只想导入一些数据(例如上一代的种子或提示等),那么这非常有用。
右键单击具有图像的节点应该会出现“复制图像”上下文菜单项,这样您就可以将图像直接复制到剪贴板
?我相信这已经结束了,ComfyUI 最近也添加了这个设置。你不会得到两个菜单项;我的代码在添加之前检查那里是否已经存在“复制图像”项目。
如果您的工作流程有时缺少连接,甚至加载时出错,请启动 ComfyUI 并转到 http://127.0.0.1:8188/rg Three/link_fixer,这将允许您放入图像或工作流程 json 文件并检查和修复任何不良链接。
您还可以在 rg Three-comfy 设置中启用链接修复程序检查,以便在您加载带有错误链接数据的工作流程以启动时向您发出警报。