ComfyUI-Manager는 ComfyUI의 유용성을 향상시키기 위해 설계된 확장입니다. ComfyUI의 다양한 사용자 정의 노드를 설치, 제거, 비활성화 및 활성화하는 관리 기능을 제공합니다. 또한 이 확장은 ComfyUI 내의 다양한 정보에 접근할 수 있는 허브 기능과 편의 기능을 제공합니다.
ComfyUI/custom_nodes/ComfyUI-Manager
디렉터리로 이동하여 git pull
실행하여 업데이트하세요.기존 ComfyUI 설치에 추가로 ComfyUI-Manager를 설치하려면 다음 단계를 따르세요.
ComfyUI/custom_nodes
디렉토리로 이동하세요.git clone https://github.com/ltdrdata/ComfyUI-Manager.git
"ComfyUI_windows_portable"
디렉터리에 scripts/install-manager-for-portable-version.bat를 다운로드합니다.install-manager-for-portable-version.bat
배치 파일을 두 번 클릭하세요. 권장 사항: comfy-cli는 CLI에서 ComfyUI를 관리하기 위한 다양한 기능을 제공합니다.
윈도우:
python -m venv venv
venvScriptsactivate
pip install comfy-cli
comfy install
리눅스/OSX:
python -m venv venv
. venv/bin/activate
pip install comfy-cli
comfy install
venv 환경을 사용하여 Linux에 ComfyUI-Manager와 함께 ComfyUI를 설치하려면 다음 단계를 따르세요.
chmod +x install-comfyui-venv-linux.sh
./install-comfyui-venv-linux.sh
ComfyUI-Manager
파일은 ComfyUI/custom_nodes/ComfyUI-Manager
경로에 정확하게 위치해야 합니다.ComfyUI/custom_nodes
위치에 직접 압축을 풀면 __init__.py
와 같은 Manager 콘텐츠가 해당 디렉터리에 직접 배치됩니다.ComfyUI/custom_nodes
에서 모든 ComfyUI-Manager 파일을 제거해야 합니다.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를 실행할 수 있습니다.
이 저장소는 ComfyUI-Manager를 포함하여 ComfyUI를 설치하고 사용할 수 있는 Colab 노트북을 제공합니다. ComfyUI를 사용하려면 이 링크를 클릭하세요.
Install Custom Nodes
메뉴가 Custom Nodes Manager
로 변경되었습니다.Update all
기능 추가config.ini
파일에서 db 채널 설정을 직접 수정할 수 있습니다.channels.list
를 수정하고 PR을 제출해주세요.skip update check
기능이 추가되었습니다.메인 메뉴에서 "관리자" 버튼을 클릭하세요.
'사용자 정의 노드 설치' 또는 '모델 설치'를 클릭하면 설치 프로그램 대화 상자가 열립니다.
DB 모드는 DB: Channel (1day cache)
, DB: Local
, DB: Channel (remote)
3가지가 있습니다.
Channel (1day cache)
유효기간이 1일인 채널 캐시 정보를 활용하여 목록을 빠르게 표시합니다.Local
ComfyUI-Manager에 로컬로 저장된 정보를 사용합니다.custom-node-list.json
에 노드를 등록하고 테스트할 때 이 모드를 사용해야 합니다.Channel (remote)
원격 채널에서 정보를 검색하여 항상 최신 목록을 표시합니다. Fetch Updates
메뉴는 로컬에서 사용자 정의 노드에 대한 업데이트 데이터를 검색합니다. 실제 업데이트는 Install Custom Nodes
메뉴에서 Update
버튼을 클릭하여 적용됩니다.
'설치' 또는 '설치 시도' 버튼을 클릭하세요.
설치됨: 이 항목은 이미 설치되어 있습니다.
설치: 이 버튼을 클릭하면 항목이 설치됩니다.
Try Install: 설치 정보를 확인할 수 없는 커스텀 노드입니다. 버튼을 클릭하여 설치해 보세요.
상단에 빨간색 배경의 Channel
표시가 나타나면 기본 채널이 아니라는 의미입니다. 보유한 정보의 양이 기본 채널과 다르기 때문에 이 채널 상태에서는 많은 사용자 정의 노드가 나타나지 않을 수 있습니다.
노란색 배경의 충돌 노드는 해당 확장의 다른 확장과 충돌하는 노드 목록을 표시합니다. 이 문제는 개발자가 해결해야 하며 사용자는 이러한 충돌로 인해 일부 노드가 올바르게 작동하지 않을 수 있으며 이에 따라 설치해야 할 수도 있다는 점을 알고 있어야 합니다.
메뉴의 Badge:
항목을 Badge: Nickname
, Badge: Nickname (hide built-in)
, Badge: #ID Nickname
, Badge: #ID Nickname (hide built-in)
으로 설정하면 정보 배지가 마디.
Badge: Nickname
사용자 정의 노드의 별명을 표시하는 반면 Badge: #ID Nickname
에는 노드의 내부 ID도 포함됩니다. 공유하다
None
: 메인 메뉴에서 숨김All
: 사용자가 공유할 제목을 선택할 수 있는 대화 상자를 표시합니다. Save snapshot
누르거나 Manager Menu
에서 Update All
사용하면 현재 설치 상태 스냅샷이 저장됩니다.ComfyUI-Manager/snapshots
Restore
누르면 다음 ComfyUI 시작 시 적용됩니다.ComfyUI-Manager/startup-scripts/restore-snapshot.json
에 저장되며, ComfyUI를 재시작하면 해당 스냅샷이 적용된 후 삭제됩니다. custom-node-list.json
에 항목을 추가하고 끌어오기 요청을 제출하세요.Use local DB
선택하고 Install custom nodes
대화 상자에서 확장 목록이 문제 없이 로드되는지 확인하세요. 가끔 쉼표가 누락되거나 추가되면 JSON 구문 오류가 발생할 수 있습니다.현재 시스템은 git 저장소를 복제하고 pip를 사용하여 요구사항.txt에 나열된 종속성을 순차적으로 설치한 후 install.py 스크립트를 호출하는 방식으로 작동합니다. 향후에는 커스텀 노드 지원을 위한 사양을 논의해 결정할 예정이다.
custom-node-list.json 또는 model-list.json 파일을 업데이트하려면 풀 요청을 제출하세요.
스캐너는 현재 다음 두 가지 패턴으로 설명되는 노드를 감지할 수 있는 누락된 노드에 대한 감지 기능을 제공합니다.
NODE_CLASS_MAPPINGS = {
"ExecutionSwitch": ExecutionSwitch,
"ExecutionBlocker": ExecutionBlocker,
...
}
NODE_CLASS_MAPPINGS.update({
"UniFormer-SemSegPreprocessor": Uniformer_SemSegPreprocessor,
"SemSegPreprocessor": Uniformer_SemSegPreprocessor,
})
또는 node_list.json
파일을 수동으로 제공할 수 있습니다.
Node의 .py 파일 헤더에 다음과 같이 docstring을 작성하면 Manager에서 데이터베이스를 관리하는 데 사용됩니다.
nickname
만 사용되고 있으나 향후 다른 부분도 활용될 예정이다.nickname
은 노드 배지에 표시되는 이름입니다.nickname
없을 경우 임의로 작성한 제목에서 20자로 잘라서 사용합니다. """
@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
- NODE_CLASS_MAPPINGS의 사용자 정의 노드 패턴이 일반적이지 않은 경우 참조용 노드 목록을 수동으로 제공하는 데 사용됩니다. (예)requirements.txt
- 설치 시 이 pip 요구 사항이 자동으로 설치됩니다.install.py
- 설치 시 자동으로 호출됩니다.uninstall.py
- 제거 시 자동으로 호출됩니다.disable.py
- 비활성화되면 자동으로 호출됩니다..js
파일을 설치할 때 비활성화하기 위해 이 스크립트를 작성하는 것이 좋습니다.enable.py
- 활성화되면 자동으로 호출됩니다.복사하여 붙여넣기
{
"kind": "ComfyUI Components",
"timestamp": ,
"components":
{
:
}
}
타임스탬프가 항상 고유한지 확인하세요.
: 이름은 ::
형식이어야 합니다.
: 그룹 노드의 nodedata에 있습니다.
: major.minor.patch
또는 major.minor
두 가지 형식만 허용됩니다. (예: 1.0
, 2.2.1
)
: 저장된 시간
: packname이 비어 있지 않으면 카테고리는 packname/workflow가 되며 ComfyUI-Manager/comComponents에 .pack 파일로 저장됩니다.
: 카테고리나 팩명이 없을 경우 컴포넌트 카테고리에 저장됩니다. "version":"1.0",
"datetime": 1705390656516,
"packname": "mypack",
"category": "util/pipe",
드래그 앤 드롭
.pack
또는 .json
파일을 끌어서 놓으면 해당 구성 요소가 추가됩니다.단일 구성요소를 드래그 앤 드롭하거나 붙여넣으면 노드가 추가됩니다. 단, 여러 구성 요소를 추가하는 경우 노드는 추가되지 않습니다.
Install Missing Custom Nodes
버튼을 클릭하면 현재 워크플로에 없는 노드가 포함된 확장 노드 목록이 표시됩니다. 파일 기능에 로깅
config.ini
에서 file_logging = False
설정하여 비활성화할 수 있습니다. 노드 수정(재생성): 노드를 마우스 오른쪽 버튼으로 클릭하고 Fix node (recreate)
선택하면 노드를 다시 생성할 수 있습니다. 위젯의 값은 재설정되고 연결은 동일한 이름을 가진 값을 유지합니다.
더블 클릭 노드 제목: ComfyUI-Manager 메뉴에서 노드의 더블 클릭 동작을 설정할 수 있습니다.
Copy All Connections
, Copy Input Connections
: 노드를 두 번 클릭하면 가장 가까운 노드의 연결이 복사됩니다.
Copy All Connections
의 경우 기존 출력을 복제하지만, 중복 연결을 허용하지 않으므로 원래 노드의 기존 출력 연결이 끊어집니다. Possible Input Connections
: 지정된 범위 내에서 가장 가까운 유형과 일치하는 모든 출력을 연결합니다.
Possible(left) + Copy(right)
: 제목 왼쪽 부분을 Double-Click하면 Possible Input Connections
으로 동작하고, 오른쪽 부분을 Double-Click 하면 Copy All Connections
로 동작합니다.
특정 패키지의 다운그레이드 방지
config.ini
파일의 downgrade_blacklist
섹션에 패키지 이름을 쉼표로 구분하여 나열합니다. downgrade_blacklist = diffusers, kornia
사용자 정의 핍 매핑
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
대신 다른 경로를 지정하려면 scan.sh
대신 python scanner.py [path]
직접 실행하세요. github-stats.json
업데이트합니다.
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 =
에 파일 이름을 포함하여 경로를 지정합니다.git update-ref refs/remotes/origin/main a361cc1 && git fetch --all && git pull
명령을 실행하세요.......python_embededpython.exe update-fix.py
사용하세요.ComfyUI_Custom_Nodes_AlekPet
의 PreviewTextNode
와 같은 노드가 프런트 엔드 노드로만 지원되는 경우 현재는 누락된 노드를 제공하지 않습니다.vid2vid
업데이트되지 않아 호환성 문제가 발생하고 있습니다.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 =
추가
strong
high
과 middle
수준의 위험한 기능을 허용하지 않습니다normal
high
수준의 위험한 기능을 허용하지 않습니다middle
수준의 위험한 기능을 사용할 수 있습니다normal-
--listen
이 지정되고 127로 시작하지 않으면 high
수준의 위험한 기능을 허용하지 않습니다 127.
middle
수준의 위험한 기능을 사용할 수 있습니다weak
high
수준의 위험한 기능
Install via git url
, pip install
통해 설치default channel
에 등록되지 않은 사용자 정의 노드 설치 . middle
수준의 위험한 기능
default channel
에 등록된 커스텀 노드 설치 . low
수준의 위험한 기능
ComfyUI/ComfyUI - 강력하고 모듈식이며 안정적인 확산 GUI입니다.
그리고 모든 ComfyUI 사용자 정의 노드 개발자를 위한