Skip to content

Latest commit

Β 

History

78 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FileManaty β€” seamless file management for ComfyUI

ComfyUI-FileManaty

The gentle file-manatee for ComfyUI.
A full file manager inside the ComfyUI web UI β€” browse, preview, organize, upload, rename, move, copy, and trash the files in your ComfyUI roots, without ever touching the host OS.

Latest release License: MIT Python 3.10+ Sponsored by Wallrus


✨ Features

  • πŸ—‚οΈ Explorer-style file manager β€” a folder tree, a thumbnail grid, and a live preview pane, all in one fullscreen overlay with drag-resizable panes (double-click a divider to reset).
  • πŸ–ΌοΈ Rich previews β€” inline images, an HTML5 video player, and an audio player. Generated files show their resolution (1024 Γ— 1024), size, and date at a glance.
  • 🧠 See the generation behind the file β€” embedded ComfyUI metadata (positive/negative prompt, seed, model, LoRAs) surfaced in the preview, with one-click Copy JSON and Load on canvas to drop the workflow straight onto your graph.
  • πŸ“€ Full write operations β€” create folders, rename, upload files or whole folders (button or drag from your desktop, with a progress bar), copy/cut/paste, and move β€” within and across roots.
  • ♻️ Recoverable trash β€” deletes go to one trash view spanning every root, to restore from or purge. Shift+Delete removes permanently.
  • πŸ›‘οΈ Read-only roots β€” mount any root browse-only; the server rejects every write and the toolbar hides write actions.
  • 🎨 Native look & feel β€” follows your active ComfyUI theme (light, dark, or custom) live, via the same design tokens ComfyUI uses.
  • ⌨️ Fast β€” keyboard navigation, multi-select, drag-and-drop, right-click context menus, and Ctrl+Shift+F to open.
  • πŸ”’ Safe by design β€” every path is sandboxed to your configured roots server-side (no .., no absolute paths, no symlink escapes).

πŸ“¦ Installation

Option A β€” ComfyUI Manager (recommended)

Open ComfyUI Manager β†’ Custom Nodes Manager, search for FileManaty, click Install, and restart ComfyUI.

Option B β€” git clone

cd ComfyUI/custom_nodes
git clone https://github.com/agarzon/ComfyUI-FileManaty.git

Restart ComfyUI.

Requirements: Python 3.10+ and Pillow (>=10.0). Pillow ships with ComfyUI, so there's usually nothing extra to install.

πŸš€ Getting started

  1. Open ComfyUI in your browser.
  2. Click the 🦭 FileManaty button in the top action bar β€” or press Ctrl+Shift+F.
  3. With no config file present, FileManaty auto-mounts ComfyUI's output/, input/, and workflows folders as your browsable roots. Start browsing!

Pick a file to preview it on the right; double-click a folder to enter it. Select one or many files (click / Ctrl-click / Shift-click / Ctrl+A), then use the toolbar or right-click menu to manage them.

βš™οΈ Configuration

FileManaty splits configuration into two layers.

Display preferences β€” ComfyUI Settings

Open ComfyUI Settings β†’ 🦭 FileManaty. These are per-browser display choices:

Setting What it does
View β†’ Allow Hidden Show dotfiles in listings
View β†’ Show Thumbnails Toggle image and video thumbnails
View β†’ Grid Density Compact / Normal / Comfortable
View β†’ Thumbnail Size Small / Medium / Large
Sort β†’ Field / Order Sort by name, size, date, or type β€” ascending or descending
Sort β†’ Folders First Keep folders above files
Open β†’ Default Root Which root opens first (or "Last used")
Confirm β†’ On Delete / On Shift-Delete Confirmation dialogs for trashing / permanent delete

Deployment policy β€” config.json

For security and capacity limits the server is the authority. Drop a config.json in the extension directory (copy config.example.json to start) and restart ComfyUI to apply.

Field Required Default Notes
roots[] yes, once a config.json exists auto-mount output/ + input/ + workflows The browsable roots. Auto-mounting applies only when there is no config file β€” a config.json that omits roots logs a warning and leaves the UI empty
roots[].id yes β€” Matches ^[a-z0-9_-]{1,32}$, unique
roots[].label yes β€” Display name shown in the UI
roots[].path yes β€” Absolute path; must exist and be a directory
roots[].writable no true Set false for a browse-only root
files.image_extensions no png, jpg, jpeg, webp, gif, bmp, avif Previewed inline + get thumbnails
files.video_extensions no mp4, webm, mkv, mov Get thumbnails (decoded server-side) + played inline where the browser supports the container
files.audio_extensions no mp3, wav, ogg, m4a, flac Played inline (HTML5 audio)
thumbnails.max_dimension no 320 Longest side, 64–1024
write.max_upload_mb no 1024 Max size per uploaded file, 1–1048576

