ltdrdata / ComfyUI-Manager

ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various custom nodes of ComfyUI. Furthermore, this extension provides a hub feature and convenience functions to access a wide range of information within ComfyUI.
GNU General Public License v3.0
4.54k stars 558 forks source link

ComfyUI Manager

ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various custom nodes of ComfyUI. Furthermore, this extension provides a hub feature and convenience functions to access a wide range of information within ComfyUI.

menu

NOTICE

Installation

Installation[method1] (General installation method: ComfyUI-Manager only)

To install ComfyUI-Manager in addition to an existing installation of ComfyUI, you can follow the following steps:

  1. goto ComfyUI/custom_nodes dir in terminal(cmd)
  2. git clone https://github.com/ltdrdata/ComfyUI-Manager.git
  3. Restart ComfyUI

Installation[method2] (Installation for portable ComfyUI version: ComfyUI-Manager only)

  1. install git
  2. Download scripts/install-manager-for-portable-version.bat into installed "ComfyUI_windows_portable" directory
  3. double click install-manager-for-portable-version.bat batch file

portable-install

Installation[method3] (Installation through comfy-cli: install ComfyUI and ComfyUI-Manager at once.)

RECOMMENDED: comfy-cli provides various features to manage ComfyUI from the CLI.

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

Installation[method4] (Installation for linux+venv: ComfyUI + ComfyUI-Manager)

To install ComfyUI with ComfyUI-Manager on Linux using a venv environment, you can follow these steps:

  1. Download scripts/install-comfyui-venv-linux.sh into empty install directory
    • ComfyUI will be installed in the subdirectory of the specified directory, and the directory will contain the generated executable script.
  2. chmod +x install-comfyui-venv-linux.sh
  3. ./install-comfyui-venv-linux.sh

Installation Precautions

You can execute ComfyUI by running either ./run_gpu.sh or ./run_cpu.sh depending on your system configuration.

Colab Notebook

This repository provides Colab notebooks that allow you to install and use ComfyUI, including ComfyUI-Manager. To use ComfyUI, click on this link.

Changes

How To Use

  1. Click "Manager" button on main menu

    mainmenu

  2. If you click on 'Install Custom Nodes' or 'Install Models', an installer dialog will open.

    menu

    • There are three DB modes: DB: Channel (1day cache), DB: Local, and DB: Channel (remote).

      • Channel (1day cache) utilizes Channel cache information with a validity period of one day to quickly display the list.
      • This information will be updated when there is no cache, when the cache expires, or when external information is retrieved through the Channel (remote).
      • Whenever you start ComfyUI anew, this mode is always set as the default mode.
      • Local uses information stored locally in ComfyUI-Manager.
      • This information will be updated only when you update ComfyUI-Manager.
      • For custom node developers, they should use this mode when registering their nodes in custom-node-list.json and testing them.
      • Channel (remote) retrieves information from the remote channel, always displaying the latest list.
      • In cases where retrieval is not possible due to network errors, it will forcibly use local information.
    • The Fetch Updates menu retrieves update data for custom nodes locally. Actual updates are applied by clicking the Update button in the Install Custom Nodes menu.

  3. Click 'Install' or 'Try Install' button.

    node-install-dialog

    model-install-dialog

    • Installed: This item is already installed.

    • Install: Clicking this button will install the item.

    • Try Install: This is a custom node of which installation information cannot be confirmed. Click the button to try installing it.

    • If a red background Channel indicator appears at the top, it means it is not the default channel. Since the amount of information held is different from the default channel, many custom nodes may not appear in this channel state.

      • Channel settings have a broad impact, affecting not only the node list but also all functions like "Update all."
    • Conflicted Nodes with a yellow background show a list of nodes conflicting with other extensions in the respective extension. This issue needs to be addressed by the developer, and users should be aware that due to these conflicts, some nodes may not function correctly and may need to be installed accordingly.

  4. If you set the Badge: item in the menu as Badge: Nickname, Badge: Nickname (hide built-in), Badge: #ID Nickname, Badge: #ID Nickname (hide built-in) the information badge will be displayed on the node.

    • When selecting (hide built-in), it hides the 🦊 icon, which signifies built-in nodes.
      • Nodes without any indication on the badge are custom nodes that Manager cannot recognize.
    • Badge: Nickname displays the nickname of custom nodes, while Badge: #ID Nickname also includes the internal ID of the node.

    model-install-dialog

  5. Share menu share

    menu

    • Through the Share settings in the Manager menu, you can configure the behavior of the Share button in the Main menu or Share Ouput button on Context Menu.
    • None: hide from Main menu
    • All: Show a dialog where the user can select a title for sharing.

Snapshot-Manager

model-install-dialog

cm-cli: command line tools for power user

How to register your custom node into ComfyUI-Manager

Custom node support guide

NODE_CLASS_MAPPINGS = {
    "ExecutionSwitch": ExecutionSwitch,
    "ExecutionBlocker": ExecutionBlocker,
    ...
}

NODE_CLASS_MAPPINGS.update({
    "UniFormer-SemSegPreprocessor": Uniformer_SemSegPreprocessor,
    "SemSegPreprocessor": Uniformer_SemSegPreprocessor,
})

Component Sharing

Support of missing nodes installation

missing-menu

missing-list

Additional Feature

Scanner

When you run the scan.sh script:

Troubleshooting

Security policy

TODO: Unconventional form of custom node list

Roadmap

Disclaimer

Credit

ComfyUI/ComfyUI - A powerful and modular stable diffusion GUI.

And, for all ComfyUI custom node developers