You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
139 lines
7.6 KiB
139 lines
7.6 KiB
7 months ago
|
# `cm-cli`: ComfyUI-Manager CLI
|
||
|
|
||
|
`cm-cli` is a tool that allows you to use various functions of ComfyUI-Manager from the command line without launching ComfyUI.
|
||
|
|
||
|
|
||
|
```
|
||
|
-= ComfyUI-Manager CLI (V2.21.1) =-
|
||
|
|
||
|
python cm-cli.py [OPTIONS]
|
||
|
|
||
|
OPTIONS:
|
||
|
[install|uninstall|update|disable|enable|fix] node_name ... ?[--channel <channel name>] ?[--mode [remote|local|cache]]
|
||
|
[update|disable|enable|fix] all ?[--channel <channel name>] ?[--mode [remote|local|cache]]
|
||
|
[simple-show|show] [installed|enabled|not-installed|disabled|all|snapshot|snapshot-list] ?[--channel <channel name>] ?[--mode [remote|local|cache]]
|
||
|
save-snapshot
|
||
|
restore-snapshot <snapshot>
|
||
|
cli-only-mode [enable|disable]
|
||
|
restore-dependencies
|
||
|
clear
|
||
|
|
||
|
```
|
||
|
|
||
|
## How To Use?
|
||
|
* You can execute it via `python cm-cli.py`.
|
||
|
* For example, if you want to update all custom nodes:
|
||
|
* In the ComfyUI-Manager directory, you can execute the command `python cm-cli.py update all`.
|
||
|
* If running from the ComfyUI directory, you can specify the path to cm-cli.py like this: `python custom_nodes/ComfyUI-Manager/cm-cli.py update all`.
|
||
|
|
||
|
## Prerequisite
|
||
|
* It must be run in the same Python environment as the one running ComfyUI.
|
||
|
* If using a venv, you must run it with the venv activated.
|
||
|
* If using a portable version, and you are in the directory with the run_nvidia_gpu.bat file, you should execute the command as follows:
|
||
|
`.\python_embeded\python.exe ComfyUI\custom_nodes\ComfyUI-Manager\cm-cli.py update all`
|
||
|
* The path for ComfyUI can be set with the COMFYUI_PATH environment variable. If omitted, a warning message will appear, and the path will be set relative to the installed location of ComfyUI-Manager:
|
||
|
```
|
||
|
WARN: The `COMFYUI_PATH` environment variable is not set. Assuming `custom_nodes/ComfyUI-Manager/../../` as the ComfyUI path.
|
||
|
```
|
||
|
|
||
|
## Features
|
||
|
|
||
|
### 1. --channel, --mode
|
||
|
* For viewing information and managing custom nodes, you can set the information database through --channel and --mode.
|
||
|
* For instance, executing the command `python cm-cli.py update all --channel recent --mode remote` will operate based on the latest information from remote rather than local data embedded in the current ComfyUI-Manager repo and will only target the list in the recent channel.
|
||
|
* --channel, --mode are only available with the commands `simple-show, show, install, uninstall, update, disable, enable, fix`.
|
||
|
|
||
|
### 2. Viewing Management Information
|
||
|
|
||
|
`[simple-show|show] [installed|enabled|not-installed|disabled|all|snapshot|snapshot-list] ?[--channel <channel name>] ?[--mode [remote|local|cache]]`
|
||
|
|
||
|
* `[show|simple-show]` - `show` provides detailed information, while `simple-show` displays information more simply.
|
||
|
|
||
|
Executing a command like `python cm-cli.py show installed` will display detailed information about the installed custom nodes.
|
||
|
|
||
|
```
|
||
|
-= ComfyUI-Manager CLI (V2.21.1) =-
|
||
|
|
||
|
FETCH DATA from: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/custom-node-list.json
|
||
|
[ ENABLED ] ComfyUI-Manager (author: Dr.Lt.Data)
|
||
|
[ ENABLED ] ComfyUI-Impact-Pack (author: Dr.Lt.Data)
|
||
|
[ ENABLED ] ComfyUI-Inspire-Pack (author: Dr.Lt.Data)
|
||
|
[ ENABLED ] ComfyUI_experiments (author: comfyanonymous)
|
||
|
[ ENABLED ] ComfyUI-SAI_API (author: Stability-AI)
|
||
|
[ ENABLED ] stability-ComfyUI-nodes (author: Stability-AI)
|
||
|
[ ENABLED ] comfyui_controlnet_aux (author: Fannovel16)
|
||
|
[ ENABLED ] ComfyUI-Frame-Interpolation (author: Fannovel16)
|
||
|
[ DISABLED ] ComfyUI-Loopchain (author: Fannovel16)
|
||
|
```
|
||
|
|
||
|
Using a command like `python cm-cli.py simple-show installed` will simply display information about the installed custom nodes.
|
||
|
|
||
|
```
|
||
|
-= ComfyUI-Manager CLI (V2.21.1) =-
|
||
|
|
||
|
FETCH DATA from: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/custom-node-list.json
|
||
|
ComfyUI-Manager
|
||
|
ComfyUI-Impact-Pack
|
||
|
ComfyUI-Inspire-Pack
|
||
|
ComfyUI_experiments
|
||
|
ComfyUI-SAI_API
|
||
|
stability-ComfyUI-nodes
|
||
|
comfyui_controlnet_aux
|
||
|
ComfyUI-Frame-Interpolation
|
||
|
ComfyUI-Loopchain
|
||
|
```
|
||
|
|
||
|
`[installed|enabled|not-installed|disabled|all|snapshot|snapshot-list]`
|
||
|
* `enabled`, `disabled`: Shows nodes that have been enabled or disabled among the installed custom nodes.
|
||
|
* `installed`: Shows all nodes that have been installed, regardless of whether they are enabled or disabled.
|
||
|
* `not-installed`: Shows a list of custom nodes that have not been installed.
|
||
|
* `all`: Shows a list of all custom nodes.
|
||
|
* `snapshot`: Displays snapshot information of the currently installed custom nodes. When viewed with `show`, it is displayed in JSON format, and with `simple-show`, it is displayed simply, along with the commit hash.
|
||
|
* `snapshot-list`: Shows a list of snapshot files stored in ComfyUI-Manager/snapshots.
|
||
|
|
||
|
### 3. Managing Custom Nodes
|
||
|
|
||
|
`[install|uninstall|update|disable|enable|fix] node_name ... ?[--channel <channel name>] ?[--mode [remote|local|cache]]`
|
||
|
|
||
|
* You can apply management functions by listing the names of custom nodes, such as `python cm-cli.py install ComfyUI-Impact-Pack ComfyUI-Inspire-Pack ComfyUI_experiments`.
|
||
|
* The names of the custom nodes are as shown by `show` and are the names of the git repositories.
|
||
|
(Plans are to update the use of nicknames in the future.)
|
||
|
|
||
|
`[update|disable|enable|fix] all ?[--channel <channel name>] ?[--mode [remote|local|cache]]`
|
||
|
|
||
|
* The `update, disable, enable, fix` functions can be specified for all.
|
||
|
|
||
|
* Detailed Operations
|
||
|
* `install`: Installs the specified custom nodes.
|
||
|
* `uninstall`: Uninstalls the specified custom nodes.
|
||
|
* `update`: Updates the specified custom nodes.
|
||
|
* `disable`: Disables the specified custom nodes.
|
||
|
* `enable`: Enables the specified custom nodes.
|
||
|
* `fix`: Attempts to fix dependencies for the specified custom nodes.
|
||
|
|
||
|
### 4. Snapshot Management
|
||
|
* `python cm-cli.py save-snapshot`: Saves the current snapshot.
|
||
|
* `python cm-cli.py restore-snapshot <snapshot>`: Restores to the specified snapshot.
|
||
|
* It is assumed that the snapshot files are located in ComfyUI-Manager/snapshots.
|
||
|
(An update is planned to allow files from other paths in the future.)
|
||
|
|
||
|
### 5. CLI Only Mode
|
||
|
|
||
|
You can set whether to use ComfyUI-Manager solely via CLI.
|
||
|
|
||
|
`cli-only-mode [enable|disable]`
|
||
|
|
||
|
* This mode can be used if you want to restrict the use of ComfyUI-Manager through the GUI for security or policy reasons.
|
||
|
* When CLI only mode is enabled, ComfyUI-Manager is loaded in a very restricted state, the internal web API is disabled, and the Manager button is not displayed in the main menu.
|
||
|
|
||
|
### 6. Dependency Restoration
|
||
|
|
||
|
`restore-dependencies`
|
||
|
|
||
|
* This command can be used if custom nodes are installed under the `ComfyUI/custom_nodes` path but their dependencies are not installed.
|
||
|
* It is useful when starting a new cloud instance, like colab, where dependencies need to be reinstalled and installation scripts re-executed.
|
||
|
* It can also be utilized if ComfyUI is reinstalled and only the custom_nodes path has been backed up and restored.
|
||
|
|
||
|
### 7. Clear
|
||
|
|
||
|
In the GUI, installations, updates, or snapshot restorations are scheduled to execute the next time ComfyUI is launched. The `clear` command clears this scheduled state, ensuring no pre-execution actions are applied.
|