Skip to main content
自定义节点允许你实现新功能,并与更广泛的社区分享。 自定义节点与任何 Comfy 节点一样:接收输入,对其进行处理,并产生输出。虽然有些自定义节点执行高度复杂的任务,但许多节点只做一件事。下面是一个简单节点的示例,它接收图像并将其反转。 Unique Images Node 自定义节点示例: 如果你使用 Claude Code 进行开发,ComfyUI Custom Node Skills 为 Claude 提供有关 ComfyUI 节点系统的全面知识,涵盖 V3 和 V1 API。你可以从 Claude Code 市场安装它,或添加仓库 URL,即可获得 9 项技能,涵盖节点基础、输入、输出、数据类型、高级模式、前端扩展和打包。

客户端-服务器模型

Comfy 采用客户端-服务器模型运行。服务器端使用 Python 编写,负责所有实际工作:数据处理、模型、图像扩散等。客户端使用 JavaScript 编写,负责用户界面。 Comfy 还可以通过 API 模式使用,在此模式下,工作流由非 Comfy 客户端(例如其他 UI 或命令行脚本)发送到服务器。 自定义节点可分为以下四类:

仅服务器端

大多数自定义节点仅在服务器端运行,通过定义一个 Python 类来指定输入和输出类型,并提供可调用的函数来处理输入并生成输出。

仅客户端

少数自定义节点只对客户端 UI 进行修改,但不会增加核心功能。尽管名称如此,它们甚至可能不会向系统添加新节点。

独立的客户端和服务器

自定义节点可以提供额外的服务器功能,以及额外的(相关)UI 功能(例如用于处理新数据类型的新组件)。在大多数情况下,客户端与服务器之间的通信可以由 Comfy 的数据流控制来处理。

连接式客户端和服务器

在少数情况下,UI 功能与服务器需要直接相互交互。
任何需要客户端-服务器通信的节点都无法兼容通过 API 使用。

后续步骤

快速入门

逐步构建并注册一个可用的自定义节点。

Python(后端)

节点类的约定:属性、输入、返回类型。

JavaScript(UI)

从你的节点包扩展 ComfyUI 前端。

打包与发布

将你的节点发布到 Comfy Registry。