Spaces:
Starting
on
L40S
Starting
on
L40S
File size: 9,218 Bytes
4450790 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
# `cm-cli`: ComfyUI-Manager CLI
`cm-cli` ๋ ComfyUI๋ฅผ ์คํ์ํค์ง ์๊ณ command line์์ ComfyUI-Manager์ ์ฌ๋ฌ๊ฐ์ง ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ๋๊ตฌ์
๋๋ค.
```
-= ComfyUI-Manager CLI (V2.24) =-
python cm-cli.py [OPTIONS]
OPTIONS:
[install|reinstall|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 ?[--output <snapshot .json/.yaml>]
restore-snapshot <snapshot .json/.yaml> ?[--pip-non-url] ?[--pip-non-local-url] ?[--pip-local-url]
cli-only-mode [enable|disable]
restore-dependencies
clear
```
## How To Use?
* `python cm-cli.py` ๋ฅผ ํตํด์ ์คํ ์ํฌ ์ ์์ต๋๋ค.
* ์๋ฅผ ๋ค์ด custom node๋ฅผ ๋ชจ๋ ์
๋ฐ์ดํธ ํ๊ณ ์ถ๋ค๋ฉด
* ComfyUI-Manager๊ฒฝ๋ก ์์ `python cm-cli.py update all` ๋ฅผ command๋ฅผ ์คํํ ์ ์์ต๋๋ค.
* ComfyUI ๊ฒฝ๋ก์์ ์คํํ๋ค๋ฉด, `python custom_nodes/ComfyUI-Manager/cm-cli.py update all` ์ ๊ฐ์ด cm-cli.py ์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ ์๋ ์์ต๋๋ค.
## Prerequisite
* ComfyUI ๋ฅผ ์คํํ๋ python๊ณผ ๋์ผํ python ํ๊ฒฝ์์ ์คํํด์ผ ํฉ๋๋ค.
* venv๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ํด๋น venv๋ฅผ activate ํ ์ํ์์ ์คํํด์ผ ํฉ๋๋ค.
* portable ๋ฒ์ ์ ์ฌ์ฉํ ๊ฒฝ์ฐ run_nvidia_gpu.bat ํ์ผ์ด ์๋ ๊ฒฝ๋ก์ธ ๊ฒฝ์ฐ, ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฝ๋งจ๋๋ฅผ ์คํํด์ผ ํฉ๋๋ค.
`.\python_embeded\python.exe ComfyUI\custom_nodes\ComfyUI-Manager\cm-cli.py update all`
* ComfyUI ์ ๊ฒฝ๋ก๋ COMFYUI_PATH ํ๊ฒฝ ๋ณ์๋ก ์ค์ ํ ์ ์์ต๋๋ค. ๋ง์ฝ ์๋ตํ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ๋ํ๋๋ฉฐ, ComfyUI-Manager๊ฐ ์ค์น๋ ๊ฒฝ๋ก๋ฅผ ๊ธฐ์ค์ผ๋ก ์๋ ๊ฒฝ๋ก๋ก ์ค์ ๋ฉ๋๋ค.
```
WARN: The `COMFYUI_PATH` environment variable is not set. Assuming `custom_nodes/ComfyUI-Manager/../../` as the ComfyUI path.
```
## Features
### 1. --channel, --mode
* ์ ๋ณด ๋ณด๊ธฐ ๊ธฐ๋ฅ๊ณผ ์ปค์คํ
๋
ธ๋ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ๊ฒฝ์ฐ๋ --channel๊ณผ --mode๋ฅผ ํตํด ์ ๋ณด DB๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
* ์๋ค ๋ค์ด `python cm-cli.py update all --channel recent --mode remote`์ ๊ฐ์ command๋ฅผ ์คํํ ๊ฒฝ์ฐ, ํ์ฌ ComfyUI-Manager repo์ ๋ด์ฅ๋ ๋ก์ปฌ์ ์ ๋ณด๊ฐ ์๋ remote์ ์ต์ ์ ๋ณด๋ฅผ ๊ธฐ์ค์ผ๋ก ๋์ํ๋ฉฐ, recent channel์ ์๋ ๋ชฉ๋ก์ ๋์์ผ๋ก๋ง ๋์ํฉ๋๋ค.
* --channel, --mode ๋ `simple-show, show, install, uninstall, update, disable, enable, fix` command์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
### 2. ๊ด๋ฆฌ ์ ๋ณด ๋ณด๊ธฐ
`[simple-show|show] [installed|enabled|not-installed|disabled|all|snapshot|snapshot-list] ?[--channel <channel name>] ?[--mode [remote|local|cache]]`
* `[show|simple-show]` - `show`๋ ์์ธํ๊ฒ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ฃผ๋ฉฐ, `simple-show`๋ ๊ฐ๋จํ๊ฒ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋๋ค.
`python cm-cli.py show installed` ์ ๊ฐ์ ์ฝ๋งจ๋๋ฅผ ์คํํ๋ฉด ์ค์น๋ ์ปค์คํ
๋
ธ๋์ ์ ๋ณด๋ฅผ ์์ธํ๊ฒ ๋ณด์ฌ์ค๋๋ค.
```
-= ComfyUI-Manager CLI (V2.24) =-
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)
```
`python cm-cli.py simple-show installed` ์ ๊ฐ์ ์ฝ๋งจ๋๋ฅผ ์ด์ฉํด์ ์ค์น๋ ์ปค์คํ
๋
ธ๋์ ์ ๋ณด๋ฅผ ๊ฐ๋จํ๊ฒ ๋ณด์ฌ์ค๋๋ค.
```
-= ComfyUI-Manager CLI (V2.24) =-
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`: ์ค์น๋ ์ปค์คํ
๋
ธ๋๋ค ์ค enable ๋์๊ฑฐ๋, disable๋ ๋
ธ๋๋ค์ ๋ณด์ฌ์ค๋๋ค.
* `installed`: enable, disable ์ฌ๋ถ์ ์๊ด์์ด ์ค์น๋ ๋ชจ๋ ๋
ธ๋๋ฅผ ๋ณด์ฌ์ค๋๋ค
* `not-installed`: ์ค์น๋์ง ์์ ์ปค์คํ
๋
ธ๋์ ๋ชฉ๋ก์ ๋ณด์ฌ์ค๋๋ค.
* `all`: ๋ชจ๋ ์ปค์คํ
๋
ธ๋์ ๋ชฉ๋ก์ ๋ณด์ฌ์ค๋๋ค.
* `snapshot`: ํ์ฌ ์ค์น๋ ์ปค์คํ
๋
ธ๋์ snapshot ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋๋ค. `show`๋กค ํตํด์ ๋ณผ ๊ฒฝ์ฐ๋ json ์ถ๋ ฅ ํํ๋ก ๋ณด์ฌ์ฃผ๋ฉฐ, `simple-show`๋ฅผ ํตํด์ ๋ณผ ๊ฒฝ์ฐ๋ ๊ฐ๋จํ๊ฒ, ์ปค๋ฐ ํด์์ ํจ๊ป ๋ณด์ฌ์ค๋๋ค.
* `snapshot-list`: ComfyUI-Manager/snapshots ์ ์ ์ฅ๋ snapshot ํ์ผ์ ๋ชฉ๋ก์ ๋ณด์ฌ์ค๋๋ค.
### 3. ์ปค์คํ
๋
ธ๋ ๊ด๋ฆฌ ํ๊ธฐ
`[install|reinstall|uninstall|update|disable|enable|fix] node_name ... ?[--channel <channel name>] ?[--mode [remote|local|cache]]`
* `python cm-cli.py install ComfyUI-Impact-Pack ComfyUI-Inspire-Pack ComfyUI_experiments` ์ ๊ฐ์ด ์ปค์คํ
๋
ธ๋์ ์ด๋ฆ์ ๋์ดํด์ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ์ฉํ ์ ์์ต๋๋ค.
* ์ปค์คํ
๋
ธ๋์ ์ด๋ฆ์ `show`๋ฅผ ํ์ ๋ ๋ณด์ฌ์ฃผ๋ ์ด๋ฆ์ด๋ฉฐ, git repository์ ์ด๋ฆ์
๋๋ค.
(์ถํ nickname ์ ์ฌ์ฉ๊ฐ๋ฅํ๋๊ณ ์
๋ฐ์ดํธ ํ ์์ ์
๋๋ค.)
`[update|disable|enable|fix] all ?[--channel <channel name>] ?[--mode [remote|local|cache]]`
* `update, disable, enable, fix` ๊ธฐ๋ฅ์ all ๋ก ์ง์ ๊ฐ๋ฅํฉ๋๋ค.
* ์ธ๋ถ ๋์
* `install`: ์ง์ ๋ ์ปค์คํ
๋
ธ๋๋ค์ ์ค์นํฉ๋๋ค
* `reinstall`: ์ง์ ๋ ์ปค์คํ
๋
ธ๋๋ฅผ ์ญ์ ํ๊ณ ์ฌ์ค์น ํฉ๋๋ค.
* `uninstall`: ์ง์ ๋ ์ปค์คํ
๋
ธ๋๋ค์ ์ญ์ ํฉ๋๋ค.
* `update`: ์ง์ ๋ ์ปค์คํ
๋
ธ๋๋ค์ ์
๋ฐ์ดํธํฉ๋๋ค.
* `disable`: ์ง์ ๋ ์ปค์คํ
๋
ธ๋๋ค์ ๋นํ์ฑํํฉ๋๋ค.
* `enable`: ์ง์ ๋ ์ปค์คํ
๋
ธ๋๋ค์ ํ์ฑํํฉ๋๋ค.
* `fix`: ์ง์ ๋ ์ปค์คํ
๋
ธ๋์ ์์กด์ฑ์ ๊ณ ์น๊ธฐ ์ํ ์๋๋ฅผ ํฉ๋๋ค.
### 4. ์ค๋
์ท ๊ด๋ฆฌ ๊ธฐ๋ฅ
* `python cm-cli.py save-snapshot ?[--output <snapshot .json/.yaml>]`: ํ์ฌ์ snapshot์ ์ ์ฅํฉ๋๋ค.
* --output ์ผ๋ก ์์์ ๊ฒฝ๋ก์ .yaml ํ์ผ๊ณผ format์ผ๋ก ์ ์ฅํ ์ ์์ต๋๋ค.
* `python cm-cli.py restore-snapshot <snapshot .json/.yaml>`: ์ง์ ๋ snapshot์ผ๋ก ๋ณต๊ตฌํฉ๋๋ค.
* snapshot ๊ฒฝ๋ก์ ํ์ผ์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ ํด๋น snapshot์ ๋ก๋ํฉ๋๋ค.
* snapshot ๊ฒฝ๋ก์ ํ์ผ์ด ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ๋ฌต์์ ์ผ๋ก, ComfyUI-Manager/snapshots ์ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
* `--pip-non-url`: PyPI ์ ๋ฑ๋ก๋ pip ํจํค์ง๋ค์ ๋ํด์ ๋ณต๊ตฌ๋ฅผ ์ํ
* `--pip-non-local-url`: web URL์ ๋ฑ๋ก๋ pip ํจํค์ง๋ค์ ๋ํด์ ๋ณต๊ตฌ๋ฅผ ์ํ
* `--pip-local-url`: local ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๊ณ ์๋ pip ํจํค์ง๋ค์ ๋ํด์ ๋ณต๊ตฌ๋ฅผ ์ํ
### 5. CLI only mode
ComfyUI-Manager๋ฅผ CLI๋ก๋ง ์ฌ์ฉํ ๊ฒ์ธ์ง๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
`cli-only-mode [enable|disable]`
* security ํน์ policy ์ ์ด์ ๋ก GUI ๋ฅผ ํตํ ComfyUI-Manager ์ฌ์ฉ์ ์ ํํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์ด ๋ชจ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
* CLI only mode๋ฅผ ์ ์ฉํ ๊ฒฝ์ฐ ComfyUI-Manager ๊ฐ ๋งค์ฐ ์ ํ๋ ์ํ๋ก ๋ก๋๋์ด, ๋ด๋ถ์ ์ผ๋ก ์ ๊ณตํ๋ web API๊ฐ ๋นํ์ฑํ ๋๋ฉฐ, ๋ฉ์ธ ๋ฉ๋ด์์๋ Manager ๋ฒํผ์ด ํ์๋์ง ์์ต๋๋ค.
### 6. ์์กด์ฑ ์ค์น
`restore-dependencies`
* `ComfyUI/custom_nodes` ํ์ ๊ฒฝ๋ก์ ์ปค์คํ
๋
ธ๋๋ค์ด ์ค์น๋์ด ์๊ธด ํ์ง๋ง, ์์กด์ฑ์ด ์ค์น๋์ง ์์ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
* colab ๊ณผ ๊ฐ์ด cloud instance๋ฅผ ์๋ก ์์ํ๋ ๊ฒฝ์ฐ ์์กด์ฑ ์ฌ์ค์น ๋ฐ ์ค์น ์คํฌ๋ฆฝํธ๊ฐ ์ฌ์คํ ๋์ด์ผ ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉํฉ๋๋ค.
* ComfyUI์ ์ฌ์ค์นํ ๊ฒฝ์ฐ, custom_nodes ๊ฒฝ๋ก๋ง ๋ฐฑ์
ํ๋ค๊ฐ ์ฌ์ค์น ํ ๊ฒฝ์ฐ ํ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
### 7. clear
GUI์์ install, update๋ฅผ ํ๊ฑฐ๋ snapshot ์ restoreํ๋ ๊ฒฝ์ฐ ์์ฝ์ ํตํด์ ๋ค์๋ฒ ComfyUI๋ฅผ ์คํํ ๊ฒฝ์ฐ ์คํ๋๋ ๊ตฌ์กฐ์
๋๋ค. `clear` ๋ ์ด๋ฐ ์์ฝ ์ํ๋ฅผ clearํด์, ์๋ฌด๋ฐ ์ฌ์ ์คํ์ด ์ ์ฉ๋์ง ์๋๋ก ํฉ๋๋ค. |