ComfyUI-Manager

ComfyUI-Manager

ComfyUI扩展管理与工作流分享的多功能工具

ComfyUI-Manager是一款为ComfyUI开发的扩展管理工具。它提供安装、移除、禁用和启用自定义节点的功能,并具备Hub特性和便捷工具,便于访问ComfyUI内的各种信息。此扩展支持自定义节点和模型安装、工作流分享、快照管理和命令行操作等功能,显著提升了ComfyUI的实用性和可扩展性。

ComfyUI自定义节点工作流插件管理AI绘图Github开源项目

ComfyUI管理器

ComfyUI管理器是一个旨在增强ComfyUI可用性的扩展。它提供管理功能来安装、删除、禁用和启用ComfyUI的各种自定义节点。此外,这个扩展还提供了一个集线器功能和便捷功能,以便在ComfyUI中访问广泛的信息。

菜单

注意事项

  • V2.48.1:安全策略已更改。在"正常"安全级别下允许下载列表中的模型。
  • V2.47:安全策略已更改。之前的"正常"现在变为"正常-",而"正常"不再允许高风险功能,即使您的ComfyUI是本地的。
  • V2.37 对在GitHub上活跃超过六个月的账号显示✅标记。
  • V2.33 应用了安全策略。
  • V2.21 添加了cm-cli工具。
  • V2.18到V2.18.3由于严重bug无法正常工作。建议使用这些版本的用户立即更新到V2.18.4。请进入ComfyUI/custom_nodes/ComfyUI-Manager目录并执行git pull来更新。
  • 您可以在ComfyUI节点信息页面上查看所有节点信息。

安装

安装方法1(通用安装方法:仅ComfyUI管理器)

要在现有ComfyUI安装的基础上安装ComfyUI管理器,您可以按以下步骤操作:

  1. 在终端(命令行)中进入ComfyUI/custom_nodes目录
  2. 执行git clone https://github.com/ltdrdata/ComfyUI-Manager.git
  3. 重启ComfyUI

安装方法2(便携版ComfyUI安装方法:仅ComfyUI管理器)

  1. 安装git
  1. 下载scripts/install-manager-for-portable-version.bat到已安装的"ComfyUI_windows_portable"目录中
  2. 双击install-manager-for-portable-version.bat批处理文件

便携式安装

安装方法3(通过comfy-cli安装:同时安装ComfyUI和ComfyUI管理器)

推荐:comfy-cli提供了从命令行管理ComfyUI的各种功能。

  • 先决条件:python 3, git

Windows:

python -m venv venv venv\Scripts\activate pip install comfy-cli comfy install

Linux/OSX:

python -m venv venv . venv/bin/activate pip install comfy-cli comfy install

安装方法4(适用于linux+venv:ComfyUI + ComfyUI管理器)

要在Linux上使用venv环境安装ComfyUI和ComfyUI管理器,您可以按以下步骤操作:

  • 先决条件:python-is-python3, python3-venv, git
  1. 下载scripts/install-comfyui-venv-linux.sh到空安装目录中
  • ComfyUI将安装在指定目录的子目录中,该目录将包含生成的可执行脚本。
  1. chmod +x install-comfyui-venv-linux.sh
  2. ./install-comfyui-venv-linux.sh

安装注意事项

  • 正确做法ComfyUI-Manager文件必须准确位于ComfyUI/custom_nodes/ComfyUI-Manager路径
    • 不建议以压缩文件格式安装。
  • 错误做法:直接解压到ComfyUI/custom_nodes位置,导致管理器内容如__init__.py直接放置在该目录中。
    • 您必须从ComfyUI/custom_nodes中删除所有ComfyUI管理器文件
  • 错误做法:解压后形成如ComfyUI/custom_nodes/ComfyUI-Manager/ComfyUI-Manager的路径。
    • 您必须将ComfyUI/custom_nodes/ComfyUI-Manager/ComfyUI-Manager移动到ComfyUI/custom_nodes/ComfyUI-Manager
  • 错误做法:解压后形成如ComfyUI/custom_nodes/ComfyUI-Manager-main的路径。
    • 在这种情况下,ComfyUI-Manager可能会运行,但不会被ComfyUI-Manager内部识别,无法进行更新。它还有重复安装的风险。
    • 您必须将ComfyUI/custom_nodes/ComfyUI-Manager-main重命名为ComfyUI/custom_nodes/ComfyUI-Manager

您可以通过运行./run_gpu.sh./run_cpu.sh来执行ComfyUI,具体取决于您的系统配置。

Colab笔记本

本仓库提供了Colab笔记本,允许您安装和使用包括ComfyUI管理器在内的ComfyUI。要使用ComfyUI,点击此链接

  • 支持安装ComfyUI
  • 支持基本安装ComfyUI管理器
  • 支持在重启Colab笔记本时自动安装自定义节点的依赖项。