If the config is malformed or invalid, FileManaty logs a clear error and falls back to the auto-mount defaults β€” ComfyUI never crashes.

By default, FileManaty also auto-mounts your ComfyUI Workflows folder (<user-directory>/default/workflows) as a writable root, so you can browse, preview, and manage your saved workflow .json files (and open them with Load on canvas). The folder is created if it doesn't exist yet. A custom config.json replaces these auto-mount defaults, so if you use one, add a workflows root explicitly by its path.

πŸ”’ Security

FileManaty can write to your filesystem, so please read this.

  • No built-in authentication. Anyone who can reach your ComfyUI HTTP port can use FileManaty. If you expose ComfyUI beyond localhost, put it behind a reverse proxy that handles auth (nginx basic-auth, Caddy forward-auth, Cloudflare Access, …). (Optional built-in auth is on the roadmap.)
  • Server-side sandboxing. The browser only ever sends a root id + relative path. The server resolves it against the configured root and rejects .., absolute paths, drive switches, NUL bytes, and symlinks that escape the root.
  • Scope your roots. Point roots at specific subdirectories β€” never your home directory or a system drive.
  • Safe previews. Only images, video, and audio from your allow-lists are served inline (always with X-Content-Type-Options: nosniff); HTML/SVG and other active content types are refused, never rendered.

πŸ—ΊοΈ Roadmap

Shipped recently: folder upload (drop a folder or pick one), one unified trash, drag-resizable overlay panes, auto-mounted Workflows root, in-folder name + type filter, rich video + audio preview, embedded-metadata cards, Load-on-canvas, and a native theme-following UI. Coming next:

  • πŸ” Server-side & metadata search β€” search across a whole root (past the listing cap) and find files by the prompt / model / seed that made them. (In-folder name + type filtering shipped in v0.8.0.)
  • πŸ” Optional built-in authentication β€” a lightweight password mode for small deployments.
  • πŸ–±οΈ Right-click menu on the folder tree (new folder, rename, delete, paste), plus drag-and-drop within a root to move items straight in the tree.
  • πŸ‘οΈ Double-click to open β€” full-size image lightbox, inline video/audio player, doc editor, or 3D viewer.
  • πŸ“ Text / JSON preview with syntax highlighting β€” later, inline editing + save.
  • 🧊 3D model preview (Load3D).
  • πŸ“€ Send to input β€” move an output into input/ in one click.

Ideas and feedback are very welcome β€” open an issue.

🐾 The story behind the name

FileManaty is a small pile of puns: a file manager that's secretly a manatee 🐾, with a dash of mana β€” a little generative magic, fitting for its ComfyUI habitat. Slow, calm, and dependable is exactly how you want something looking after your files.

It comes from Wallrus, whose own name blends a social wall with a walrus. Two friendly sea mammals, one idea: tools that are unhurried, sturdy, and easy to live with.

πŸ’™ Sponsored by Wallrus

FileManaty is proudly sponsored by Wallrus. If FileManaty makes your ComfyUI workflow nicer, go say hi. 🦭

πŸ› οΈ Development

python3 -m venv .venv
.venv/bin/pip install -e ".[test]"
.venv/bin/pytest -q

Smoke testing with Docker

docker compose -f docker/docker-compose.yml up -d   # ComfyUI at http://localhost:8188

The repo is bind-mounted into the container's custom_nodes/. Edit on the host, then restart the container for Python changes and hard-reload the browser for JavaScript changes. Pin a ComfyUI version with --build-arg COMFYUI_REF=v0.3.27 on docker compose build.

Thumbnails are cached as WebP under <ComfyUI user dir>/filemanaty/thumbs/, mirroring each root's folder layout β€” safe to delete at any time; they regenerate on demand and survive ComfyUI updates. A cached thumbnail is dropped as soon as its source file is deleted, moved, renamed, or overwritten, so no thumbnail outlives the image it came from. Changes made outside FileManaty are caught the next time you browse the folder.

πŸ“„ License

MIT Β© 2026 Alexander Garzon

About

🐾 In-browser file manager for ComfyUI β€” browse, preview, upload, rename, move, copy & trash files in your roots, sandboxed to configured folders. The gentle file-manatee.

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages