ComfyUI-DAELab-Custom-Nodes-Library
A DAELab-maintained custom node library for ComfyUI providing boolean hierarchy management, SAM3 prompt rerouting, polygon masking, and Seedream workflow support. (Description by CC)
Nodes (11)
The LoadImage that knows when it's been switched off
A wire tidier for SAM3 box prompts, and not much else
Flip a group's Bypass from a switch
64 switches in one node, saved right into your workflow
Switches with a family tree
Reuse a branch without dragging a wire
Every GPT Image node's settings, one knob panel
Draw shapes on any image, get a real mask out the back
The settings hub that never touches a pixel
Bbox and click prompts, one tabbed node
Assemble, don't type, your render prompt
ComfyUI-DAELab-Custom-Nodes-Library
DAELab 维护的 ComfyUI 自定义节点库。
维护指南
- 多人协作请先阅读 Contributor Action List。
- 后续新增节点请先阅读 新增节点维护指南。
- 可从 新节点模板 复制基础结构。
- README 和文档统一使用 UTF-8 编码;节点截图、流程图放在对应节点目录的
assets/下。
节点列表
| 节点 ID | 显示名称 | 说明 |
| --- | --- | --- |
| BooleanList | Boolean List | 动态维护多组布尔输出。 |
| BooleanListHierarchy | Boolean List Hierarchy | 维护最多 64 个带三层祖先级联、同层互斥组、跨分支 AND 依赖和稳定 ID 的布尔输出。 |
| BooleanListHierarchyGet | Boolean List Hierarchy Get | 无连线选择 Hierarchy 的 Root 分支,并自动生成该分支的 Bool 输出。 |
| BooleanGroupBypassController | Boolean Group Bypass Controller | 将 Hierarchy 或 Hierarchy Get 的指定 Bool 映射为可视节点组状态,并支持与 Boolean 祖先关系一致的嵌套 Bypass 合成。 |
| SeedreamExhibitionPromptBuilder | Seedream Exhibition Prompt Builder | 面向 Seedream 5.0 Pro 展厅写实渲染工作流,按主题、参考图用途、语义色彩和布尔条件生成分段提示词。 |
| GPTImage2Config | GPT Image2 Config | 集中输出 gpt-image-2 的预设尺寸、背景和质量参数;应用构建模式下以一个组合输入统一开关。 |
| RMBGConfig | RMBG Config | 集中输出 RMBG 遮罩提取节点的背景类型和背景颜色;应用构建模式下以一个组合输入统一开关。 |
| AppModeLoadImage | Load Image (App Mode) | 继承原生图片上传、加载与 Mask 输出,并在 Bypass 时同步折叠应用面板输入。 |
| BBoxPromptReroute | BBox Prompt Reroute | 转接正向/负向 SAM3 框 prompt,仅整理工作流连线。 |
| PolygonMask | Polygon Mask | 接收外部 IMAGE socket,隔离复制工作流的多边形状态与执行预览,并输出叠加图、原图尺寸黑白 raw_mask 和面板多行文本。 |
| SAM3ComplexCollector | SAM3 Complex Collector | 集 BBox 与交互式 collector 于一体,支持节点内独立 Run、会话缓存和增量分割。 |
目录结构
ComfyUI-DAELab-Custom-Nodes-Library/
__init__.py
nodes/
boolean_list/
node.py
README.md
assets/
boolean_list_hierarchy/
node.py
README.md
boolean_list_hierarchy_get/
node.py
README.md
boolean_group_bypass_controller/
node.py
README.md
seedream_exhibition_prompt_builder/
node.py
README.md
gpt_image2_config/
node.py
README.md
rmbg_config/
node.py
README.md
app_mode_load_image/
node.py
README.md
bbox_prompt_reroute/
node.py
README.md
assets/
polygon_mask/
node.py
README.md
sam3_complex_collector/
node.py
README.md
_shared_sam3.py
templates/
new_node/
web/
app_mode_bypass.js
app_mode_bypass_model.mjs
boolean_list.js
boolean_list_hierarchy.js
boolean_list_hierarchy_model.mjs
boolean_list_hierarchy_get.js
boolean_list_hierarchy_get_model.mjs
boolean_group_bypass_controller.js
boolean_group_bypass_controller_model.mjs
gpt_image2_config.js
gpt_image2_config_panel.mjs
prompt_preset.js
bbox_loader.js
polygon_mask.js
polygon_mask_app_mode_load_image_compat.js
polygon_mask_connection.mjs
polygon_mask_image_state.mjs
polygon_mask_panel.mjs
polygon_mask_state.mjs
rmbg_config.js
rmbg_config_panel.mjs
sam3_complex_collector.js
prompt_preset_model.mjs
styles.json
thumbs/
tests/
提示词节点
SeedreamExhibitionPromptBuilder 是面向 Seedream 5.0 Pro 的展厅提示词节点,复用 web/styles.json 和 web/prompt_preset.js 的缩略图选择器,节点输入在前端统一显示中文标签。base_prompt 始终作为基础输入并显示在面板顶部;模板模式在其后按目标、参考约束、人物要求、设计材质、配色、灯光摄影组织段落。Color Picker 输入会同时输出自然语言色彩语义和标准化 #RRGGBB。应用构建模式可把缩略图至“附加细节描述”合并为一个“提示词模板”面板,并由 use_theme_template 控制最终应用中的整组显隐。
交互式节点
Boolean List Hierarchy使用稳定条目 ID 保存连线,支持 Root、子项、孙项、同父项互斥组、跨分支多前置依赖、整棵子树排序、缩进、提升和递归级联删除。Boolean List Hierarchy Get无需连接来源节点,可选择一个 Root 分支并自动同步该分支的输出及其跨分支依赖上下文。Boolean Group Bypass Controller是前端虚拟控制器,不参与正常 API Prompt;它支持 Hierarchy 与 Hierarchy Get 双来源,并允许父 Bool 的外层组与子 Bool 的内层组按 Bypass 优先规则安全合成。Polygon Mask可直接读取当前工作流中相连Load Image的选择;其他图像来源先接收不会覆盖持久状态的执行预览,再由Apply Preview明确应用。换图会保留有效 Polygon,并在分辨率变化时按宽高比例缩放顶点。SAM3 Complex Collector的首次Run会只执行必要的上游依赖和 collector 以建立缓存,后续可在不执行下游节点的情况下更新当前交互式 prompt 或全部 BBox prompt 的预览。
应用构建模式
web/app_mode_bypass.js统一监听本库节点的 Active、Bypass、Mute 等模式,并折叠最终应用中属于非正常执行节点的输入项;恢复 Active 后会恢复原面板状态。GPTImage2Config、RMBGConfig、PolygonMask和SeedreamExhibitionPromptBuilder会把同一用途的多个原生 widget 折叠成稳定的组合面板输入,旧工作流中分散暴露的成员会在加载时迁移。AppModeLoadImage保留原生LoadImage的上传、Mask 和缓存语义,同时参与应用输入的 Bypass 显隐;polygon_mask_app_mode_load_image_compat.js负责让 Polygon Mask 正确识别该节点。- 普通工作流画布仍保留原生 socket、widget 和序列化键;组合面板只改变应用构建器中的呈现方式,不改变后端输入名称。
依赖与交付
- 请复制或克隆整个仓库目录,不要只复制单个
nodes/<name>/子目录;根__init__.py负责节点注册,WEB_DIRECTORY = "./web"负责加载组合面板、缩略图和交互脚本。 - 本仓库没有独立
requirements.txt。Python 依赖来自 ComfyUI Core,包括comfy_api.latest、PyTorch、NumPy、Pillow 和 aiohttp;其中展厅提示词及两个 Config 节点不下载模型,也不直接调用外部 API。 - V3 节点要求接收方的 ComfyUI 提供
comfy_api.latest。若启动日志出现No module named 'comfy_api',应更新 ComfyUI Core,而不是单独安装同名 pip 包。 comfyui-sam3是 SAM3 Collector 的可选软依赖;不使用 SAM3 节点时,不影响提示词、Config、Polygon Mask 或 App Mode Load Image。- 完整展厅工作流中的 OpenAI、RMBG、SAM3 等生成或分割节点仍需各自的 Custom Nodes、模型、API 凭证及网络条件,这些不属于本库配置节点本身的运行依赖。
测试
仓库同时包含 Python 后端测试和 Node.js 前端纯逻辑测试:
python -m unittest discover -s tests -p "test_*.py"
node --test tests/*.test.mjs
完整编译检查请在 ComfyUI 根目录执行:
.\.venv\Scripts\python.exe -m compileall .\custom_nodes\ComfyUI-DAELab-Custom-Nodes-Library
安装
将仓库克隆到 ComfyUI 的 custom_nodes 目录:
cd <ComfyUI>\custom_nodes
git clone https://github.com/TeutonicMepheles/ComfyUI-DAELab-Custom-Nodes-Library.git
安装后重启 ComfyUI。
更新
在仓库目录中执行:
cd <ComfyUI>\custom_nodes\ComfyUI-DAELab-Custom-Nodes-Library
git pull
更新后建议重启 ComfyUI,确保前端脚本和节点定义重新加载。
注意事项
- 节点 ID 保持稳定,用于兼容已有工作流。
- 仓库按“每个节点一个目录”的方式组织后端代码和节点说明文档。
- 不要同时启用旧的分散节点目录,否则可能出现重复节点 ID。
- 前端资源集中放在
web/下,以保持 ComfyUI 的WEB_DIRECTORY加载方式稳定。