更新日志

  • 2.38 安装自定义节点菜单更改为自定义节点管理器
  • 2.21 添加了cm-cli工具。
  • 2.4 通过双击复制最近节点的连接。
  • 2.2.3 支持组件系统
  • 0.29 添加全部更新功能
  • 0.25 支持db通道
    • 您可以直接在config.ini文件中修改db通道设置。
    • 如果您想维护新的DB通道,请修改channels.list并提交PR。
  • 0.23 支持多选
  • 0.18.1 添加了跳过更新检查功能。
    • 在更新检查耗时较长的环境中快速打开窗口的功能。
  • 0.17.1 修复了web扩展的启用/禁用不起作用的问题。为StableSwarmUI添加了兼容性补丁。
    • 需要最新版本的ComfyUI(修订版:1240)
  • 0.17 支持预览方法设置功能。
  • 0.14 支持强大的更新。
  • 0.13 支持安装规范中的额外'pip'部分。
  • 0.12 更好地支持Windows安装。
  • 0.9 在安装程序菜单中支持关键词搜索。
  • V0.7.1 修复了Windows上更新不应用的问题。
    • 对于一直使用0.6版本的用户,请在custom_nodes/ComfyUI-Manager目录中手动执行git pull。
  • V0.7 为解决列表刷新缓慢的问题,分离了获取更新和更新检查过程。
  • V0.6 支持缺失节点的扩展安装。
  • V0.5 移除了外部git程序依赖。

使用方法

  1. 点击主菜单上的"管理器"按钮

    主菜单

  2. 如果点击"安装自定义节点"或"安装模型",将打开安装程序对话框。

    菜单

    • 有三种DB模式:"DB:通道(1天缓存)"、"DB:本地"和"DB:通道(远程)"。

      • "通道(1天缓存)"利用有效期为一天的通道缓存信息快速显示列表。
        • 当没有缓存、缓存过期或通过通道(远程)检索外部信息时,此信息将更新。
        • 每次重新启动ComfyUI时,此模式始终设置为默认模式。
      • "本地"使用ComfyUI管理器本地存储的信息。
        • 此信息仅在更新ComfyUI管理器时更新。
        • 对于自定义节点开发者,在custom-node-list.json中注册节点并测试时应使用此模式。
      • "通道(远程)"从远程通道检索信息,始终显示最新列表。
      • 如果由于网络错误无法检索,将强制使用本地信息。
    • "获取更新"菜单在本地检索自定义节点的更新数据。实际更新通过点击"安装自定义节点"菜单中的"更新"按钮应用。

  3. 点击"安装"或"尝试安装"按钮。

    节点安装对话框

    模型安装对话框

    • 已安装:此项目已经安装。

    • 安装:点击此按钮将安装该项目。

    • 尝试安装:这是无法确认安装信息的自定义节点。点击按钮尝试安装。

    • 如果顶部出现红色背景的"通道"指示器,表示不是默认通道。由于所持信息量与默认通道不同,在这种通道状态下可能会有许多自定义节点不显示。

      • 通道设置影响广泛,不仅影响节点列表,还影响"全部更新"等所有功能。
    • 带有黄色背景的冲突节点显示了各扩展中与其他扩展冲突的节点列表。这个问题需要开发者解决,用户应该意识到由于这些冲突,某些节点可能无法正常工作,可能需要相应安装。

  4. 如果您在菜单中将"Badge:"项设置为"Badge: 昵称"、"Badge: 昵称(隐藏内置)"、"Badge: #ID 昵称"或"Badge: #ID 昵称(隐藏内置)",信息标签将显示在节点上。

    • 选择(隐藏内置)时,会隐藏表示内置节点的🦊图标。
      • 标签上没有任何标识的节点是管理器无法识别的自定义节点。
    • "Badge: 昵称"显示自定义节点的昵称,而"Badge: #ID 昵称"还包括节点的内部ID。

    模型安装对话框

  5. 分享 菜单 分享

菜单

  • 通过管理器菜单中的"分享设置",您可以配置主菜单中"分享"按钮或上下文菜单中"分享输出"按钮的行为。
    • "无":在主菜单中隐藏
    • "全部":显示一个对话框,用户可以为分享选择标题。

快照管理器

  • 当您按下"保存快照"或在"管理器菜单"中使用"更新全部"时,当前安装状态的快照将被保存。
    • 快照文件目录:ComfyUI-Manager/snapshots
    • 您可以重命名快照文件。
  • 按下"还原"按钮可以恢复到相应快照的安装状态。
    • 然而,对于不由Git管理的自定义节点,快照支持是不完整的。
  • 当您按下"还原"时,它将在下次ComfyUI启动时生效。
    • 所选快照文件保存在ComfyUI-Manager/startup-scripts/restore-snapshot.json中,重启ComfyUI时,快照将被应用并随后删除。

