diff --git a/.claudian/sessions/conv-1776871296744-2ksok7n1u.meta.json b/.claudian/sessions/conv-1776871296744-2ksok7n1u.meta.json index 007a138..d91601b 100644 --- a/.claudian/sessions/conv-1776871296744-2ksok7n1u.meta.json +++ b/.claudian/sessions/conv-1776871296744-2ksok7n1u.meta.json @@ -4,8 +4,8 @@ "title": "Design ComfyUI video segmentation and tracking", "titleGenerationStatus": "success", "createdAt": 1776871296744, - "updatedAt": 1777007031552, - "lastResponseAt": 1777007031552, + "updatedAt": 1777009655147, + "lastResponseAt": 1777009655147, "sessionId": "50e1c568-9493-4c86-8ca1-1f50b0f2e724", "providerState": { "providerSessionId": "50e1c568-9493-4c86-8ca1-1f50b0f2e724" @@ -15,12 +15,12 @@ ], "usage": { "model": "kimi-for-coding", - "inputTokens": 88635, + "inputTokens": 126204, "cacheCreationInputTokens": 0, "cacheReadInputTokens": 0, "contextWindow": 200000, - "contextTokens": 88635, - "percentage": 44, + "contextTokens": 126204, + "percentage": 63, "contextWindowIsAuthoritative": true } } \ No newline at end of file diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index e1d7d5f..aacfb1e 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -179,7 +179,7 @@ } ], "direction": "horizontal", - "width": 241.5 + "width": 427.5 }, "left-ribbon": { "hiddenItems": { @@ -195,8 +195,9 @@ "obsidian-excalidraw-plugin:新建绘图文件": false } }, - "active": "cf6ed9a83174d6d5", + "active": "98c4d568edb73698", "lastOpenFiles": [ + "自动语义分割系统/插件功能大全.md", "自动语义分割系统/安装步骤.md", "自动语义分割系统/系统设计.md", "自动语义分割系统/ComfyUI 搭建操作指南.md", diff --git a/自动语义分割系统/插件功能大全.md b/自动语义分割系统/插件功能大全.md new file mode 100644 index 0000000..45a09b2 --- /dev/null +++ b/自动语义分割系统/插件功能大全.md @@ -0,0 +1,472 @@ +--- +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 转 SEGS(AnimateDiff 兼容) | +| **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_sampler,mask=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 加载(如 ``)和 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 可自动解析 `` 标签 | +| **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 中。已知功能包括模型优化相关节点和各类 QoL(Quality of Life)辅助节点。 + +--- + +## 6. 跨插件协作速查表 + +| 常见任务 | 推荐节点组合 | +|:---|:---| +| **视频加载 + 抽帧** | 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` | +| **仅执行部分分支** | 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 官方正式支持动态类型之前,虽然功能正常,但类型校验可能会产生误报的错误信息,可安全忽略。