ComfyUI-Manager itself is also a custom node.
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.
ComfyUI/custom_nodes/ComfyUI-Manager
directory and execute git pull
to update.To install ComfyUI-Manager in addition to an existing installation of ComfyUI, you can follow the following steps:
ComfyUI/custom_nodes
dir in terminal(cmd)git clone https://github.com/ltdrdata/ComfyUI-Manager.git
"ComfyUI_windows_portable"
directoryinstall-manager-for-portable-version.bat
batch fileRECOMMENDED: 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
To install ComfyUI with ComfyUI-Manager on Linux using a venv environment, you can follow these steps:
chmod +x install-comfyui-venv-linux.sh
./install-comfyui-venv-linux.sh
ComfyUI-Manager
files must be accurately located in the path ComfyUI/custom_nodes/ComfyUI-Manager
ComfyUI/custom_nodes
location, resulting in the Manager contents like __init__.py
being placed directly in that directory.
ComfyUI/custom_nodes
ComfyUI/custom_nodes/ComfyUI-Manager/ComfyUI-Manager
.
ComfyUI/custom_nodes/ComfyUI-Manager/ComfyUI-Manager
to ComfyUI/custom_nodes/ComfyUI-Manager
ComfyUI/custom_nodes/ComfyUI-Manager-main
.
ComfyUI-Manager
may operate, but it won't be recognized within ComfyUI-Manager
, and updates cannot be performed. It also poses the risk of duplicate installations.ComfyUI/custom_nodes/ComfyUI-Manager-main
to ComfyUI/custom_nodes/ComfyUI-Manager
You can execute ComfyUI by running either ./run_gpu.sh
or ./run_cpu.sh
depending on your system configuration.
This repository provides Colab notebooks that allow you to install and use ComfyUI, including ComfyUI-Manager. To use ComfyUI, click on this link.
Install Custom Nodes
menu is changed to Custom Nodes Manager
.Update all
featureconfig.ini
file.channels.list
and submit a PR.skip update check
feature added.
Click "Manager" button on main menu
If you click on 'Install Custom Nodes' or 'Install Models', an installer dialog will open.
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.
Local
uses information stored locally in ComfyUI-Manager.
custom-node-list.json
and testing them.Channel (remote)
retrieves information from the remote channel, always displaying the latest list.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.
Click 'Install' or 'Try Install' button.
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.
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.
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.
Badge: Nickname
displays the nickname of custom nodes, while Badge: #ID Nickname
also includes the internal ID of the node.Share
None
: hide from Main menuAll
: Show a dialog where the user can select a title for sharing.Save snapshot
or use Update All
on Manager Menu
, the current installation status snapshot is saved.
ComfyUI-Manager/snapshots
Restore
, it will take effect on the next ComfyUI startup.
ComfyUI-Manager/startup-scripts/restore-snapshot.json
, and upon restarting ComfyUI, the snapshot is applied and then deleted.custom-node-list.json
located in the root of ComfyUI-Manager and submit a Pull Request.Use local DB
and ensure that the extension list loads without any issues in the Install custom nodes
dialog. Occasionally, missing or extra commas can lead to JSON syntax errors.Currently, the system operates by cloning the git repository and sequentially installing the dependencies listed in requirements.txt using pip, followed by invoking the install.py script. In the future, we plan to discuss and determine the specifications for supporting custom nodes.
Please submit a pull request to update either the custom-node-list.json or model-list.json file.
The scanner currently provides a detection function for missing nodes, which is capable of detecting nodes described by the following two patterns.
NODE_CLASS_MAPPINGS = {
"ExecutionSwitch": ExecutionSwitch,
"ExecutionBlocker": ExecutionBlocker,
...
}
NODE_CLASS_MAPPINGS.update({
"UniFormer-SemSegPreprocessor": Uniformer_SemSegPreprocessor,
"SemSegPreprocessor": Uniformer_SemSegPreprocessor,
})
Or you can provide manually node_list.json
file.
When you write a docstring in the header of the .py file for the Node as follows, it will be used for managing the database in the Manager.
nickname
is being used, but other parts will also be utilized in the future.nickname
will be the name displayed on the badge of the node.nickname
, it will be truncated to 20 characters from the arbitrarily written title and used."""
@author: Dr.Lt.Data
@title: Impact Pack
@nickname: Impact Pack
@description: This extension offers various detector nodes and detailer nodes that allow you to configure a workflow that automatically enhances facial details. And provide iterative upscaler.
"""
node_list.json
- When your custom nodes pattern of NODE_CLASS_MAPPINGS is not conventional, it is used to manually provide a list of nodes for reference. (example)requirements.txt
- When installing, this pip requirements will be installed automaticallyinstall.py
- When installing, it is automatically calleduninstall.py
- When uninstalling, it is automatically calleddisable.py
- When disabled, it is automatically called
.js
file, it is recommended to write this script for disabling.enable.py
- When enabled, it is automatically calledCopy & Paste
{
"kind": "ComfyUI Components",
"timestamp": <current timestamp>,
"components":
{
<component name>: <component nodedata>
}
}
<current timestamp>
Ensure that the timestamp is always unique.
<component name>
: The name should be in the format <prefix>::<node name>
.
<compnent nodeata>
: In the nodedata of the group node.
<version>
: Only two formats are allowed: major.minor.patch
or major.minor
. (e.g. 1.0
, 2.2.1
)<datetime>
: Saved time<packname>
: If the packname is not empty, the category becomes packname/workflow, and it is saved in the <packname>.pack file in ComfyUI-Manager/components.<category>
: If there is neither a category nor a packname, it is saved in the components category. "version":"1.0",
"datetime": 1705390656516,
"packname": "mypack",
"category": "util/pipe",
Drag & Drop
.pack
or .json
file will add the corresponding components.Dragging and dropping or pasting a single component will add a node. However, when adding multiple components, nodes will not be added.
Install Missing Custom Nodes
button in the menu, it displays a list of extension nodes that contain nodes not currently present in the workflow.Logging to file feature
file_logging = False
in the config.ini
.Fix node(recreate): When right-clicking on a node and selecting Fix node (recreate)
, you can recreate the node. The widget's values are reset, while the connections maintain those with the same names.
Double-Click Node Title: You can set the double click behavior of nodes in the ComfyUI-Manager menu.
Copy All Connections
, Copy Input Connections
: Double-clicking a node copies the connections of the nearest node.
Copy All Connections
, it duplicates existing outputs, but since it does not allow duplicate connections, the existing output connections of the original node are disconnected.Possible Input Connections
: It connects all outputs that match the closest type within the specified range.
Possible(left) + Copy(right)
: When you Double-Click on the left half of the title, it operates as Possible Input Connections
, and when you Double-Click on the right half, it operates as Copy All Connections
.Prevent downgrade of specific packages
downgrade_blacklist
section of the config.ini
file, separating them with commas.
downgrade_blacklist = diffusers, kornia
Custom pip mapping
pip_overrides.json
file, it changes the installation of specific pip packages to installations defined by the user.
pip_overrides.json.template
file.Use aria2
as downloader
When you run the scan.sh
script:
It updates the extension-node-map.json
.
custom-node-list.json
into ~/.tmp/default
.--skip-update
option.~/.tmp/default
, run python scanner.py [path]
directly instead of scan.sh
.It updates the github-stats.json
.
export GITHUB_TOKEN=your_token_here
to avoid quickly reaching the rate limit and malfunctioning.--skip-update-stat
option.The --skip-all
option applies both --skip-update
and --skip-stat-update
.
git.exe
is installed in a specific location other than system git, please install ComfyUI-Manager and run ComfyUI. Then, specify the path including the file name in git_exe =
in the ComfyUI-Manager/config.ini file that is generated.git update-ref refs/remotes/origin/main a361cc1 && git fetch --all && git pull
...\..\..\python_embeded\python.exe update-fix.py
.PreviewTextNode
from ComfyUI_Custom_Nodes_AlekPet
are only supported as front-end nodes, we currently do not provide missing nodes for them.vid2vid
is not being updated, causing compatibility issues.Overlapped Object has pending operation at deallocation on Comfyui Manager load
under Windows
config.ini
file: add windows_selector_event_loop_policy = True
SSL: CERTIFICATE_VERIFY_FAILED
error is occured.
config.ini
file: add bypass_ssl = True
config.ini
file: add security_level = <LEVEL>
strong
high
and middle
level risky featurenormal
high
level risky featuremiddle
level risky feature is availablenormal-
high
level risky feature if --listen
is specified and not starts with 127.
middle
level risky feature is availableweak
high
level risky features
Install via git url
, pip install
default channel
.middle
level risky features
default channel
.low
level risky features
ComfyUI/ComfyUI - A powerful and modular stable diffusion GUI.
And, for all ComfyUI custom node developers