模型安装对话框

cm-cli:高级用户命令行工具

  • 提供了一个工具,允许您在不运行ComfyUI的情况下使用ComfyUI-Manager的功能。
  • 更多详情,请参阅cm-cli文档

如何将您的自定义节点注册到ComfyUI-Manager中

  • 在ComfyUI-Manager根目录下的custom-node-list.json中添加一个条目,并提交Pull Request。
  • 注意:在提交PR之前,请检查"使用本地数据库"并确保在"安装自定义节点"对话框中扩展列表加载没有任何问题。有时,缺少或多余的逗号可能导致JSON语法错误。
  • 其余的JSON将通过脚本在未来更新,所以您不需要担心。

自定义节点支持指南

  • 目前,系统通过克隆git仓库并使用pip按顺序安装requirements.txt中列出的依赖项,然后调用install.py脚本来运行。未来,我们计划讨论并确定支持自定义节点的规范。

  • 请提交pull request更新custom-node-list.json或model-list.json文件。

  • 扫描器目前提供了一个缺失节点的检测功能,能够检测以下两种模式描述的节点。

    • 或者您可以手动提供node_list.json文件。
NODE_CLASS_MAPPINGS = {
    "ExecutionSwitch": ExecutionSwitch,
    "ExecutionBlocker": ExecutionBlocker,
    ...
}

NODE_CLASS_MAPPINGS.update({
    "UniFormer-SemSegPreprocessor": Uniformer_SemSegPreprocessor,
    "SemSegPreprocessor": Uniformer_SemSegPreprocessor,
})
  • 当您在Node的.py文件头部编写如下docstring时,它将用于管理器中的数据库管理。
    • 目前,只有"nickname"正在使用,但其他部分将来也会被利用。
    • "nickname"将是节点标签上显示的名称。
    • 如果没有"nickname",将从任意写的标题中截取20个字符并使用。
