Project Icon

ComfyUI-Manager

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

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

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中的.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 自定义节点开发者

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号