657ddc4c8ebddf4284e211473137d67ce6bb7965
- Added `splitNameExt` function to separate filename and extension. - Implemented `normalizeRenameFilename` to preserve extensions during renaming. fix: improve error handling in search queries - Added checks for malformed match errors in `IndexSearcher`. - Enhanced FTS query sanitization to remove reserved tokens and normalize case. feat: implement security token management - Introduced API token generation, hashing, and rotation in `AppSettings`. - Added endpoints for rotating and bootstrapping security tokens. fix: enforce write access across various routes - Integrated `_require_write_access` checks in multiple route handlers to ensure proper authorization. test: add unit tests for search query sanitization - Created tests for sanitizing FTS queries, ensuring reserved tokens are removed and terms are lowercased.
Majoor Assets Manager for ComfyUI
Advanced asset browser for ComfyUI: search, filter, preview, organize, and manage generated files directly in the UI.
Quick Start
- Install from ComfyUI Manager (recommended), then restart ComfyUI.
- Open the Assets Manager tab.
- Pick a scope: Outputs / Inputs / Custom / Collections.
- Use search and filters, right-click for actions, double-click to open Viewer.
Useful links:
- User guide:
user_guide.html - Changelog:
CHANGELOG.md - Documentation index:
docs/DOCUMENTATION_INDEX.md
Main Features
- Fast grid browsing (virtual scrolling) for large libraries.
- Full-text search (SQLite FTS5) with filters and sorting.
- Viewer: image/video preview, compare modes, zoom/pan, overlays.
- Ratings and tags.
- Collections management.
- Drag and drop to ComfyUI canvas or OS (multi-select ZIP supported).
Installation
Method A: ComfyUI Manager (Recommended)
Install via ComfyUI Manager UI, then restart ComfyUI.
Method B: Manual
cd ComfyUI/custom_nodes
git clone https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager ComfyUI-Majoor-AssetsManager
pip install -r ComfyUI-Majoor-AssetsManager/requirements.txt
Restart ComfyUI.
If dependencies are still missing:
python ComfyUI-Majoor-AssetsManager/scripts/install-requirements.py
Optional Tools (Recommended)
For best metadata extraction and media probing:
exiftoolffprobe
Check availability:
exiftool -ver
ffprobe -version
If not in PATH, configure tool paths with environment variables (see docs/).
Basic Usage
- Search by filename/metadata.
- Filter by type, rating, workflow, date.
- Right-click asset for rename, delete, open folder, copy path, collections.
- Use Collections to save and reopen grouped selections.
Hotkeys (Essential)
Ctrl/Cmd+S: trigger index scan (current scope).D: toggle details sidebar.0-5: set rating.- In Viewer:
Esccloses viewer.
Troubleshooting
Database issues
If index DB is corrupted:
- Use endpoint:
POST /mjr/am/db/force-delete - Then re-scan.
Manual fallback (ComfyUI stopped):
- Delete
assets.sqlite,assets.sqlite-wal,assets.sqlite-shm - Location:
<output>/_mjr_index/ - Restart ComfyUI and scan again.
Data Locations
- Index DB:
<output>/_mjr_index/assets.sqlite - Custom roots:
<output>/_mjr_index/custom_roots.json - Collections:
<output>/_mjr_index/collections/*.json - Temp drag-out ZIPs:
<output>/_mjr_batch_zips/
Compatibility
- Recommended ComfyUI baseline:
0.13.0+ - Python:
3.10to3.12
License
Copyright (c) 2026 Ewald ALOEBOETOE (MajoorWaldi).
Licensed under GNU GPL v3.0 (LICENSE).
Optional attribution request: NOTICE.
For Advanced / Dev Docs
For API, environment variables, security model, architecture, CI, and development workflows:
docs/DOCUMENTATION_INDEX.md
Languages
Python
42.7%
TypeScript
41.1%
HTML
5.6%
Vue
5.1%
JavaScript
3%
Other
2.4%
