MajoorWaldi 495432f19c feat(search): add query sanitization and result filtering helpers
- 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.
2026-02-25 13:31:28 +01:00
2026-02-19 22:44:26 +01:00
2026-02-19 22:44:26 +01:00
2026-02-13 19:45:28 +01:00

Majoor Assets Manager for ComfyUI

GitHub Repo GitHub Stars GitHub Forks GitHub Issues License Downloads CI Buy Me a White Monster Drink

Advanced asset browser for ComfyUI: search, filter, preview, organize, and manage generated files directly in the UI.

Majoor Assets Manager Demo

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

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

For best metadata extraction and media probing:

  • exiftool
  • ffprobe

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: Esc closes 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.10 to 3.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
S
Description
No description provided
Readme GPL-3.0
261 MiB
Languages
Python 42.7%
TypeScript 41.1%
HTML 5.6%
Vue 5.1%
JavaScript 3%
Other 2.4%