/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: Coming Soon


Important Notes

  • This node should be only installed/maintained on the machine that will act as Server.

  • No need to install this node on other users.

  • ComfyUI is also not needed by other users.

  • Only URL is needed by other users to connect to server Locally/Remotely.


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.

Warning

When Opening the Comfyui Workspace for the first time, It will be locked, Login as admin to enable editing.


Key Binds

  • Activate chat: press t
  • Show/hide users panel: press LAlt + p
  • Show/hide backups panel: press LAlt + o (for editors 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 folder path > 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 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.


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:

image

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

Chat Message Example

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 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 LAlt + o.

The backup panel looks like this:

Backup Panel Example

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

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.


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