Files
my-vault/自动语义分割系统/插件功能大全.md

541 lines
28 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: ComfyUI 插件功能大全
date: 2026-04-24
tags:
- comfyUI
- 插件
- 节点
- 参考手册
---
# ComfyUI 插件功能大全
> 本文档整理视频语义分割系统中涉及的 5 个核心 ComfyUI 插件的全部节点与功能,便于快速查阅与选型。
---
## 1. ComfyUI-segment-anything-2
**作者**: kijai
**仓库**: https://github.com/kijai/ComfyUI-segment-anything-2
**定位**: SAM2 分割基座,提供单帧分割、全自动分割、视频追踪三大能力。
### 1.1 (Down)Load SAM2Model
| 属性 | 说明 |
|:---|:---|
| **功能** | 从本地加载或自动下载 SAM2 模型权重 |
| **关键参数** | `model`: 如 `sam2.1_hiera_base_plus.safetensors``segmentor`: 单图/视频模式;`device`: cuda/cpu`precision`: fp16/bf16/fp32 |
| **输出** | `sam2_model`(公共模型对象,供下游所有 SAM2 节点复用) |
### 1.2 Sam2Segmentation
| 属性 | 说明 |
|:---|:---|
| **功能** | 标准单帧分割器,支持点/框/mask 多种提示方式 |
| **输入** | `image`, `sam2_model`, `coordinates_positive`, `coordinates_negative`, `bboxes`, `mask` |
| **参数** | `keep_model_loaded`, `individual_objects` |
| **输出** | `mask` |
| **提示方式优先级** | 手绘 Mask最直观> 点坐标 > 检测框 |
### 1.3 Sam2AutoSegmentation
| 属性 | 说明 |
|:---|:---|
| **功能** | "分割一切"模式,无需手动提示,全图自动布点识别所有物体 |
| **关键参数** | `points_per_side`(网格密度,默认 32`pred_iou_thresh`IOU 过滤阈值);`stability_score_thresh`(稳定性阈值,默认 0.95 |
| **医疗场景调优** | 低对比度图像(如手术视频)建议将 `stability_score_thresh` 降至 **0.85~0.90**,并将 `points_per_side` 提高至 **32 或 64**,避免"角落碎块"现象 |
| **输出** | `mask`, `segmented_image`, `bbox` |
### 1.4 Sam2VideoSegmentationAddPoints
| 属性 | 说明 |
|:---|:---|
| **功能** | 视频工作流的"交互站",在特定帧注入点标注,生成/更新视频推理状态 |
| **输入** | `sam2_model`, `image`(视频批次), `coordinates_positive`, `coordinates_negative`, `prev_inference_state` |
| **参数** | `frame_index`(标注帧号);`object_index`(单目标默认 0 |
| **输出** | `sam2_model`, `inference_state` |
| **核心机制** | 通过 `prev_inference_state` 支持**链式追加多帧标注**,是实现人工纠正的关键 |
### 1.5 Sam2VideoSegmentation
| 属性 | 说明 |
|:---|:---|
| **功能** | 视频推理核心引擎,接收带标注的 `inference_state`,执行跨帧自动追踪 |
| **输入** | `sam2_model`, `inference_state` |
| **参数** | `keep_model_loaded`(推荐开启,避免重复加载) |
| **输出** | `mask`(完整视频的分割结果批次) |
### 1.6 Florence2 Coordinates
| 属性 | 说明 |
|:---|:---|
| **功能** | 桥接节点,将 Florence-2 视觉模型的检测输出转换为 SAM2 可识别的坐标格式 |
| **输入** | `data`Florence-2 输出) |
| **参数** | `index`, `batch` |
| **输出** | `center_coordinates`, `boxes` |
| **用途** | 实现"文字搜图并抠图"的全自动语义流程 |
---
## 2. ComfyUI-VideoHelperSuite
**作者**: kosinkadink
**仓库**: https://github.com/kosinkadink/ComfyUI-VideoHelperSuite
**定位**: 视频工作流的核心 I/O 与批处理工具。
### 2.1 I/O 节点
| 节点 | 功能 | 关键参数 |
|:---|:---|:---|
| **Load Video (Upload)** | 将视频文件转换为图像批次 | `force_rate`(强制帧率), `force_size`(强制尺寸), `frame_load_cap`(最大加载帧数), `skip_first_frames`(跳过前 N 帧), `select_every_nth`(抽帧) |
| **Load Video (Path)** | 同上,但通过文件路径读取 | 同上 |
| **Load Image Sequence** | 从子文件夹加载所有图像文件 | `image_load_cap`, `skip_first_images`, `select_every_nth` |
| **Video Combine** | 将图像批次合成为输出视频,支持音频合并 | `frame_rate`, `loop_count`, `filename_prefix`, `format`, `pingpong`, `save_output`, `crf`, `save_metadata`, `pix_fmt` |
| **Load Audio** | 加载独立音频文件 | `seek_seconds`(起始时间) |
### 2.2 Latent / Image 批处理节点
| 节点 | 功能 |
|:---|:---|
| **Split Batch** | 将批次拆分为 A、B 两组(按 `split_index` 分界) |
| **Merge Batch** | 合并两组批次A 在前B 在后),支持尺寸不一致时缩放 |
| **Select Every Nth** | 每 `select_every_nth` 个保留 1 个,其余丢弃 |
| **Get Count** | 获取批次数量 |
| **Duplicate Batch** | 复制批次 |
### 2.3 视频预览与格式
| 功能 | 说明 |
|:---|:---|
| **Animated Previews** | Load Video / Video Combine 等节点提供动画预览,支持 Open / Save / Pause / Hide / Sync |
| **Advanced Previews** | 需手动开启。通过 ffmpeg 实时转码预览,可反映 skip/resize 等参数设置,减少远程带宽占用,支持浏览器无法直接播放的格式 |
| **Video Formats** | 支持通过自定义 JSON 文件添加 ffmpeg 输出格式(如 AV1-WebM可暴露 `crf``pix_fmt` 等参数为 UI 控件 |
---
## 3. ComfyUI-Impact-Pack
**作者**: ltdrdata
**仓库**: https://github.com/ltdrdata/ComfyUI-Impact-Pack
**定位**: 图像增强的超级工具箱,涵盖检测、分割、细节修复、放大、管道、区域采样等。
### 3.1 Detector 节点(检测器)
| 节点 | 功能 |
|:---|:---|
| **SAMLoader (Impact)** | 加载 SAM 模型(支持 SAM2 |
| **ONNXDetectorProvider** | 加载 ONNX 模型,提供 BBOX_DETECTOR |
| **CLIPSegDetectorProvider** | CLIPSeg 包装器,提供 BBOX_DETECTOR |
| **SEGM Detector (combined)** | 分割检测,返回统一 mask |
| **BBOX Detector (combined)** | 边界框检测,返回 mask |
| **SAMDetector (combined)** | SAM 技术提取指定 SEGS 位置的 segment输出统一 mask |
| **SAMDetector (Segmented)** | 同上,但分离输出多个 mask`combined_mask` + `batch_masks` |
| **Simple Detector (SEGS)** | 综合 BBOX + SAM/SEGM 的便捷检测工具 |
| **Simple Detector for Video (SEGS)** | 对视频逐帧检测,生成带批次 mask 的 SEGS |
| **SAM2 Video Detector (SEGS)** | 利用 SAM2 视频追踪技术生成 SEGS需 SAMLoader 选择 SAM2 模型) |
### 3.2 ControlNet / IPAdapter (SEGS)
| 节点 | 功能 |
|:---|:---|
| **ControlNetApply (SEGS)** | 在 SEGS 中应用 ControlNet支持 `segs_preprocessor``control_image` |
| **ControlNetClear (SEGS)** | 清除 SEGS 中已应用的 ControlNet |
| **IPAdapterApply (SEGS)** | 在 SEGS 中应用 IPAdapter |
### 3.3 Mask 操作
| 节点 | 功能 |
|:---|:---|
| **Pixelwise(SEGS & SEGS)** | 两个 SEGS 像素级与运算 |
| **Pixelwise(SEGS - SEGS)** | SEGS 相减 |
| **Pixelwise(SEGS & MASK)** | SEGS 与 MASK 像素级与运算 |
| **Pixelwise(SEGS & MASKS ForEach)** | SEGS 与 MASK 批次的逐元素与运算 |
| **Pixelwise(MASK & MASK)** | Mask 与运算 |
| **Pixelwise(MASK - MASK)** | Mask 相减 |
| **Pixelwise(MASK + MASK)** | Mask 合并 |
| **Dilate Mask** | Mask 膨胀/腐蚀(负值支持腐蚀) |
| **Gaussian Blur Mask** | Mask 高斯模糊(可用于羽化边缘) |
| **Mask Rect Area** | 通过百分比定义矩形 Mask带预览画布 |
| **Mask Rect Area (Advanced)** | 通过像素值定义矩形 Mask |
### 3.4 Detailer 节点(细节修复)
| 节点 | 功能 |
|:---|:---|
| **Detailer (SEGS)** | 基于 SEGS 对图像进行细节修复/重绘 |
| **Detailer (SEGS) with auto retry** | 同上,若 patch 全黑则自动重试 |
| **DetailerDebug (SEGS)** | 带调试输出,可监控裁剪图与修复后的裁剪图 |
| **FaceDetailer** | 自动检测人脸并进行增强 |
| **FaceDetailer (pipe)** | FaceDetailer 的管道版(支持多轮处理) |
| **MaskDetailer (pipe)** | 对 Mask 区域进行 Detailer 修复的简单 inpaint 节点 |
| **MaskPainter** | 提供 Mask 绘制功能 |
| **ToBinaryMask** | 将含 Alpha 的 mask 二值化为 0/255 |
| **MASK to SEGS** | 将 Mask 转换为 SEGS |
| **MASK to SEGS For Video** | 视频版 Mask 转 SEGSAnimateDiff 兼容) |
| **MediaPipe FaceMesh to SEGS** | 将 MediaPipe FaceMesh 关键点分离为带标签的 SEGS |
### 3.5 SEGS 操作与处理
| 节点 | 功能 |
|:---|:---|
| **SEGSDetailer** | 对 SEGS 进行细节修复(不贴回原图) |
| **SEGSPaste** | 将 SEGS 结果贴回原图(支持 `ref_image_opt` 替换) |
| **SEGSPreview** | 预览 SEGS 内容(可配合 `fallback_image_opt` |
| **SEGSPreview (CNET Image)** | 预览 ControlNetApply (SEGS) 配置的图像 |
| **SEGSToImageList** | SEGS 转 Image List |
| **SEGSToMaskList** | SEGS 转 Mask List |
| **SEGS Filter (label)** | 按标签过滤 SEGS |
| **SEGS Filter (ordered)** | 按大小和位置排序后取范围 |
| **SEGS Filter (range)** | 按大小和位置范围过滤 |
| **SEGS Filter (non max suppression)** | NMS 去重(按 IoU 阈值) |
| **SEGS Filter (intersection)** | 按 IoA 阈值排除与另一组 SEGS 显著重叠的部分 |
| **SEGS Assign (label)** | 为 SEGS 顺序分配标签 |
| **SEGSConcat** | 拼接两组 SEGS |
| **SEGS Merge** | 将多个 SEG 合并为单个 SEG |
| **Picker (SEGS)** | 对话框手动选择特定 SEG |
| **Set Default Image For SEGS** | 为 SEGS 设置默认图像 |
| **Remove Image from SEGS** | 移除 SEGS 中的图像设置 |
| **Make Tile SEGS** | 将图像切分为瓦片形式的 SEGS用于 Tiled Upscale 实验) |
| **Dilate Mask (SEGS)** | 对 SEGS 内的 Mask 进行膨胀/腐蚀 |
| **Gaussian Blur Mask (SEGS)** | 对 SEGS 内的 Mask 进行高斯模糊 |
| **SEGS_ELT Manipulation** | 实验性节点DecomposeSEGS / AssembleSEGS / Edit SEG_ELT / Dilate SEG_ELT 等 |
| **Count Elt in SEGS** | 统计 SEGS 中的元素数量 |
### 3.6 Pipe 节点(管道封装)
| 节点 | 功能 |
|:---|:---|
| **ToDetailerPipe / FromDetailerPipe** | 将 Detailer 所需的多输入打包为 DETAILER_PIPE或解包 |
| **ToBasicPipe / FromBasicPipe** | 将 model/clip/vae/conditioning 打包为 BASIC_PIPE或解包 |
| **EditBasicPipe / EditDetailerPipe** | 替换 Pipe 中的部分元素 |
| **FromDetailerPipe_v2 / FromBasicPipe_v2** | 额外输出原始 Pipe便于链式编辑 |
| **Latent Scale (on Pixel Space)** | 潜空间→像素空间→放大→潜空间 |
| **PixelKSampleUpscalerProvider** | 基于 K-Sampling 的放大器Latent↔Pixel 转换) |
| **PixelTiledKSampleUpscalerProvider** | tiled 版本,避免高分辨率爆显存 |
| **Any PIPE -> BasicPipe** | 将其他套件的兼容 PIPE 转为 BASIC_PIPE |
### 3.7 PK_HOOK迭代放大钩子
| 节点 | 功能 |
|:---|:---|
| **DenoiseScheduleHookProvider** | 迭代过程中逐步调整 denoise |
| **CfgScheduleHookProvider** | 迭代过程中逐步调整 CFG |
| **StepsScheduleHookProvider** | 迭代过程中逐步调整采样步数 |
| **NoiseInjectionHookProvider** | 按 schedule 注入噪声 |
| **UnsamplerHookProvider** | 每轮迭代应用 Unsampler |
| **PixelKSampleHookCombine** | 串联两个 PK_HOOK |
### 3.8 DETAILER_HOOK细节修复钩子
| 节点 | 功能 |
|:---|:---|
| **NoiseInjectionDetailerHookProvider** | 每个 SEGS 处理时注入噪声 |
| **UnsamplerDetailerHookProvider** | 每个循环应用 Unsampler |
| **DenoiseSchedulerDetailerHookProvider** | 循环过程中调整 detailer denoise |
| **CoreMLDetailerHookProvider** | 固定裁剪区域为 CoreML 支持的尺寸 |
| **DetailerHookCombine** | 串联两个 DETAILER_HOOK |
| **SEGSOrderedFilterDetailerHook / SEGSRangeFilterDetailerHook / SEGSLabelFilterDetailerHook** | 将 SEGSFilter 包装为 DETAILER_HOOK |
| **PreviewDetailerHook** | 每个 SEGS 修复完成后提供预览 |
| **VariationNoiseDetailerHookProvider** | 应用 variation seed |
| **CustomSamplerDetailerHookProvider** | 使用自定义采样器 |
| **LamaRemoverDetailerHookProvider** | 在细节修复阶段应用 Lama Remover 去除区域 |
### 3.9 Iterative Upscale迭代放大
| 节点 | 功能 |
|:---|:---|
| **Iterative Upscale (Latent/on Pixel Space)** | 将放大因子拆分为多步,迭代执行潜空间放大 |
| **Iterative Upscale (Image)** | 图像输入版本的迭代放大 |
### 3.10 TwoSamplers双采样器
| 节点 | 功能 |
|:---|:---|
| **TwoSamplersForMask** | mask=0 区域用 base_samplermask=1 区域用 mask_sampler |
| **TwoAdvancedSamplersForMask** | 每步交替在 base 和 mask 区域采样 |
| **KSamplerProvider / KSamplerAdvancedProvider** | KSampler 包装器,用于 TwoSamplers |
| **TiledKSamplerProvider** | Tiled KSampler 包装器 |
| **TwoSamplersForMaskUpscalerProvider** | 将 TwoSamplersForMask 扩展为 Upscaler |
### 3.11 Image Utils
| 节点 | 功能 |
|:---|:---|
| **PreviewBridge (image)** | 配合 Clipspace MaskEditor 的图像桥接节点 |
| **PreviewBridge (latent)** | 配合 Clipspace MaskEditor 的 Latent 桥接节点(支持 mask 读写) |
| **ImageSender / ImageReceiver** | 同 `link_id` 的图像自动收发 |
| **LatentSender / LatentReceiver** | 同 `link_id` 的 Latent 自动收发LatentSender 内含 PreviewLatent |
### 3.12 Switch 节点
| 节点 | 功能 |
|:---|:---|
| **Switch (image,mask) / Switch (latent) / Switch (SEGS)** | 按 selector 选择指定输入输出 |
| **Switch (Any)** | 任意类型输入的通用 Switch |
| **Inversed Switch (Any)** | 单输入多输出的反向 Switch |
### 3.13 Wildcards动态提示词
| 节点 | 功能 |
|:---|:---|
| **ImpactWildcardProcessor** | 处理 `__wildcard-name__``{a\|b\|c}` 动态语法,支持 populate/fixed 模式 |
| **ImpactWildcardEncode** | 同上,额外支持 LoRA 加载(如 `<lora:...>`)和 LBW 语法 |
### 3.14 Regional Sampling区域采样
| 节点 | 功能 |
|:---|:---|
| **RegionalPrompt** | 将 mask 与采样器绑定为 REGIONAL_PROMPTS |
| **CombineRegionalPrompts** | 合并多个 REGIONAL_PROMPTS |
| **RegionalSampler** | 基础采样器 + 区域提示分步采样(支持 overlap_factor 混合) |
| **RegionalSamplerAdvanced** | 高级版,支持按 step 控制 |
### 3.15 Impact KSampler
| 节点 | 功能 |
|:---|:---|
| **KSampler (pipe)** | pipe 版 KSampler |
| **KSampler (advanced/pipe)** | pipe 版 KSamplerAdvanced |
| **GITSScheduler Func Provider** | 为 GITSScheduler 提供调度函数 |
| **Impact Scheduler Adapter** | 解决 scheduler widget 转 input 后的兼容问题 |
### 3.16 Batch / List 工具
| 节点 | 功能 |
|:---|:---|
| **Image Batch to Image List / Image List to Image Batch** | 图像批次与列表互转 |
| **Make Image List / Make Image Batch** | 多图像合成列表/批次 |
| **Masks to Mask List / Mask List to Masks / Make Mask List / Make Mask Batch** | Mask 版本同上 |
| **Flatten Mask Batch** | 将 Mask 批次压平为单个 Mask |
| **Make List (Any)** | 创建任意值列表 |
| **Select Nth Item (Any list)** | 选择列表第 N 项(越界返回最后一项) |
### 3.17 Logics实验性逻辑控制
| 节点 | 功能 |
|:---|:---|
| **ImpactCompare / ImpactConditionalBranch / ImpactConditionalBranchSelMode** | 条件分支 |
| **ImpactInt / ImpactBoolean / ImpactMinMax / ImpactNeg** | 基础运算 |
| **ImpactValueSender / ImpactValueReceiver** | 值收发 |
| **ImpactImageInfo** | 获取图像信息 |
| **ImpactIsNotEmptySEGS / ImpactIfNone** | 空值/None 判断 |
| **Queue Trigger / Queue Trigger (Countdown)** | 自动插入队列(循环辅助) |
| **Sleep** | 等待指定秒数 |
| **Set Widget Value** | 设置指定节点的 widget 值 |
| **Set Mute State** | 设置指定节点的 mute 状态 |
| **Control Bridge** | 根据 mode/behavior 修改控制节点状态并插入新队列 |
| **Remote Boolean / Remote Int (on prompt)** | 在 prompt 开始时强制设置指定 node_id 的 widget 值 |
### 3.18 HuggingFace 节点
| 节点 | 功能 |
|:---|:---|
| **HF Transformers Classifier Provider** | 加载 HuggingFace transformers 分类模型 |
| **SEGS Classify** | 利用分类器对 SEGS 进行分类过滤(支持 `label > number` 表达式) |
### 3.19 其他节点
| 节点 | 功能 |
|:---|:---|
| **Impact Scheduler Adapter** | scheduler 间接连接适配器 |
| **StringListToString** | 字符串列表转字符串 |
| **WildcardPromptFromString** | 从字符串创建带标签的 wildcard配合 MakeTileSEGS |
| **String Selector** | 选择字符串的某部分(支持 `#` 分隔的多行模式) |
| **Combine Conditionings / Concat Conditionings** | Conditioning 合并/拼接 |
| **Negative Cond Placeholder** | FLUX.1 等无 Negative Conditioning 模型的占位符 |
| **Execution Order Controller** | 强制控制节点执行顺序 |
| **List Bridge** | 确保列表数据在转发前已收集完成 |
### 3.20 交互式功能(非节点)
| 功能 | 说明 |
|:---|:---|
| **Interactive SAM Detector (Clipspace)** | 右键含 MASK 和 IMAGE 输出的节点 → `Open in SAM Detector``Impact SAM Detector`,交互式生成 SAM Mask |
| **模型混用检测** | 自动检测并报告 SDXL Base/Refiner/SD1.x/SD2.x 模型与 clip 混用错误 |
---
## 4. rgthree-comfy
**作者**: rgthree
**仓库**: https://github.com/rgthree/rgthree-comfy
**定位**: 让 ComfyUI 更舒适的综合优化包,提供大量实用节点和全局体验改进。
### 4.1 核心节点
| 节点 | 功能 | 亮点 |
|:---|:---|:---|
| **Seed** | 直观的种子控制(类似 A1111 | 支持 -1 随机、固定值、-2/-3 递增递减;图像元数据可存储种子 |
| **Reroute** | 改进版路由节点 | 支持多方向、多尺寸、可调整宽高和连接布局 |
| **Bookmark (🔖)** | 画布书签导航 | 按快捷键瞬间跳转到指定位置,支持自定义 zoom 级别和多键组合 |
| **Context / Context Big** | 通用数据流管道 | 将 model/clip/vae/conditioning/image 等打包传递Context 与 Context Big 互相兼容;支持 Ctrl+拖拽自动连接 |
| **Image Comparer** | 图像对比 | 两张图叠加对比,支持 Slide滑动和 Click点击模式 |
| **Image Inset Crop** | 图像内嵌裁剪 | 支持按像素值或百分比裁剪 |
| **Display Any** | 后端文本数据显示 | 执行后显示几乎所有文本数据 |
| **Power Lora Loader** | 多 LoRA 批量加载 | 一键添加多个 LoRA支持独立开关、强度调节、快速排序/删除 |
| **Power Prompt** | 增强提示词输入 | 下拉菜单选择 embeddings/LoRA支持保存提示片段连接 MODEL 可自动解析 `<lora:...>` 标签 |
| **Power Prompt - Simple** | Power Prompt 去 LoRA 版 | 用于 negative prompt |
| **SDXL Power Prompt - Positive / Simple** | SDXL 专用版 | 分离 text_g / text_l 输入 |
| **SDXL Config** | SDXL 参数配置 | 也可用于非 SDXL |
| **Context Switch / Context Switch Big** | 分支选择 | 自动选择第一个非空的 Context 输入,配合 Muter 实现零浪费分支 |
| **Any Switch** | 通用分支选择 | 对任意类型选择第一个非空输入 |
| **Power Primitive** | 原语转换输出 | 输出 STRING/INT/FLOAT/BOOLEAN支持输入类型自动转换 |
| **Power Puter** | 多功能代码解析器 | 多行代码解析输出,支持简单运算(`a + b`)、图像维度提取(`a.shape[2]`)、甚至访问 prompt 中的其他节点数据 |
### 4.2 Mute / Bypass 控制节点
| 节点 | 功能 |
|:---|:---|
| **Fast Muter** | 快速静音面板,一键 toggle 所有连接的节点Mute 模式) |
| **Fast Bypasser** | 同上,但执行 Bypass 而非 Mute |
| **Fast Groups Muter** | 自动收集当前工作流所有 Group一键 Mute/Enable 整个组 |
| **Fast Groups Bypasser** | 同上,但执行 Bypass |
| **Fast Actions Button** | 半自动化按钮,点击时执行预设动作(如 Seed 随机化、使用上次种子);支持快捷键触发 |
| **Node Collector** | 清理 noodle接受任意输入节点并转发建议只连到 Fast Muter/Bypasser |
| **Mute / Bypass Repeater** | 将其 Mute/Bypass/Active 状态分发给所有连接的输入节点(或同组内所有节点) |
| **Mute / Bypass Relay** | 与 Repeater 配合,监听输入节点的状态变化并中继给 Repeater |
| **Random Unmuter** | 队列执行时随机取消静音一个输入(并立即静音回去),用于抽卡分支 |
### 4.3 其他节点
| 节点 | 功能 |
|:---|:---|
| **Label** | 纯视觉浮动标签,支持自定义字体、颜色、背景、角度、透明度;支持 Pin 固定 |
### 4.4 全局改进与功能(非节点)
| 功能 | 说明 |
|:---|:---|
| **Progress Bar** | 顶部极简进度条,显示队列大小、当前执行进度、多步骤节点进度 |
| **Queue Selected Output Nodes** | 右键输出节点 → 仅执行选中输出节点路径,跳过工作流其余部分 |
| **Auto-Nest Subdirectories** | 长 combo 列表(如 Load Checkpoint自动按顶层子目录折叠分组 |
| **Quick Mute/Bypass in Group Headers** | 组标题右上角显示 Mute/Bypass 图标,一键 toggle |
| **Import Individual Node Widgets (Drag & Drop)** | 拖拽历史图像/JSON 时,仅覆盖同 ID 同类型节点的 widgets如只导入 seed 或 prompt |
| **Copy Image** | 右键节点图像 → 复制到剪贴板 |
| **Link Fixer** | 访问 `/rgthree/link_fixer` 检查并修复工作流中的断链;加载工作流时自动检测并控制台报告 |
---
## 5. ComfyUI-KJNodes
**作者**: kijai
**仓库**: https://github.com/kijai/ComfyUI-KJNodes
**定位**: 实用工具、模型优化和体验增强的杂项集合,依赖极少。
### 5.1 Set / Get 节点系统(核心)
KJNodes 的 Set/Get 是 ComfyUI 中替代长 noodle 的经典方案,现已全面升级为 Nodes 2.0 架构。
| 功能 | 说明 |
|:---|:---|
| **SetNode / GetNode** | 将任意类型的数据流虚拟化Set 节点接收输入并命名Get 节点通过同名引用远程获取数据 |
| **子图支持 (Subgraph)** | Set 节点在父图中可见于所有子图Get 节点会向上遍历祖先图查找匹配的 Set |
| **Convert link to Set/Get** | 右键任意连线中点 → 转换为 Set/Get 对 |
| **Convert to links** | 右键 Set/Get 节点 → 恢复为直接连线 |
| **Convert outputs to Set/Get** | 批量将选中节点的所有输出转为 Set/Get 对(画布右键菜单或 Ctrl+Shift+S/G |
| **快捷键** | Ctrl+Shift+S添加 Set、Ctrl+Shift+G添加 Get、Ctrl+Shift+L强制显示所有虚拟连线 |
| **Shift+Middle-click** | Shift+中键点击输出槽创建 SetNode点击输入槽创建 GetNode |
| **Add paired GetNode** | 右键 SetNode → 自动添加同名配对的 GetNode |
| **Double-click Get to jump** | 双击 GetNode 自动居中并选中其对应的 SetNode |
| **Show links setting** | never / selected / always 控制虚拟连线显示时机 |
| **Type inference** | Set 节点输入未连接但输出已连接时,自动推断并采用目标类型和颜色 |
| **Paste rename coordination** | 粘贴 Set+Get 对时Get 自动跟随 Set 的重命名 |
### 5.2 其他实用节点
根据仓库描述KJNodes 还包含各类零散的实用工具节点,文档主要在节点描述和 tooltip 中。已知功能包括模型优化相关节点和各类 QoLQuality of Life辅助节点。
---
## 6. cg-use-everywhere (CG Use Everywhere / UE Nodes)
**作者**: chrisgoringe
**仓库**: https://github.com/chrisgoringe/cg-use-everywhere
**定位**: 无线数据广播系统。通过类型自动匹配将数据发送到所有需要它的节点,彻底消除长 noodle。
### 6.1 核心节点
| 节点 | 功能 | 亮点 |
|:---|:---|:---|
| **Anything Everywhere** | 接收一个或多个输入,自动广播到工作流中所有同类型的**未连接、非 widget 输入** | 复杂工作流中可将 MODEL/CLIP/VAE/CONDITIONING 一键分发到所有需要的地方 |
| **Prompts Everywhere** | 专门处理 positive / negative prompt 的双输入广播 | 内置 regex 自动匹配 `prompt/positive``neg/negative`,无需手动命名 |
| **Combo Clone** | 复制指定 widget 的选项列表和名称,用于广播 COMBO下拉菜单类型 | 解决 COMBO 类型无法直接连线的问题 |
### 6.2 Any Node Broadcasting任意节点广播
自 v7.4 起,**任意节点**均可通过右键菜单 `Add UE broadcasting` 开启广播模式。开启后,该节点的所有输出等效于连到了一个隐藏的 `Anything Everywhere` 节点。
- 从 v7.5 起,可精细控制**哪些输出参与广播**per-output granularity
- 广播节点左上角会显示圆圈标识
### 6.3 数据发送控制Restrictions
双击节点 body 或右键菜单可打开限制面板,控制数据只发送到指定位置:
| 限制类型 | 说明 |
|:---|:---|
| **Node title regex** | 正则匹配接收节点的标题 |
| **Input name regex** | 正则匹配接收输入槽的名称 |
| **Group name regex** | 正则匹配接收节点所在组的名称 |
| **Group** | 仅发送到同一组(或不同组)内的节点 |
| **Colour** | 仅发送到同色(或异色)节点 |
| **Repeated Types** | 当多个同类型输入连到 UE 节点时,通过输入槽名称匹配(`match start` / `match end` / `regex match`)来消歧 |
| **Priority** | 手动设置优先级,解决多广播源冲突 |
| **Send To Any** | 允许向 `Any` 类型输入发送数据 |
### 6.4 接收端控制
- **右键节点 → `UE Connectable Inputs`**:绿色条表示该输入可接收 UE 数据
- **`Reject UE links`**:强制拒绝所有 UE 连接
- **Widget 灰显**:当 widget 正通过 UE 接收数据时,该 widget 会变灰(不可编辑)
### 6.5 冲突解决与可视化
| 视觉标识 | 含义 |
|:---|:---|
| 🟢 绿色圆圈 | 广播节点,无额外限制 |
| 🟡 黄色圆圈 | 广播节点,有限制条件 |
| **粗体** 圆圈 | 当前正在发送数据 |
| 黑色光环 + glow | 输入槽可接收 UE 连接 |
| ❌ 红色叉号 | 两个同优先级广播源冲突,该输入未连接 |
| 红色虚拟连线 | 冲突时的候选连接可视化 |
- **画布右键** → 开关 UE 虚拟连线显示
- **Settings** → 控制连线动画形式(移动点 / 脉冲 glow / 两者)
### 6.6 与 KJNodes Set/Get 的对比
| 特性 | KJNodes Set/Get | CG Use Everywhere |
|:---|:---|:---|
| **连接方式** | 命名匹配Set → Get 同名) | 类型自动匹配 + 可选限制 |
| **设置成本** | 需手动创建 Set 和 Get 节点 | 一个节点广播全部 |
| **控制粒度** | 精确到具体连接 | 通过 regex/组/颜色批量控制 |
| **子图支持** | 原生支持子图边界穿透 | 支持子图内广播 |
| **最佳场景** | 需要精确知道数据流向时 | 快速简化复杂工作流(如 MODEL/CLIP/VAE 分发) |
---
## 7. 跨插件协作速查表
| 常见任务 | 推荐节点组合 |
|:---|:---|
| **视频加载 + 抽帧** | VideoHelperSuite `Load Video``Select Every Nth` |
| **第一帧交互式分割** | VideoHelperSuite `Select Images` → SAM2 `Sam2Segmentation`(手绘 mask 或坐标) |
| **全自动分割一切** | SAM2 `Sam2AutoSegmentation` |
| **视频追踪** | SAM2 `Sam2VideoSegmentationAddPoints``Sam2VideoSegmentation` |
| **中途纠正追踪漂移** | 第二个 `Sam2VideoSegmentationAddPoints``prev_inference_state` 链式接入)+ rgthree `Fast Muter` 控制 |
| **检测人脸并增强** | Impact `FaceDetailer` |
| **按 Mask 分区重绘** | Impact `TwoSamplersForMask``RegionalSampler` |
| **多 LoRA 快速切换** | rgthree `Power Lora Loader` + `Fast Muter` |
| **图像对比验收** | rgthree `Image Comparer` |
| **长 noodle 整理** | KJNodes `Set/Get`、rgthree `Context` / `Reroute` 或 cg-use-everywhere `Anything Everywhere` |
| **仅执行部分分支** | rgthree `Queue Selected Output Nodes``Context Switch` + `Fast Muter` |
| **按标签过滤 SEGS** | Impact `SEGS Filter (label)` |
| **批量检测 + 分类** | Impact `Simple Detector (SEGS)``HF Transformers Classifier``SEGS Classify` |
| **视频合成输出** | VideoHelperSuite `Video Combine` |
---
> **使用提示**ComfyUI-Impact-Pack 的许多节点使用通配类型wildcard type实现任意输入/输出连接。在 ComfyUI 官方正式支持动态类型之前,虽然功能正常,但类型校验可能会产生误报的错误信息,可安全忽略。