Extensions/ComfyUI-RigShare
ComfyUI Extension

ComfyUI-RigShare

Node to enable seamless multiuser workflow collaboration

By xiaodoudou·Created a day ago·Updated about 8 hours ago· 0
xiaodoudou/ComfyUI-RigShare
Nodes—
On cloudLocal install
Stars0
Updatedabout 8 hours ago
Readme
<div align="center"> <img src="web/rigshare/assets/icon.svg" width="96" alt="RigShare icon">

ComfyUI RigShare

One ComfyUI rig, a whole team: accounts, shared folders, live co-editing, chat and a GPU monitor

GitHub Release Stars License ComfyUI Python Dependencies Auth

A custom node that turns a single ComfyUI server into a shared workspace. Everyone signs in, keeps their own workflows in a private folder, and edits the shared ones together in real time while seeing each other's cursors. Fork of daxcay/ComfyUI-Nexus, rewritten for the current ComfyUI frontend.

</div>

What it does

  • asks everyone to sign in before ComfyUI loads, and creates the admin account on first run
  • organises workflows like a shared drive: a private My files folder per account, Shared folders, and an All view for admins, in a Files tab of its own
  • asks where to save, with the same folders, and opens workflows from them (Ctrl+Alt+O)
  • makes every workflow outside a private folder live while it is open: people who open the same file edit it together, with nothing to share by hand
  • lets folder owners restrict a shared folder to chosen people, each able to view or edit
  • lets you switch tabs freely, because only the tab on screen syncs, and keeps open tabs pointed at a workflow when someone renames or moves it
  • shows who is online and which workflow they are on, plus live cursors and selections
  • lets you follow someone, jumping to their tab and view
  • keeps the whole chat history, loading older messages as you scroll up, with an unread badge, a blinking icon and a sound
  • keeps per-workflow history: snapshots every few minutes, named snapshots, one-click restore
  • gives each account permissions to edit, queue, use ComfyUI Manager or administer, enforced by the server and not just hidden in the UI
  • keeps simultaneous edits apart: two people adding or connecting nodes at the same moment both keep their work
  • issues personal API keys, so scripts and other apps can call ComfyUI with their owner's permissions
  • shows CPU, RAM, and for each GPU the load, VRAM, temperature and power, plus the queue, in a panel tab or a floating widget
  • sends execution progress and previews to everyone, not only whoever queued

What this fork adds over Nexus:

  • Built for the new frontend. It lives in a sidebar tab and works with workflow tabs and subgraphs. It needs no legacy menu and no litegraph patching.
  • Real accounts. A login page, hashed passwords, JWT sessions and API keys replace the shared /login account password chat command and the plaintext admins.json.
  • The server is in charge. It checks permissions and identity on every message, so a browser cannot impersonate someone or edit without the right to.
  • Folders, not one canvas. Everyone has their own space, shared work lives in shared folders, and nobody fights over a single canvas.

Screenshots

<table> <tr> <td align="center"><img src="docs/images/history.png" width="260" alt="Live tab: the workflow on screen, its history and the live workflows"><br><sub>Live workflows and history</sub></td> <td align="center"><img src="docs/images/files.png" width="260" alt="Files tab: My files, Shared and All"><br><sub>Files: My files, Shared, All</sub></td> <td align="center"><img src="docs/images/files-shared.png" width="260" alt="Shared folders in the Files tab"><br><sub>Shared folders, live files marked</sub></td> </tr> <tr> <td align="center"><img src="docs/images/people.png" width="260" alt="People tab"><br><sub>Who is online, and on which workflow</sub></td> <td align="center"><img src="docs/images/chat.png" width="260" alt="Chat tab"><br><sub>Chat, with the whole history</sub></td> <td align="center"><img src="docs/images/access.png" width="260" alt="Access list of a shared folder"><br><sub>Who can open a folder</sub></td> </tr> <tr> <td align="center"><img src="docs/images/server.png" width="260" alt="Server tab"><br><sub>Server monitor</sub></td> <td align="center"><img src="docs/images/account.png" width="260" alt="Account and API keys"><br><sub>Account and API keys</sub></td> <td align="center"><img src="docs/images/admin.png" width="260" alt="Admin tab"><br><sub>Accounts and server settings</sub></td> </tr> </table> <p align="center"> <img src="docs/images/save.png" width="820" alt="Save dialog: name and location"><br><sub>Save asks where</sub> </p> <p align="center"> <img src="docs/images/floating.png" width="820" alt="Floating server monitor over the canvas"><br><sub>Floating server monitor</sub> </p> <p align="center"> <img src="docs/images/login.png" width="560" alt="Login page"><br><sub>Login page</sub> </p>

Getting started

Clone into ComfyUI/custom_nodes and restart ComfyUI:

cd ComfyUI/custom_nodes
git clone https://github.com/xiaodoudou/ComfyUI-RigShare.git

Open ComfyUI in a browser. There are no accounts yet, so the login page asks you to create the administrator. Sign in, open the RigShare tab in the sidebar and add your team under Admin → Accounts. That is the whole setup.

Each person gets a private My files folder. Put what you work on together in Shared, in the Files tab: it goes live for everyone who opens it.

Everyone then signs in at the same address. To use the API from a script, create a key under your avatar → API keys:

curl -H "Authorization: Bearer rs_yourkey" http://your-server:8188/api/queue

Behind a reverse proxy, turn on WebSocket support, or nothing will be live. See Reverse proxy.

Documentation

| | | |---|---| | Installing | Custom node, Docker/compose, first-run setup, upgrading from 1.0 or Nexus | | Files and folders | My files, Shared, All, saving, opening, who can do what | | Sharing workflows | Live workflows by folder, folder access, snapshots, follow | | Accounts and permissions | Edit, Queue, Admin, renaming, what viewers can do | | API access | API keys, websockets, trusted IPs, other apps such as Open WebUI | | Settings | Panel settings, ComfyUI settings, every key in config.json | | Reverse proxy | Nginx Proxy Manager, plain nginx, HTTPS | | Security | How passwords, sessions and keys are protected | | Development | Running the tests, code layout | | Changelog | What changed, and when |

Why this exists

I run one ComfyUI box for several people. ComfyUI-Nexus had the right idea, but it was written for the old UI:

  • it hid menus with CSS and monkeypatched litegraph internals that no longer exist
  • anyone could become admin with a shared password typed into chat
  • everybody worked on one canvas, and opening ComfyUI wiped your own workflow