/ComfyUI-Nexus

Node to enable seamless multiuser workflow collaboration

Primary LanguagePythonMIT LicenseMIT

COMFYUI-NEXUS

ComfyUI-Nexus

Version Last Update

A ComfyUI node designed to enable seamless multi-user workflow collaboration.

Untitled design (2)

Features Video: https://www.youtube.com/watch?v=RnYIUG59oTM


Important Notes


  • Install/Maintain on Server Only: This node should only be installed on the server machine.

  • No Installation Needed for Others: Other users don’t need to install this node.

  • URL for Connection: Other users only need the URL to connect locally/remotely.

  • Security:

    • ComfyUI menu and features are for admins only.
    • ComfyUI shortcuts are for admins only.
    • Prompt Queue shortcut CTRL+Enter is for users with queue permission only.
  • Editor Permissions:

    • Editors can only edit the graph (create/update/delete/move).
    • If an editor has queue permission, they can queue prompts in the workflow.
  • All Admin Server (not recommended):

    • One can create a server with all admins to resolve permission issues.
    • Refer to the Admin Account Setup section for more details.

Warning

When opening the ComfyUI workspace for the first time, it will be locked. Login as admin to enable editing.

Warning

Move or disable the ComfyUI-Nexus nodes from the custom nodes folder if you want to return to your normal ComfyUI setup.


Caution

Enable the old litegraph(legacy) node search box. (New node search box is under development and has bugs)

Untitled design (4)


Location of Nexus folder

ComfyUI Folder

  • Drive:/ComfyUI_windows_portable/nexus

Stable Matrix

  • Full Version: Drive:/StabilityMatrix/Packages/ComfyUI/nexus
  • Portable Version: Drive:/StabilityMatrix/Data/Packages/ComfyUI/nexus

Disabling ComfyUI-Nexus


  • Stop ComfyUI and go to ComfyUI\custom_nodes folder
  • Rename ComfyUI-Nexus like this ComfyUI-Nexus.disabled to disable.
  • Restart ComfyUI again.

Key Features


  • Multiuser collaboration: enable multiple users to work on the same workflow simultaneously.
  • Local and Remote access: use tools like ngrok or other tunneling software to facilitate remote collaboration. A local IP address on WiFi will also work 😎.
  • Enhanced teamwork: streamline your team's workflow management and collaboration process.
  • Real-time chat: communicate directly within the platform to ensure smooth and efficient collaboration.
  • Spectate mode: allow team members to observe the workflow in real-time without interfering—perfect for training or monitoring progress.
  • Admin permissions: admins can control who can edit the workflow and who can queue prompts, ensuring the right level of access for each team member.
  • Workflow backup: in case of any mishap, you can reload an old backup. The node saves 5 workflows, each 60 seconds apart.

Key Binds

  • Activate chat: press t
  • Show/hide users panel: press LAlt + p
  • Show/hide backups panel: press LAlt + o (for user with editor permission only)
  • Queue promt: press CTRL+Enter (for user with queue permission only)

Chat Commands

  • /nick <name>: changes your nickname
  • /login account password: this command is used to become admin.
  • /logout: logout the admin.

Node Installation

  • Installing Using comfy-cli

  • Manual Method

    • Go to your ComfyUI\custom_nodes and Run CMD.
    • Copy and paste this command: git clone https://github.com/daxcay/ComfyUI-Nexus.git
  • Automatic Method with Comfy Manager

    • Inside ComfyUI > Click the Manager Button on the side.
    • Click Custom Nodes Manager and search for ComfyUI-Nexus, then install this node.

Important

Restart ComfyUI before proceeding to next step


Server Setup


Knowing ComfyUI Port

  • Open Comfyui in your browser:

    image

  • In your url tab, digits after colon (:) is your port.

    Example:

    image

    The port for the above URL will be 8188


Admin Account Setup

  • Open the file ComfyUI\nexus\admins.json in notepad.

    image

  • "epic" is the account name and "comfynexus" is password

  • Replace account and password with your own liking, but make sure not to use spaces.

More than 1 Admin Account Setup

  • Open the file ComfyUI\nexus\admins.json in notepad. add another account(s) and password(s) like this.

    image

  • Make sure every password is different, and make sure not to use spaces.


Important

Don't leave the password as "comfynexus" as anyone can login.

Note

DO NOT SHARE ACCOUNT AND PASSWORD IN PUBLIC

Important

Save file and Restart ComfyUI before proceeding to next step


Hosting Setup

  • One can use Ngrok or any other tunneling software supporting http/https to host a comfyui server remotely.
  • Also you can host locally over WiFi/Lan.

Using Ngrok:

Ngrok Output Example image

  • Forwarding is the Remote URL, Share this URL with your peers.

Using Local IP

  • Open a cmd and write ipconfig.

image

  • Now copy IPv4 address ad add comfy port to it. For example, if it's http://192.168.1.45:<comfy_port>, the final URL will be: http://192.168.1.45:5000
  • Share this URL with your peers.

Note

Ngrok and WiFi address might change if you restart the machine. Follow above steps again to get the new URL.


Permissions in ComfyUI-Nexus

  • viewer: default permission given to a person joining the server.
  • editor: person having editor permission cad edit the workflow.
  • queue prompt: person having queue permission can queue the workflow.

Note

Admin has all permissions by default.


Real-Time Chat Window

When you join ComfyUI for the first time, you will see this chat window in the top left corner:

Chat Message Example


To chat, press t, then write the message and press 'Enter'.


Chat Commands

  • /nick <name>: changes your nickname
  • /login <account> <password>: this command is used to become admin. ( account name and password saved in admins.json above )
  • /logout: logout the admin.

User Panel

To show/hide the user panel, press LShift+ LAlt + p.

For users, the user panel will look like this:

User Panel Example

Users can perform the following actions on a joined user:

image

  • mouse: show/hide the mouse of other players.
  • spectate: enable/disable spectate mode. Main use case: when you want to see or learn something from another user.

For admins, the user panel will look like this:

Admin Panel Example

Admins can perform the following actions on a joined user:

Admin Panel Actions Example

  • spectate: enable/disable spectate mode. Main use case: when you want to see or learn something from another user.
  • editor: give/revoke editor permission to/from that user. Anyone with this permission can edit the workflow.
  • queue: give/revoke queue permission to/from that user. Anyone with this permission can queue the workflow.
  • mouse: show/hide the mouse of other players.

Backup Panel (For Admins and Editors Only)

To show/hide the backup panel, press LShift + LAlt + o.

The backup panel looks like this:

OLD

Backup Panel Example

NEW

image

  • load: load the backup on ComfyUI. If the admin presses it, it will load for all users.

Backups are now divided into 'Short Term' and 'Long Term'

Short Term: These are only 5 backups and are saved 60 seconds apart.

Long Term: These backups are created every reload and they are never overwritten.

Backups are saved 60 seconds apart. To load a workflow dragged by an admin, the admin will have to wait 60 seconds to let the server make a backup, then load it for all users.


Inspiration

Future Updates

  • Based on feedback, I will add/update features.
  • Multi-room collaboration.
  • Users can set their own color for names and mouse cursors.

Daxton Caylor - ComfyUI Node Developer