ComfyUI-Manager est une extension conçue pour améliorer la convivialité de ComfyUI. Il offre des fonctions de gestion pour installer, supprimer, désactiver et activer divers nœuds personnalisés de ComfyUI. De plus, cette extension fournit une fonctionnalité de hub et des fonctions pratiques pour accéder à un large éventail d'informations dans ComfyUI.
ComfyUI/custom_nodes/ComfyUI-Manager
et exécuter git pull
pour mettre à jour.Pour installer ComfyUI-Manager en plus d'une installation existante de ComfyUI, vous pouvez suivre les étapes suivantes :
ComfyUI/custom_nodes
dans le terminal (cmd)git clone https://github.com/ltdrdata/ComfyUI-Manager.git
"ComfyUI_windows_portable"
install-manager-for-portable-version.bat
RECOMMANDÉ : confort-cli fournit diverses fonctionnalités pour gérer ComfyUI à partir de la CLI.
Fenêtres :
python -m venv venv
venvScriptsactivate
pip install comfy-cli
comfy install
Linux/OSX :
python -m venv venv
. venv/bin/activate
pip install comfy-cli
comfy install
Pour installer ComfyUI avec ComfyUI-Manager sous Linux à l'aide d'un environnement venv, vous pouvez suivre ces étapes :
chmod +x install-comfyui-venv-linux.sh
./install-comfyui-venv-linux.sh
ComfyUI-Manager
doivent être localisés avec précision dans le chemin ComfyUI/custom_nodes/ComfyUI-Manager
ComfyUI/custom_nodes
, ce qui entraînerait le placement du contenu du gestionnaire comme __init__.py
directement dans ce répertoire.ComfyUI/custom_nodes
ComfyUI/custom_nodes/ComfyUI-Manager/ComfyUI-Manager
.ComfyUI/custom_nodes/ComfyUI-Manager/ComfyUI-Manager
vers ComfyUI/custom_nodes/ComfyUI-Manager
ComfyUI/custom_nodes/ComfyUI-Manager-main
.ComfyUI-Manager
peut fonctionner, mais il ne sera pas reconnu dans ComfyUI-Manager
et les mises à jour ne pourront pas être effectuées. Cela présente également le risque d’installations en double.ComfyUI/custom_nodes/ComfyUI-Manager-main
en ComfyUI/custom_nodes/ComfyUI-Manager
Vous pouvez exécuter ComfyUI en exécutant ./run_gpu.sh
ou ./run_cpu.sh
en fonction de la configuration de votre système.
Ce référentiel fournit des notebooks Colab qui vous permettent d'installer et d'utiliser ComfyUI, y compris ComfyUI-Manager. Pour utiliser ComfyUI, cliquez sur ce lien.
Install Custom Nodes
est remplacé par Custom Nodes Manager
.Update all
les fonctionnalitésconfig.ini
.channels.list
et soumettre un PR.skip update check
.Cliquez sur le bouton "Gestionnaire" dans le menu principal
Si vous cliquez sur « Installer des nœuds personnalisés » ou « Installer des modèles », une boîte de dialogue d'installation s'ouvrira.
Il existe trois modes DB : DB: Channel (1day cache)
, DB: Local
et DB: Channel (remote)
.
Channel (1day cache)
utilise les informations du cache Channel avec une période de validité d'un jour pour afficher rapidement la liste.Local
utilise les informations stockées localement dans ComfyUI-Manager.custom-node-list.json
et de leur test.Channel (remote)
récupère les informations du canal distant, affichant toujours la dernière liste. Le menu Fetch Updates
récupère localement les données de mise à jour pour les nœuds personnalisés. Les mises à jour réelles sont appliquées en cliquant sur le bouton Update
dans le menu Install Custom Nodes
.
Cliquez sur le bouton « Installer » ou « Essayer d'installer ».
Installé : cet élément est déjà installé.
Installer : Cliquer sur ce bouton installera l'élément.
Essayez d'installer : il s'agit d'un nœud personnalisé dont les informations d'installation ne peuvent pas être confirmées. Cliquez sur le bouton pour essayer de l'installer.
Si un indicateur Channel
sur fond rouge apparaît en haut, cela signifie qu'il ne s'agit pas du canal par défaut. Étant donné que la quantité d'informations conservées est différente de celle du canal par défaut, de nombreux nœuds personnalisés peuvent ne pas apparaître dans cet état de canal.
Les nœuds en conflit avec un fond jaune affichent une liste de nœuds en conflit avec d'autres extensions dans l'extension respective. Ce problème doit être résolu par le développeur et les utilisateurs doivent être conscients qu'en raison de ces conflits, certains nœuds peuvent ne pas fonctionner correctement et devront peut-être être installés en conséquence.
Si vous définissez l'élément Badge:
dans le menu sur Badge: Nickname
, Badge: Nickname (hide built-in)
, Badge: #ID Nickname
, Badge: #ID Nickname (hide built-in)
le badge d'information sera affiché sur le nœud.
Badge: Nickname
affiche le surnom des nœuds personnalisés, tandis que Badge: #ID Nickname
inclut également l'ID interne du nœud. Partager
None
: masquer du menu principalAll
: afficher une boîte de dialogue dans laquelle l'utilisateur peut sélectionner un titre à partager. Save snapshot
ou utilisez Update All
dans Manager Menu
, l'instantané de l'état d'installation actuel est enregistré.ComfyUI-Manager/snapshots
Restore
, cela prendra effet au prochain démarrage de ComfyUI.ComfyUI-Manager/startup-scripts/restore-snapshot.json
, et au redémarrage de ComfyUI, l'instantané est appliqué puis supprimé. custom-node-list.json
situé à la racine de ComfyUI-Manager et soumettez une Pull Request.Use local DB
et assurez-vous que la liste d'extensions se charge sans aucun problème dans la boîte de dialogue Install custom nodes
. Parfois, des virgules manquantes ou supplémentaires peuvent entraîner des erreurs de syntaxe JSON.Actuellement, le système fonctionne en clonant le référentiel git et en installant séquentiellement les dépendances répertoriées dans Requirements.txt à l'aide de pip, suivi de l'appel du script install.py. À l'avenir, nous prévoyons de discuter et de déterminer les spécifications de prise en charge des nœuds personnalisés.
Veuillez soumettre une pull request pour mettre à jour le fichier custom-node-list.json ou model-list.json.
Le scanner fournit actuellement une fonction de détection des nœuds manquants, capable de détecter les nœuds décrits par les deux modèles suivants.
NODE_CLASS_MAPPINGS = {
"ExecutionSwitch": ExecutionSwitch,
"ExecutionBlocker": ExecutionBlocker,
...
}
NODE_CLASS_MAPPINGS.update({
"UniFormer-SemSegPreprocessor": Uniformer_SemSegPreprocessor,
"SemSegPreprocessor": Uniformer_SemSegPreprocessor,
})
Ou vous pouvez fournir manuellement le fichier node_list.json
.
Lorsque vous écrivez une docstring dans l'en-tête du fichier .py pour le nœud comme suit, elle sera utilisée pour gérer la base de données dans le Manager.
nickname
est utilisé, mais d’autres parties seront également utilisées à l’avenir.nickname
sera le nom affiché sur le badge du nœud.nickname
, il sera tronqué à 20 caractères du titre arbitrairement écrit et utilisé. """
@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
- Lorsque votre modèle de nœuds personnalisé de NODE_CLASS_MAPPINGS n'est pas conventionnel, il est utilisé pour fournir manuellement une liste de nœuds à titre de référence. (exemple)requirements.txt
- Lors de l'installation, ces exigences pip seront installées automatiquementinstall.py
- Lors de l'installation, il est automatiquement appeléuninstall.py
- Lors de la désinstallation, il est automatiquement appelédisable.py
- Lorsqu'il est désactivé, il est automatiquement appelé.js
de configuration de nœud personnalisé, il est recommandé d'écrire ce script pour le désactiver.enable.py
- Lorsqu'il est activé, il est automatiquement appeléCopier et coller
{
"kind": "ComfyUI Components",
"timestamp": ,
"components":
{
:
}
}
Assurez-vous que l'horodatage est toujours unique.
: le nom doit être au format ::
.
: Dans le nodedata du nœud du groupe.
: Seuls deux formats sont autorisés : major.minor.patch
ou major.minor
. (par exemple 1.0
, 2.2.1
)
: Heure économisée
: Si le nom du pack n'est pas vide, la catégorie devient nom du pack/workflow, et elle est enregistrée dans le fichier .pack dans ComfyUI-Manager/components.
: S'il n'y a ni catégorie ni nom de pack, il est enregistré dans la catégorie des composants. "version":"1.0",
"datetime": 1705390656516,
"packname": "mypack",
"category": "util/pipe",
Glisser-déposer
.pack
ou .json
ajoutera les composants correspondants.Glisser-déposer ou coller un seul composant ajoutera un nœud. Cependant, lors de l'ajout de plusieurs composants, les nœuds ne seront pas ajoutés.
Install Missing Custom Nodes
dans le menu, une liste de nœuds d'extension contenant des nœuds non présents actuellement dans le flux de travail s'affiche. Fonctionnalité de journalisation dans un fichier
file_logging = False
dans le config.ini
. Réparer le nœud (recréer) : lorsque vous cliquez avec le bouton droit sur un nœud et sélectionnez Fix node (recreate)
, vous pouvez recréer le nœud. Les valeurs du widget sont réinitialisées, tandis que les connexions conservent celles portant les mêmes noms.
Titre du nœud double-clic : vous pouvez définir le comportement du double-clic des nœuds dans le menu ComfyUI-Manager.
Copy All Connections
, Copy Input Connections
: Double-cliquer sur un nœud copie les connexions du nœud le plus proche.
Copy All Connections
, il duplique les sorties existantes, mais comme il n'autorise pas les connexions en double, les connexions de sortie existantes du nœud d'origine sont déconnectées. Possible Input Connections
: il connecte toutes les sorties qui correspondent au type le plus proche dans la plage spécifiée.
Possible(left) + Copy(right)
: Lorsque vous double-cliquez sur la moitié gauche du titre, cela fonctionne comme Possible Input Connections
, et lorsque vous double-cliquez sur la moitié droite, cela fonctionne comme Copy All Connections
.
Empêcher la rétrogradation de packages spécifiques
downgrade_blacklist
du fichier config.ini
, en les séparant par des virgules. downgrade_blacklist = diffusers, kornia
Cartographie de pip personnalisée
pip_overrides.json
, il modifie l'installation de packages pip spécifiques en installations définies par l'utilisateur.pip_overrides.json.template
. Utiliser aria2
comme téléchargeur
Lorsque vous exécutez le script scan.sh
:
Il met à jour l' extension-node-map.json
.
custom-node-list.json
dans ~/.tmp/default
.--skip-update
.~/.tmp/default
, exécutez python scanner.py [path]
directement au lieu de scan.sh
. Il met à jour le github-stats.json
.
export GITHUB_TOKEN=your_token_here
pour éviter d'atteindre rapidement la limite de débit et tout dysfonctionnement.--skip-update-stat
. L'option --skip-all
applique à la fois --skip-update
et --skip-stat-update
.
git.exe
est installé dans un emplacement spécifique autre que le système git, veuillez installer ComfyUI-Manager et exécuter ComfyUI. Ensuite, spécifiez le chemin incluant le nom du fichier dans git_exe =
dans le fichier ComfyUI-Manager/config.ini généré.git update-ref refs/remotes/origin/main a361cc1 && git fetch --all && git pull
.......python_embededpython.exe update-fix.py
.PreviewTextNode
de ComfyUI_Custom_Nodes_AlekPet
ne sont pris en charge qu'en tant que nœuds frontaux, nous ne leur fournissons actuellement pas de nœuds manquants.vid2vid
n'est pas mis à jour, ce qui entraîne des problèmes de compatibilité.Overlapped Object has pending operation at deallocation on Comfyui Manager load
sous Windowsconfig.ini
: ajoutez windows_selector_event_loop_policy = True
SSL: CERTIFICATE_VERIFY_FAILED
s'est produite.config.ini
: ajouter bypass_ssl = True
Editez le fichier config.ini
: ajoutez security_level =
strong
high
et middle
normal
high
niveau de risquemiddle
est disponiblenormal-
high
niveau si --listen
est spécifié et ne commence pas par 127.
middle
est disponibleweak
fonctionnalités high
niveau de risque
Install via git url
, pip install
default channel
. caractéristiques à risque de niveau middle
default channel
. fonctionnalités à risque low
niveau
ComfyUI/ComfyUI - Une interface graphique de diffusion stable, puissante et modulaire.
Et, pour tous les développeurs de nœuds personnalisés ComfyUI