495432f19cd119af72ea5e19c5097cb4e25da615
- Introduced `query_sanitizer.py` for inline query, date, and sort sanitization. - Added `result_filter.py` for runtime filtering helpers, including asset exclusion and enrichment pause functionality. - Implemented `result_hydrator.py` for database hydration helpers, ensuring assets are properly hydrated with metadata. - Created unit tests in `test_db_refactor_helpers.py` to validate database lock detection and SQL write query identification.
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%
