This is an image/video/workflow browser and manager for ComfyUI. You can sync your workflows to a remote Git repository and use them everywhere.
Welcome to submit your workflow source by submitting an issue. Let's build the workflows together.
comfyui_browser_231215_subtitle.mov
- Browse and manage your images/videos/workflows in the output folder.
- Add your workflows to the 'Saves' so that you can switch and manage them more easily.
- Sync your 'Saves' anywhere by Git.
- Subscribe workflow sources by Git and load them more easily.
- Search your workflow by keywords.
- Some useful custom nodes like xyz_plot, inputs_select.
- Select any inputs of the current graph.
![image](https://private-user-images.githubusercontent.com/828837/297422185-8e505f62-f709-426a-8a0a-fca291784b08.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTI4NDMsIm5iZiI6MTcyMjExMjU0MywicGF0aCI6Ii84Mjg4MzcvMjk3NDIyMTg1LThlNTA1ZjYyLWY3MDktNDI2YS04YTBhLWZjYTI5MTc4NGIwOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyN1QyMDM1NDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mMWJkZThlMTgxMjVhZDc3MDUzYTJlZDRiOTU3YjMzNmE5YzE2NzQzZTE0NTkwM2Y3Mzg1ZjhiM2EwNGM1ZGNlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.W0yrlIhmzQmvtAzf3F5QaZ1x5wBaZyCoU4FNc0PP6Ow)
- Simple XYZ Plot by selecting inputs and filling in the values.
![image](https://private-user-images.githubusercontent.com/828837/297422372-23ce6a4d-3311-4058-9b46-ddb50d07e22a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTI4NDMsIm5iZiI6MTcyMjExMjU0MywicGF0aCI6Ii84Mjg4MzcvMjk3NDIyMzcyLTIzY2U2YTRkLTMzMTEtNDA1OC05YjQ2LWRkYjUwZDA3ZTIyYS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyN1QyMDM1NDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wM2RjODAyNTZjNDM1YzY1Y2U2ZGIzMmU5YTQ0ODNlZTA1OTNjZGJiMzAwMzE0YmRmNmM5NWE0NzJiMDM3YmQ2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9._RVIzNdMzgmVOJ7rjRW-926GYAmVjxjwP3Eku6powVM)
![image](https://private-user-images.githubusercontent.com/828837/316298835-d46461ac-3fb3-4037-b1be-048a7ae5e89a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTI4NDMsIm5iZiI6MTcyMjExMjU0MywicGF0aCI6Ii84Mjg4MzcvMzE2Mjk4ODM1LWQ0NjQ2MWFjLTNmYjMtNDAzNy1iMWJlLTA0OGE3YWU1ZTg5YS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyN1QyMDM1NDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04ZTg1NDA4ZjE2MjE4NzJiMWRiZmZjNDc2ZDBjYjliMTJkYTFjMTA0NTUyNjVjMjQ2MzQwYTI0MzUwMjAzMTJiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.YCSpIBjIOCQci1x-dKx3LlnKcROoq6ZrFe-8SunJmOY)
![Outputs](https://private-user-images.githubusercontent.com/1184998/294696150-49936e2f-9682-4df8-af8e-6e1653e78ca1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTI4NDMsIm5iZiI6MTcyMjExMjU0MywicGF0aCI6Ii8xMTg0OTk4LzI5NDY5NjE1MC00OTkzNmUyZi05NjgyLTRkZjgtYWY4ZS02ZTE2NTNlNzhjYTEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcyNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MjdUMjAzNTQzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YmE4OGMxMjE4MDI3Zjk0YzU4NDhjZWE5ZWQ1YjYzMzFiOWQ3ZDMxOGExMzM2ZjdiNGI0NTkyMjBlZWFkMzA0OCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.5Ojr0bp2_MaqX_Mwnnp938BbQYf3q6T5wJbxuH6uYLs)
![Saves](https://private-user-images.githubusercontent.com/1184998/294696180-de3327e3-643e-4ae4-9e31-86df6a0353e0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTI4NDMsIm5iZiI6MTcyMjExMjU0MywicGF0aCI6Ii8xMTg0OTk4LzI5NDY5NjE4MC1kZTMzMjdlMy02NDNlLTRhZTQtOWUzMS04NmRmNmEwMzUzZTAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcyNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MjdUMjAzNTQzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YjBmMDFiNjU2ZjQyZjlmZTM0MGUyMDQwYzEzYmFjZjE0YjJmYTQ1YzE3YmNlNDAzYWU1M2EzOWY1NGY1M2I3MyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.OBUd32HVeB0VbxiDr84Q_bkv2zGcI4D0NeIonAWyy20)
![Sources](https://private-user-images.githubusercontent.com/1184998/294696282-07671822-c4d1-4327-bd87-6b1c7e85a354.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTI4NDMsIm5iZiI6MTcyMjExMjU0MywicGF0aCI6Ii8xMTg0OTk4LzI5NDY5NjI4Mi0wNzY3MTgyMi1jNGQxLTQzMjctYmQ4Ny02YjFjN2U4NWEzNTQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcyNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MjdUMjAzNTQzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9M2QzODk5NDYxOTcyYzMxZTk1NDQzZTNhZjlmNmQ2OGIwY2M0MmRiOWViYTUzOWMxNDY3NDhmYTM1ZjE3YzUwNyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.MtZ1VVCXRyMTSZTEwb1s6iUWB2NGPXe9EsX217CdA54)
![Recommended Sources](https://private-user-images.githubusercontent.com/1184998/294696185-f37852b9-1030-4044-abf3-12bd8158c446.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTI4NDMsIm5iZiI6MTcyMjExMjU0MywicGF0aCI6Ii8xMTg0OTk4LzI5NDY5NjE4NS1mMzc4NTJiOS0xMDMwLTQwNDQtYWJmMy0xMmJkODE1OGM0NDYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcyNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MjdUMjAzNTQzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ODhmMmJlNDg2N2UwNjcyNzQzNGFhYWUwNjRmMzc2YjM1ZjlmY2Y2ZTBhYzVhNmRiY2JiYWY3Mzg3Mjk1ZWFiMiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.QsZW2J9txl6WGTlQeyvWiss_f5I3gdDv0rYzLAonG34)
![Models](https://private-user-images.githubusercontent.com/1184998/294696293-4f36378e-05e0-49dc-a5b2-07d24a8b96bc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTI4NDMsIm5iZiI6MTcyMjExMjU0MywicGF0aCI6Ii8xMTg0OTk4LzI5NDY5NjI5My00ZjM2Mzc4ZS0wNWUwLTQ5ZGMtYTViMi0wN2QyNGE4Yjk2YmMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcyNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MjdUMjAzNTQzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MGNmZTc0MDRmYTAyMzE4OGQzMjdhMzk3MTk0YzZhOGYwOTA5Zjc4ZjJlMmQ3NmFkOGIxNTZlZTkxMmRjZmYwYiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.czdbN5TorBmcD5NJEirYVHxi4DiVn8z7h2Q560R5IDU)
![SideBar](https://private-user-images.githubusercontent.com/1184998/294696191-746a031e-88b0-4ccf-8e2d-e448c001f319.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTI4NDMsIm5iZiI6MTcyMjExMjU0MywicGF0aCI6Ii8xMTg0OTk4LzI5NDY5NjE5MS03NDZhMDMxZS04OGIwLTRjY2YtOGUyZC1lNDQ4YzAwMWYzMTkucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcyNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MjdUMjAzNTQzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MTQ3YjBkYTlmOGIzZDExOGRkNDNiMWI3M2RkZjJkODA5MTZkM2U2NWQ0OWY1ZTRiOTBjMTU0NTQ0YTVkZjA3MyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.yJYGI8aB_Nt2NiHRL8hwoAkK4ZwGySBp6KMs6G0hRVI)
Install ComfyUI Manager, search comfyui-browser
in Install Custom Node and install it.
In your comfyui-browser
directory, you can add a config.json
to override
the directories that comfyui-browser
uses. Ex:
{
"collections": "/var/lib/comfyui/comfyui-browser-collections",
"download_logs": "/var/lib/comfyui/comfyui-browser-download-logs",
"outputs": "/var/lib/comfyui/outputs",
"sources": "/var/lib/comfyui/comfyui-browser-sources"
}
The default configuration values are:
{
"collections": "[comfyui-browser]/collections",
"download_logs": "[comfyui-browser]/download-logs",
"outputs": "[comfyui]/outputs",
"sources": "[comfyui-browser]/sources"
}
Where [comfyui-browser]
is the automatically determined path of your
comfyui-browser
installation, and [comfyui]
is the automatically determined
path of your comfyui
server. Notably, the outputs
directory defaults to the
--output-directory
argument to comfyui
itself, or the default path that
comfyui
wishes to use for the --output-directory
argument.
Clone this repo into the custom_nodes
folder and restart the ComfyUI.
cd custom_nodes && git clone https://github.com/tzwm/comfyui-browser.git
- Your 'Saves' are stored in the
collections
configuration value. See Configuring for its default, and how to set the path to something different. - Press 'B' to toggle the Browser dialog in the ComfyUI.
-
Prerequisite
- Install Node
-
Framework
-
Project Structure
├── __init__.py (Backend Server)
├── web (Frontend code loaded by ComfyUI)
├── build (Built in Svelte)
└── index.js (Frontend that interact with ComfyUI)
├── svelte (Frontend in the Modal as a iframe, written in Svelte)
-
Build and Run
- Copy or link
comfyui-browser
toComfyUI/custom_nodes/
- Start backend by
cd ComfyUI && python main.py --enable-cors-header
- Start frontend by
cd ComfyUI/custom_nodes/comfyui-browser/svelte && npm i && npm run dev
- Open and debug by
http://localhost:5173/?comfyUrl=http://localhost:8188
- It will use
localhost:8188
as ComfyUI server localhost:5173
is a Vite dev server
- It will use
- Copy or link
-
Notes
- Please try to test on Windows, because I only have Linux/macOS
- Sync collections to remote git repository
- Add external git repository to local collections
- Search workflow by node name and model name
To see ChangeLog.