跳转到主要内容

关于自定义节点

当你在安装了 ComfyUI 后,你将会发现 ComfyUI 中已经包含了许多节点,这些原生的节点称为 Comfy Core 节点,这些节点都是由 ComfyUI 官方维护的。 此外还有许多来自 ComfyUI 社区的众多作者带来的各种各样的 自定义节点,这些自定义节点为 ComfyUI 带来了诸多的扩展功能,大大扩展了 ComfyUI 的功能和能力边界。 在本指南中,我们将介绍如何自定义节点相关的一些操作,包括安装、更新、禁用、卸载、依赖安装等。 每个人都可以开发自己的自定义的扩展功能到 ComfyUI 中,并分享给其他人使用,你可以在这里找到许多来自社区的自定义节点,如果你想要开发自己的自定义节点请访问下面的部分开始:

开始开发自定义节点

了解如何开始开发一个自定义节点

自定义节点管理

在这个部分我们将讲解:
  • 安装自定义节点
  • 安装节点依赖
  • 自定义节点版本控制
  • 卸载自定义节点
  • 临时禁用自定义节点
  • 处理自定义节点依赖冲突

1. 安装自定义节点

目前 ComfyUI 支持通过多种方式安装自定义节点,包括:
  • [通过 ComfyUI Manager 安装(推荐)](#通过 ComfyUI Manager 安装)
  • 通过 Git 安装
  • 手动安装
我们推荐通过 ComfyUI Manager 来安装自定义节点,这是一个在 ComfyUI 自定义节点生态中具有非常重要意义的一个工具,它使得自定义节点管理(如搜索、安装、更新、禁用和卸载)变得简单,你只需要在 ComfyUI Manager 中搜索你想要安装的节点,然后点击安装即可。 但由于目前所有的自定义节点都是存储在 GitHub 上,所以在本篇针对于某些无法正常访问 GitHub 的的地区,我们在本篇撰写了详尽的不同的自定义节点的安装方式。 另外由于我们推荐使用 ComfyUI Manager 进行对应的插件管理,我们推荐使用这一工具来进行插件的管理,你可以在这里找到它的源码。 所以在本篇文档中,我们将会使用安装 ComfyUI Manager 作为自定义节点安装示例,并在本篇的相关介绍部分补充如何使用它来进行节点的管理。
  • 通过 ComfyUI Manager 安装
  • 通过 Git 安装
  • 手动安装
由于 ComfyUI Manager 的功能非常丰富,所在在这里我们将对应的通过 ComfyUI Manager 章节单独使用一篇文档来介绍,请访问下面的链接来了解如何使用 ComfyUI Manager 来安装自定义节点。

ComfyUI Manager 安装自定义节点

了解如何使用 ComfyUI Manager 安装自定义节点

2. 安装节点依赖

自定义节点都需要进行相关的依赖的安装,比如对于 ComfyUI-Manager 来说,你可以访问requirements.txt 文件来查看对应的依赖包的要求, 在之前的步骤中,我们仅仅是把对应的自定义节点代码克隆到了本地,并没有安装对应的依赖,所以接下来我们需要安装对应的依赖。
实际上,如果你使用的是 ComfyUI-Manager 来安装插件的话,ComfyUI Manager 会自动帮你完成对应的依赖安装,你只需要在安装插件后,重启 ComfyUI 即可,这也是为什么我们极力推荐使用 ComfyUI Manager 来安装自定义节点。但也许你会在某些情况下无法顺利使用 ComfyUI Manager 来安装自定义节点,所以我们提供了这部分较为详细的依赖安装说明。
在关于依赖关系章节中,我们介绍了 ComfyUI 中依赖关系的相关内容,ComfyUI 是一个基于 Python 的项目,我们构建了一个用于运行 ComfyUI 的独立 Python 运行环境,所有的相关依赖都需要被安装在在这个独立的 Python 运行环境中。 如果你直接在系统级的终端运行 pip install -r requirements.txt,对应的依赖可能会被安装到了系统级的 Python 环境中,会导致对应的自定义节点在 ComfyUI 的环境中依赖还是丢失的,导致对应自定义节点无法正常运行。 所以接下来我们需要使用 ComfyUI 的独立 Python 运行环境来完成对应的依赖安装。 依据不同的 ComfyUI 版本我们将使用不同的方式来进行对应的依赖安装,
  • ComfyUI 便携版(Portable)
  • ComfyUI 桌面版
  • 自定义 Python 环境的用户
对于 ComfyUI 便携版(Portable)来说,它使用的是一个嵌入式的 Python ,对应 Python 位于 \ComfyUI_windows_portable\python_embeded 目录下, 我们需要使用对应的 Python 来完成对应的依赖安装。首先先在便携版的目录下启动 terminal 或者启动 terminal 后使用 cd 命令进入到 \ComfyUI_windows_portable\ 目录下启动 terminal确保对应终端的目录为 \ComfyUI_windows_portable\ 目录下,如下图为 D:\ComfyUI_windows_portable\终端然后使用 python_embeded\python.exe 来完成对应的依赖安装。
python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-Manager\requirements.txt
当然你可以把对应的 ComfyUI-Manager 替换为你实际安装的自定义节点名称,但需要确保对应节点目录下的确存在 requirements.txt 文件。

自定义节点版本控制

自定义节点的版本控制,实际上是基于 Git 的版本控制来进行的,你可以通过 Git 来进行对应的节点版本管理,但实际上在 ComfyUI Manager 中已经很好地集成了这一版本管理功能,非常感谢 @Dr.Lt.Data 为我们带来如此便捷的工具。 在这个部分我们依旧会为你讲解这两种不同插件版本管理的方法,但如果你是使用 zip 压缩包进行手动安装的,那么对应的 git 版本历史信息会丢失,会导致你无法进行对应的版本管理。
  • 使用 ComfyUI Manager 进行版本管理
  • 使用 Git 进行版本管理
由于我们正在对 ComfyUI Manager 进行迭代,实际最新的界面和步骤可能会有较大的改变
1

进入节点管理界面

如图进行对应的操作,进入 ComfyUI Manager 的对应界面
2

找到对应自定义节点包

可以使用对应的筛选过滤来过滤出已安装的节点包,然后再进行对应的节点管理
3

进行版本切换

切换到对应的版本,Manager 会帮助你完成对应的依赖更新和安装,通常切换完版本之后你需要重启 ComfyUI 以使更改生效。

卸载自定义节点

待更新

临时禁用自定义节点

待更新

自定义节点依赖冲突

待更新

ComfyUI Manager

ComfyUI 管理器界面 目前在 Desktop 版本 中已默认包含该工具,而在便携(Portable)版中,你需要参考本文档中安装管理器章节中的说明进行安装。
由于随着 ComfyUI 的发展,ComfyUI Manager 在 ComfyUI 中的角色也愈加重要,目前 ComfyUI-Manager 已经正式加入 Comfy Org 组织,正式成为 ComfyUI 核心依赖的一部分,并且由原作者Dr.Lt.Data继续维护,你可以查看这篇博客了解更多信息。 并且在未来迭代中,我们会大大优化 ComfyUI Manager 的使用,所以本文的中使用说明文档的界面,可能会与最新版本的 ComfyUI Manager 界面有所不同。

安装管理器

如果您正在运行 ComfyUI 服务器应用程序,则需要安装管理器。如果 ComfyUI 正在运行,请在继续之前将其关闭。 第一步是安装 Git,这是一个用于软件版本控制的命令行应用程序。Git 将从 github.com 下载 ComfyUI 管理器。从 git-scm.com 下载并安装 Git。 安装 Git 后,导航到 ComfyUI 服务器程序目录,进入标记为 custom_nodes 的文件夹。打开命令窗口或终端。确保命令行显示当前目录路径为 custom_nodes。输入以下命令。这将下载管理器。从技术上讲,这被称为 克隆 Git 仓库

检测缺失的节点

在安装管理器后,你可以在管理器中检测到缺失的节点。 ComfyUI 管理器界面

开发一个自定义节点

如果你具有一定的开发能力,请从下面的文档开始以了解如何开始开发一个自定义节点。

开始开发自定义节点

了解如何开始开发一个自定义节点
I