ComfyUI : verstehen, installieren, Fehler beheben

Custom Nodes : die Erweiterungen von ComfyUI

Was eine Erweiterung aus der Community hinzufügt, was sie an Abhängigkeiten und Kompatibilität kostet, wie man sie auswählt, wie man sie sauber installiert und wie man diejenige findet, die bricht.

Custom Nodes sind die Erweiterungen von ComfyUI, die von der Community geschrieben werden: Jede fügt eine Operation hinzu, die der Kern der Software nicht beherrscht, um den Preis einer weiteren Abhängigkeit und einer Kompatibilität, die bei jedem Update zu prüfen ist. Man wählt eine Erweiterung wie ein lebendiges Repository: gepflegt, verfolgt, installiert durch das Klonen dieses Repositorys und nicht durch das Kopieren eines eingefrorenen Ordners, um zu wissen, woher jeder Baustein kommt, und ihn aktualisieren zu können. Bei Axiris schreiben wir, wenn eine Funktion fehlt, unseren eigenen Node, statt Erweiterungen zu stapeln.

Was eine Erweiterung hinzufügt

ComfyUI wird mit einem Satz integrierter Nodes geliefert, die mit der Software gepflegt werden. Ein Custom Node ist eine Erweiterung, die jemand anderes geschrieben hat: Sie fügt dem Graphen eine oder mehrere Operationen hinzu, die der Kern nicht beherrscht: einen neuen Modelltyp, eine Korrekturmethode, eine Videoverarbeitung, ein Komfortwerkzeug.

Das macht den Reichtum des Ökosystems aus. Die meisten fortgeschrittenen Anwendungen laufen über mindestens eine Erweiterung, und die meisten geteilten Workflows setzen mehrere voraus.

Was eine Erweiterung kostet

Eine Erweiterung ist für die Installation, die sie aufnimmt, nie kostenlos.

Eine Abhängigkeit mehr. Sie bringt oft ihre eigenen Python-Bibliotheken mit, manchmal in einer genauen Version, manchmal im Konflikt mit der, die eine andere Erweiterung verlangt. Zwei Erweiterungen, die jeweils eine andere Version derselben Bibliothek fordern, können ohne Entscheidung nicht nebeneinander bestehen.

Eine Kompatibilität, die bei jedem Update zu prüfen ist. Der Kern von ComfyUI entwickelt sich schnell. Eine Erweiterung, die gestern funktionierte, lädt nach einem Update der Software vielleicht nicht mehr. Oder umgekehrt: Die Erweiterung ändert sich, und der Workflow, der sie verwendete, rendert etwas anderes, ohne Fehler. Ein verschobener Graph stürzt nicht immer ab; er kann einfach ein anderes Ergebnis liefern.

Code, der auf Ihrer Maschine läuft. Eine Erweiterung wird mit denselben Rechten wie ComfyUI ausgeführt. Ihre Herkunft zählt.

Wie man auswählt

Vor der Installation schaut man auf drei Dinge.

Ist das Repository lebendig: gepflegt, aktualisiert, wenn ComfyUI sich ändert, mit gemeldeten und behandelten Problemen? Ein verlassenes Repository wird zu einer Panne auf Abruf.

Tut sie eine Sache, die Sie anders nicht hinbekommen? Eine Erweiterung, die einen Node des Kerns dupliziert, fügt eine Abhängigkeit für nichts hinzu.

Was verlangt sie an Bibliotheken, und sind diese mit dem kompatibel, was bereits installiert ist?

Sauber installieren: klonen, nicht kopieren

Eine Erweiterung wird installiert, indem man ihr Repository klont, über den Manager oder von Hand, und nicht, indem man einen irgendwo heruntergeladenen Ordner kopiert. Der Unterschied ist kein Detail: Eine Kopie ist eine eingefrorene Version, die nicht sagt, dass sie es ist. Man weiss nicht mehr, woher sie kommt, man kann sie nicht aktualisieren, und an dem Tag, an dem sie bricht, weiss man nicht, was man vergleicht.

Ein Klon weiss, woher er kommt. Er aktualisiert sich, er vergleicht sich mit seinem Ursprung, und wenn zwei Versionen sich unterschiedlich verhalten, kann man sagen, welche sich geändert hat. Bei Axiris ist das eine Atelierregel: Wir wissen, woher jeder Baustein kommt.

Wenn eine Erweiterung bricht

Die Startkonsole sagt, welche Erweiterungen geladen wurden und welche fehlgeschlagen sind, und warum: eine fehlende Bibliothek, eine inkompatible Version, ein Fehler im Code. Dort liest man, bevor man irgendetwas anfasst.

Wenn das Problem nach einer Installation oder einem Update auftritt, deaktiviert man die Erweiterungen, um zu wissen, ob die Panne vom Kern oder von einer von ihnen kommt, dann reaktiviert man sie eine nach der anderen. Ein Update ist keine Reparatur: Man sucht die Ursache, man ersetzt nicht eine Erweiterung durch eine andere, um den Fehler zum Schweigen zu bringen. Die vollständige Methode steht in ComfyUI Fehlerbehebung.

Wenn die Funktion nicht existiert

Es kommt vor, dass keine Erweiterung das tut, was ein Workflow verlangt, oder dass sie es um den Preis einer Abhängigkeit tut, die man nicht will. Bei Axiris schreiben wir dann unseren eigenen Node: einen Baustein, den wir verstehen, den wir pflegen und den wir mit dem Workflow liefern können.

Offizielle Referenzen: Dokumentation: Custom Nodes · Fehlerbehebung bei Custom Nodes.

Eine Erweiterung blockiert Sie, oder eine Funktion fehlt Ihnen? Kontaktanfrage: ein erstes Gespräch geschenkt, unverbindlich. Jede Praxis ist anders, und indem wir Ihnen zuhören, schlagen wir vor, was zu Ihnen passt.