Comfy-Org / Comfy-Org/ComfyUI-Manager

[FEAT REQ] ComfyUI-Manager must have PROFILES like VSCode to avoid conflicts

Open
#1,485 2 comments 4 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
16.1k
Forks
2.5k
Avg merge
5d 4h
Merged PRs (30d)
13

Description

**The Issue:**
* TLDR: ComfyUI Manager is unable to avoid the growing incompatibilities and conflicts between different workflows requirements.
* LV: ComfyUI Manager was born to help people use ComfyUI without having to configure everything by hand each time they load a workflow.
And for a while, it worked. But now it is clear that we are back to the original state. A simple test I made loading the 10 most popular workflows on CivitAI on a fresh ComfyUI installation and using ComfyUI Manager to install the nodes automatically, showed that 9 out of 10 of those workflows required manual tampering with the configurations to make them work.
What is worse is that 6 out of those 10 workflows I tested required more additional tampering each time you switched workflows, because **each workflow usually requires a configuration that conflicts with the other workflows!**.
In other words: not only we need to waste time at every workflow installation, but even at every workflow load! And on top of this, the differences between platforms make the procedure to load a new workflow an even more troublesome task.
Such a stressful situation is exactly what ComfyUI Manager was born to prevent, but now it is even worse.

**The solution I propose:**
* TLDR: Just add “Profiles”, like in VSCode. See: https://code.visualstudio.com/docs/editor/profiles
* LV: At the beginning in VSCode there were many conflicts between extensions, and working with it was a chaotic, stressful experience. But then extensions started popping up that offered the option to create and set different Profiles for VSCode. It was such a success that now it is impossible to even think about using VSCode without Profiles. In this way, only the extensions and the configurations needed were loaded for each Profile, and each Profile was free from conflicts and was tailored to work fine with different development workflows.
How about ComfyUI? Well, if you replace Extensions with Nodes, the very same solution can work for ComfyUI. A ComfyUI Profile would be defined as: CONFIGURATION+NODES+MODELS, and it would be saved as a YAML or JSON file.
When loaded with the Manager, it will automatically replace the current Comfy configuration, the current installed nodes, and the current models. If not available in the cache, the nodes and the models will be automatically downloaded and installed. Since the configuration is also included in the profile, there will be no issues with making the nodes and the models work immediately, without any human intervention.
If ComfyUI Manager would adopts Profiles, it will get the following benefits:
* **ONE-CLICK CONFIGURATION FOR WORKFLOWS**: The user would not have to manually tamper with the configurations each time he loads a workflow. He just creates an optimal profile that works for that workflow, save it as a new Profile, and in the future h‘ll just need one click to switch to this ComfyUI Profile before loading the workflow.
* **PROFILES FOR CATEGORIES OF WORKFLOWS**: The user would be able to make Profiles that can work with many different workflows since many workflows share the same conflict issues with the configurations. Few Profiles would be able to encompass a variety of workflows types. Even specialized workflows, like Data Science workflows or Medical diagnostics workflows, will become easier to handle thanks to Profiles.
* **PROFILES SHARING**: The user would be able to share those Profiles as YAML (or JSON) files with others so that very soon people would not even need to create their profiles, they can download existing ones. Websites that now carry workflows will soon carry Profiles too.
* **RECOMMENDED PROFILES**: Workflow creators could recommend a profile to be used with their workflow so that it would be guaranteed to work 100% the moment is loaded in ComfyUI.
* **OPTIMIZED PROFILES SHIPPED WITH WORKFLOWS**: Workflow creators could even create custom optimized Profiles for their workflows so that they will run faster and produce the best results.
* **VERIFIED PROFILES FOR SECURITY**: Many security issues that are a growing concern would be solved using Verified Profiles tested by third parties (like trusted developers or websites) and checked to be free from malware or vulnerabilities. Since each profile defines both the nodes, the configuration, and the models, nothing can escape the control. Also: profiles would be scanned when saved to detect and remove or redact any personal private information or sensible data (like names, emails, passwords, api keys, etc.) that could be inadvertently ended inside the configuration files of ComfyUI.
* **PROFILES TARGETED FOR SPECIFIC PLATFORMS**: Profiles could also be used to easily solve the platform differences between Windows, Linux, MacOS, MacOS MPS, MacOS MLX, and nVidia DIGITS. Each Profile must be tailored to one of those specific platforms, and it should not work on the others by design. Since the Profile includes the configuration of ComfyUI, this is easy since the Profile will automatically save the user‘s current platform configuration. If an user or a workflow creator publishes a Profile, power users with different platforms can easily load only the “NODES” and (optionally) the “MODELS” parts of the Profile, and recreate the configuration on their system, saving and sharing the new Profile optimized for their platform. In this way, each Profile will soon be available for all platforms.
* **INTEGRATED PROFILES BROWSER**: ComfyUI Manager could easily add a browser for Profiles shared by users like it does for nodes. It just needs to make sure the Profiles are downloaded from a trusted source or verified by some trusted developer or website. Of course, the user can choose to force the download of the Profile even if it is not verified (an option needed at the beginning when there are not many trusted sources of Profiles yet).
* **PROFILES AS SHAREABLE SNIPPETS OF COLLECTIVE KNOWLEDGE**: Finally, as a bonus, thanks to Profiles the users would be able to share and apply automatically all the tricks that are usually hard to find and that are needed to make certain complex workflows work. In this way all the hacking and hard work made by a user would not have to be done again and again by every other user each time he downloads a certain workflow. The workflow’s creators themselves will be quick to adopt the use of publishing their workflows along with customized Profiles or to recommend a certain trusted optimized Profile.
* **PROFILES WILL OPEN THE DOOR TO INNOVATIVE FEATURES**: Comfy Manager Profiles would not only solve the configuration issues of ComfyUI, but they would open new possibilities for the future. For example in the future each Profile could integrate multiple “RENDERING PIPELINES”, so that they would have the flexibility of including ready to use pipelines for dry runs, debug modes, draft modes, remote api modes, special hardware/gpu pipelines, deferred/scheduled mode, realtime/lcm/photoshop live paint modes, local lan/rendering farm modes, remote servers based pipelines (like CivitAI, Huggingface, LightningAi, Replicate, Fal, Scenario, etc), video optimized pipelines, virtual avatar/social influencer generation pipelines, node testing/dev modes, benchmarks modes, game assets creation pipelines, SillyTavern services, 3D meshes/Gaussian Splatting generation pipelines, presentation modes, tool api use/server modes, models training pipelines, fine tuning/LoRA training modes, Medical devices pipelines, etc. Profiles could also include “RESOURCES” in the future, like prompt collections, keywords sets, character poses, ST characters cards collections, docs/tutorials/reference workflows, images/styles libraries, links to online resources and apis, online workflows collections, scripts, repos or websites with models tailored for the current Profile, etc. Things that were hard to find or share would be then easy to include in a Profile and make them available to the community. The possibilities are endless.

Thanks!

Profiles in VSCode:
![Image](https://github.com/user-attachments/assets/310a282f-cd63-48ac-a97e-41c2c359a3ac)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.