"""
@author: Dr.Lt.Data
@title: Impact Pack
@nickname: Impact Pack
@description: 这个扩展提供了各种检测器节点和细化器节点,允许您配置一个自动增强面部细节的工作流程。并提供迭代式放大器。
"""
  • 特殊用途文件(可选)
    • node_list.json - 当您的自定义节点的NODE_CLASS_MAPPINGS模式不常规时,用于手动提供节点列表供参考。(示例
    • requirements.txt - 安装时,这些pip要求将自动安装
    • install.py - 安装时自动调用
    • uninstall.py - 卸载时自动调用
    • disable.py - 禁用时自动调用
      • 安装自定义节点设置.js文件时,建议编写此脚本以进行禁用。
    • enable.py - 启用时自动调用
    • 所有脚本都从相应自定义节点的根路径执行。

组件共享

  • 复制和粘贴

    • 演示页面
    • 从剪贴板粘贴组件时,支持以下JSON格式的文本。(text/plain)
      {
        "kind": "ComfyUI Components",
        "timestamp": <当前时间戳>,
        "components": 
          {
            <组件名称>: <组件节点数据>
          }
      }
      
    • <当前时间戳> 确保时间戳始终是唯一的。
      • "components"应具有与存储在ComfyUI-Manager/components中的文件内容相同的结构。
        • <组件名称>:名称应采用<前缀>::<节点名称>的格式。
          • <组件节点数据>:在组节点的节点数据中。
            • <version>:只允许两种格式:major.minor.patchmajor.minor。(例如1.02.2.1
            • <datetime>:保存时间
            • <packname>:如果packname不为空,类别变为packname/workflow,并保存在ComfyUI-Manager/components中的<packname>.pack文件中。
            • <category>:如果既没有类别也没有packname,则保存在components类别中。
                "version":"1.0",
                "datetime": 1705390656516,
                "packname": "mypack",
                "category": "util/pipe",
            
  • 拖放

    • 拖放.pack.json文件将添加相应的组件。
    • 示例包:Impact.pack
  • 拖放或粘贴单个组件将添加一个节点。但是,添加多个组件时,不会添加节点。

支持安装缺失节点

缺失菜单

  • 当您点击菜单中的"安装缺失的自定义节点"按钮时,它会显示一个包含工作流中当前不存在的节点的扩展节点列表。

缺失列表

附加功能

  • 文件记录功能

    • 此功能默认启用,可以通过在config.ini中设置file_logging = False来禁用。
  • 修复节点(重新创建):右键单击节点并选择"修复节点(重新创建)"时,可以重新创建节点。小部件的值会重置,而连接会保留那些具有相同名称的连接。

    • 它用于纠正旧工作流中由于自定义节点版本变更而不兼容的节点错误。
  • 双击节点标题:您可以在ComfyUI-Manager菜单中设置节点的双击行为。

    • "复制所有连接","复制输入连接":双击节点复制最近节点的连接。
      • 此操作针对节点中心1000像素直线距离内最近的节点。
      • 对于"复制所有连接",它会复制现有输出,但由于不允许重复连接,原始节点的现有输出连接会断开。
      • 此功能仅复制名称匹配的输入和输出。
    • "可能的输入连接":它连接指定范围内最接近类型的所有输出。
      • 此连接链接到位于目标节点左侧的节点中最近的输出。
    • "可能(左)+复制(右)":当您双击标题的左半部分时,它作为"可能的输入连接"运行,当您双击右半部分时,它作为"复制所有连接"运行。
  • 防止特定包降级

    • config.ini文件的downgrade_blacklist部分列出包名,用逗号分隔。
      • 例如
        downgrade_blacklist = diffusers, kornia
      
  • 自定义pip映射

    • 当您创建pip_overrides.json文件时,它会将特定pip包的安装更改为用户定义的安装。
      • 请参考pip_overrides.json.template文件。
  • 使用aria2作为下载器

扫描器

当您运行scan.sh脚本时:

  • 它会更新extension-node-map.json

    • 为此,它会将custom-node-list.json中列出的自定义节点拉取或克隆到~/.tmp/default中。
    • 要跳过此步骤,请添加--skip-update选项。
    • 如果您想指定一个不同于~/.tmp/default的路径,请直接运行python scanner.py [path]而不是scan.sh
  • 它会更新 github-stats.json

    • 这使用 GitHub API,所以请通过 export GITHUB_TOKEN=your_token_here 设置你的令牌,以避免快速达到速率限制并导致功能失效。
    • 要跳过这一步,请添加 --skip-update-stat 选项。
  • --skip-all 选项同时应用 --skip-update--skip-stat-update

故障排除

  • 如果你的 git.exe 安装在系统 git 以外的特定位置,请安装 ComfyUI-Manager 并运行 ComfyUI。然后,在生成的 ComfyUI-Manager/config.ini 文件中的 git_exe = 处指定包含文件名的路径。
  • 如果更新 ComfyUI-Manager 本身失败,请进入 ComfyUI-Manager 目录并执行命令 git update-ref refs/remotes/origin/main a361cc1 && git fetch --all && git pull
  • 或者,从 update-fix.py 下载 update-fix.py 脚本并将其放在 ComfyUI-Manager 目录中。然后使用你的 Python 命令运行它。 对于便携版,使用 ..\..\..\python_embeded\python.exe update-fix.py
  • 对于像 ComfyUI_Custom_Nodes_AlekPet 中的 PreviewTextNode 这样只支持作为前端节点的情况,我们目前不提供缺失节点。
  • 目前,vid2vid 没有更新,导致兼容性问题。
  • 如果在 Windows 下遇到错误消息 Overlapped Object has pending operation at deallocation on Comfyui Manager load
    • 编辑 config.ini 文件:添加 windows_selector_event_loop_policy = True
  • 如果出现 SSL: CERTIFICATE_VERIFY_FAILED 错误
    • 编辑 config.ini 文件:添加 bypass_ssl = True

安全策略

  • 编辑 config.ini 文件:添加 security_level = <LEVEL>
    • strong
      • 不允许 highmiddle 级别的风险功能
    • normal
      • 不允许 high 级别的风险功能
      • middle 级别的风险功能可用
    • normal-
      • 如果指定了 --listen 且不以 127. 开头,则不允许 high 级别的风险功能
      • middle 级别的风险功能可用
    • weak
      • 所有功能都可用
  • high 级别的风险功能
    • 通过 git url 安装pip install
    • 安装未在 默认渠道 注册的自定义节点
    • 显示终端日志
  • middle 级别的风险功能
    • 卸载/更新/修复自定义节点
    • 安装在 默认渠道 注册的自定义节点
    • 恢复/删除快照
    • 重启
  • low 级别的风险功能
    • 更新 ComfyUI

待办:非常规形式的自定义节点列表

[列出了一系列 GitHub 仓库链接,省略翻译]

路线图

  • 显示自定义节点导入失败信息的系统。
  • ComfyUI 原生节点缺失指南。
  • 跨扩展相同 ID 节点的冲突检查系统。
  • 模板共享系统。(-> 基于组节点的组件系统)
  • 第三方 API 系统。
  • 结构变更的自定义节点自动迁移。
  • 节点的版本控制功能。
  • 当前使用的自定义节点列表。
  • 下载支持多模型下载。
  • 通过 URL 下载模型。
  • 列表排序(自定义节点)。
  • 列表排序(模型)。
  • 提供节点描述。

免责声明

  • 此扩展仅提供安装自定义节点的便利,不保证它们能正常运行。

致谢

ComfyUI/ComfyUI - 一个强大且模块化的稳定扩散 GUI。

以及所有 ComfyUI 自定义节点开发者

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多