Sistema di catalogazione intelligente per fotografi, che rispetta la tua privacy
Analisi semantica ed estetica delle tue foto con AI locale. Zero cloud. Zero compromessi.
Note
🌍 Supporto multilingua completo
OffGallery supporta ora 6 lingue (IT, EN, FR, DE, ES, PT) a tutti i livelli, in modo indipendente:
- Interfaccia grafica: seleziona la lingua dal tab Configurazione → Lingua interfaccia
- Contenuti generati da LLM (tag, descrizioni, titoli): scegli la lingua di output LLM indipendentemente dalla GUI. I tag vengono generati nella lingua configurata e salvati così nel database
- Ricerca semantica CLIP: funziona sempre in inglese internamente (massima accuratezza), con traduzione automatica della query — trasparente per l'utente
- Ricerca per tag/keyword: la query viene automaticamente tradotta nella lingua dei tag (la stessa
llm_output_language) prima del matching, garantendo risultati corretti anche con tag in francese, tedesco, ecc.
Le traduzioni avvengono tramite Argostranslate completamente offline. I pacchetti di traduzione vengono scaricati al primo avvio se necessari; un messaggio nel pannello Log informa l'utente sullo stato.
| Data | Cosa | Note |
|---|---|---|
| 22 mar 2026 | Allocazione device per-modello con auto-ottimizzazione | Ogni modello AI (CLIP, DINOv2, BioCLIP, Aesthetic, MUSIQ) può essere assegnato individualmente a GPU o CPU. L'algoritmo di auto-ottimizzazione rileva hardware (CUDA/MPS/DirectML), calcola il budget VRAM (incluso LLM), e distribuisce i modelli bilanciando velocità GPU e parallelismo CPU. Barra budget VRAM in tempo reale nel tab Configurazione |
| 21 mar 2026 | Sistema Plugin LLM | Plugin per backend LLM alternativi: Ollama (default) e LM Studio. Auto-discovery all'avvio, backend selezionabile dal tab Configurazione. Il backend viene rilevato automaticamente (auto) senza configurazione manuale |
| 21 mar 2026 | Indicatori stato modelli migliorati | Nuovo schema semafori a 4 stati: verde (VRAM), ambra (CPU), rosso (errore), grigio (disabilitato). BioCLIP con fallback automatico su CPU se VRAM insufficiente |
| 21 mar 2026 | Gallery più veloce | Lettura cache disco spostata su thread worker: la gallery non blocca più la GUI anche con centinaia di risultati |
| 14 mar 2026 | Splash screen minimizzabile | La finestra di avvio è ora minimizzabile durante il caricamento dei modelli AI |
| 10 mar 2026 | Modalità "Solo Gen. AI" | Aggiorna solo tag, descrizione e titolo (LLM) su foto già nel database, saltando EXIF ed embedding |
| 7 mar 2026 | Supporto multilingua completo | GUI, LLM output e ricerca tag indipendenti: 6 lingue (IT/EN/FR/DE/ES/PT), traduzione automatica offline |
| 3 mar 2026 | Ricerche salvate | Salva e richiama configurazioni di ricerca complete con un click |
Storico completo nelle Discussions.
Sei un fotografo che vuole catalogare migliaia di immagini RAW senza affidarle a servizi cloud? Vuoi cercare le tue foto con linguaggio naturale ("tramonto con montagne") mantenendo tutto sul tuo PC? OffGallery è la risposta.
| Funzionalità | Descrizione |
|---|---|
| 100% Offline | Nessun dato lascia mai il tuo computer. Tutti i modelli AI girano localmente |
| Supporto multilingua | GUI, output LLM e ricerca tag indipendenti: 6 lingue (IT, EN, FR, DE, ES, PT). Tag e descrizioni nella lingua che preferisci, anche diversa dalla lingua dell'interfaccia |
| Potente ricerca Semantica /tags/Exif/+vari | Cerca con linguaggio naturale e/o combo complesse; traduzione automatica query per CLIP (EN) e per tag (lingua contenuti); salva e richiama ricerche preferite in un click |
| Supporto RAW Nativo | 25+ formati RAW supportati (Canon CR2/CR3, Nikon NEF, Sony ARW, Fuji RAF...) |
| Ricerca similarità visiva | Un semplice click per trovare immagini simili, doppioni, etc. |
| Import da catalogo Lightroom | Elabora direttamente i file indicizzati in un catalogo .lrcat come sorgente di input, senza dover specificare cartelle manualmente |
| Integrazione Lightroom | Sincronizzazione/export bidirezionale XMP con rating, tag e metadati. Nessun dato proprietario viene modificato |
| Plugin LLM | Sistema plugin per backend LLM alternativi (Ollama, LM Studio). Auto-discovery all'avvio, cambio backend senza riavvio |
| Valutazione Estetica | Score automatico della qualità artistica (0-10) |
| Identificazione Specie | BioCLIP2 riconosce ~450.000 specie con tassonomia completa a 7 livelli |
| Geotag Offline | Gerarchia geografica automatica da GPS: paese, regione, città — senza API esterne, dati GeoNames bundled |
| Statistiche | Tipologia, Date, Metadati, Attributi, Strumentazione usata, Tempi di posa, Ratings etc. |
Tutti i componenti girano localmente, completamente offline:
┌─────────────────────────────────────────────────────────────────┐
│ OFFGALLERY │
├─────────────────────────────────────────────────────────────────┤
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ CLIP │ │ DINOv2 │ │ BioCLIP │ │ LLM Vision │ │
│ │ Ricerca │ │Similarità│ │ Flora │ │ (Plugin: Ollama │ │
│ │Semantica │ │ Visiva │ │ Fauna │ │ o LM Studio) │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────────────┘ │
│ ┌──────────────────────┐ ┌────────────────────────────────┐ │
│ │ Aesthetic Predictor │ │ MUSIQ (Technical Quality) │ │
│ │ Valutazione 0-10 │ │ Analisi nitidezza/rumore │ │
│ └──────────────────────┘ └────────────────────────────────┘ │
│ ┌──────────────────────────┐ ┌──────────────────────────┐ │
│ │ Argos Translate │ │ Geocoding Inverso │ │
│ │ Query EN + tag lingua │ │ GPS → Paese/Regione/Città│ │
│ └──────────────────────────┘ └──────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
OffGallery offre ricerca semantica, analisi immagini con più modelli AI, workflow completo con Lightroom e export XMP. Consulta il Manuale Utente completo → per la descrizione dettagliata di ogni funzione, tab e opzione.
| Funzione | Descrizione rapida |
|---|---|
| Ricerca Semantica | Linguaggio naturale, traduzione automatica offline, cursore di soglia |
| Ricerca per Tag | Fuzzy matching case-insensitive, ricerche salvate |
| Filtri Avanzati | Camera, obiettivo, ISO, diaframma, tempo, data, rating, score, colore |
| Analisi AI | CLIP · DINOv2 · BioCLIP2 · LLM Vision · Score Estetico · Score Tecnico · Geotag |
| Device per-modello | Ogni modello AI assegnabile a GPU o CPU individualmente; auto-ottimizzazione con budget VRAM e rilevamento LLM |
| Workflow Lightroom | Import .lrcat · Import XMP · Export XMP gerarchico · Copia con struttura |
| Solo Gen. AI | Rigenera solo tag/descrizione/titolo LLM su foto già nel DB, salta EXIF ed embedding |
| Plugin LLM | Seleziona backend LLM (Ollama o LM Studio) dal tab Configurazione; plugin rilevati automaticamente |
| Componente | Minimo | Consigliato |
|---|---|---|
| RAM | 8 GB | 16 GB |
| Disco | 14 GB (CPU) / 18 GB (NVIDIA GPU) | 20 GB |
| GPU | - | NVIDIA con CUDA |
| OS | Windows 10/11, Linux 64-bit o macOS 12+ | Windows 11 / Ubuntu 22.04+ / macOS 13+ |
Note:
- GPU NVIDIA raccomandata per prestazioni ottimali. Funziona anche su CPU (più lento)
- Spazio disco: l'ambiente Python occupa ~3.5 GB senza GPU, ~7 GB con NVIDIA (PyTorch CUDA + runtime libraries). I modelli AI pesano ~6.7 GB indipendentemente dalla GPU
- Connessione internet richiesta solo al primo avvio per download modelli AI (~6.7 GB)
- Linux: testato su Ubuntu, Fedora e Arch. Altre distribuzioni con supporto conda dovrebbero funzionare
- macOS: supportato su Apple Silicon (M1/M2/M3/M4) e Intel (x86_64). Su Apple Silicon PyTorch usa Metal/MPS senza CUDA
OffGallery funziona anche su WSL2 con interfaccia grafica tramite WSLg (incluso in Windows 11 e Windows 10 aggiornato).
Requisiti:
- WSLg attivo (Windows 11 o Windows 10 aggiornato)
- Installa nella home Linux (es.
~/OffGallery)
Il wizard installa e configura tutto automaticamente.
Opzione A - Download ZIP (consigliato):
- Clicca il pulsante verde "<> Code" in alto a destra
- Seleziona "Download ZIP"
- Estrai lo ZIP scegliendo la cartella padre dove vuoi che risieda OffGallery
Attenzione all'estrazione: lo ZIP contiene già una cartella
OffGallery-mainal suo interno — quella è la root dell'app. Se fai "Estrai tutto" in una cartella già chiamataOffGallery, ottieniOffGallery\OffGallery-main\(doppia cartella inutile). Corretto: estrai inC:\Programs\→ si creaC:\Programs\OffGallery-main\, che puoi rinominare come vuoi (es.OffGallery). Con git clone il problema non esiste: la cartella creata è già la root.
Opzione B - Git clone:
git clone https://github.com/HEGOM61ita/OffGallery.git- Apri la cartella
installer - Doppio click su
INSTALLA_OffGallery.bat - Segui le istruzioni a schermo
- Apri un terminale nella cartella OffGallery
- Esegui:
bash installer/install_offgallery.sh
- Segui le istruzioni a schermo
- Apri un terminale nella cartella OffGallery
- Esegui:
bash installer/install_offgallery_mac.sh
- Segui le istruzioni a schermo
Apple Silicon (M1/M2/M3/M4): PyTorch utilizza automaticamente Metal/MPS per l'accelerazione GPU — nessuna configurazione aggiuntiva necessaria.
Nota Gatekeeper: al primo avvio di
OffGallery.appoOffGallery.command, macOS potrebbe mostrare un avviso di sicurezza. Usa tasto destro → Apri per confermarlo. L'installer rimuove già l'attributo quarantine automaticamente, quindi l'avviso normalmente non compare.
Il wizard installa automaticamente tutto il necessario: Miniconda, ambiente Python, librerie, ExifTool e opzionalmente Ollama per le descrizioni AI. Al termine crea un collegamento per avviare l'app (.lnk sul Desktop su Windows, voce nel menu applicazioni su Linux, OffGallery.app in ~/Applications cercabile via Spotlight e Launchpad su macOS).
Tempo stimato: 20-40 minuti. Al primo avvio, OffGallery scarica automaticamente i modelli AI (~6.7 GB). Gli avvii successivi saranno completamente offline.
Windows - script batch separati:
installer/01_install_miniconda.bat- Verifica/installa Minicondainstaller/02_create_env.bat- Crea ambiente Pythoninstaller/03_install_packages.bat- Installa librerieinstaller/06_setup_ollama.bat- Ollama + LLM Vision (opzionale)
Linux - usa il wizard install_offgallery.sh che copre tutti gli step, oppure installa manualmente:
- Installa Miniconda per Linux
conda create -n OffGallery python=3.12 --override-channels -c conda-forge -yconda run -n OffGallery pip install -r installer/requirements_offgallery.txt- Installa ExifTool:
sudo apt install libimage-exiftool-perl(Ubuntu/Debian) o equivalente - (Opzionale) Installa Ollama e
ollama pull qwen3.5:4b-q4_K_M
macOS - usa il wizard install_offgallery_mac.sh che copre tutti gli step, oppure installa manualmente:
- Installa Miniconda per macOS (scegli la versione arm64 per Apple Silicon, x86_64 per Intel)
conda create -n OffGallery python=3.12 --override-channels -c conda-forge -yconda run -n OffGallery pip install -r installer/requirements_offgallery.txt- Installa ExifTool:
brew install exiftool(richiede Homebrew) o scarica il.pkgda exiftool.org - (Opzionale) Installa Ollama e
ollama pull qwen3.5:4b-q4_K_M - Avvia:
conda run -n OffGallery python gui_launcher.py
Per una guida passo-passo completa, consulta installer/INSTALL_GUIDE.md.
L'interfaccia ha 7 tab: Elaborazione · Ricerca · Galleria · Statistiche · Esportazione · Configurazione · Log.
Workflow tipico: importa una cartella o un catalogo .lrcat → elabora con AI → cerca con linguaggio naturale → esporta XMP verso Lightroom.
| Sistema | Metodo consigliato |
|---|---|
| Windows | Doppio click sul collegamento OffGallery.lnk creato sul Desktop dall'installer |
| macOS | Apri OffGallery.app da ~/Applications o cerca con Spotlight |
| Linux | Usa la voce nel menu applicazioni, oppure bash installer/offgallery_launcher.sh dalla cartella dell'app |
Attenzione (Windows): non copiare o spostare
OffGallery_Launcher.batsul Desktop o in altre cartelle — il file.batusa il suo percorso per trovare l'applicazione e non funziona se spostato. Usa sempre il collegamento.lnkcreato dall'installer, che punta al.batoriginale. Se hai perso il collegamento: tasto destro suinstaller\OffGallery_Launcher.bat→ Invia a → Desktop (crea collegamento).
Manuale Utente completo (IT): docs/USER_MANUAL_IT.html — Descrizione dettagliata di ogni tab, opzione, badge, concetti avanzati (BioCLIP, geotag, sync state) e troubleshooting.
Per la documentazione completa delle opzioni di configurazione, consulta CONFIGURATION.md.
OffGallery utilizza un sistema di plugin per la generazione di tag, descrizioni e titoli tramite modelli LLM Vision. I plugin vengono rilevati automaticamente dalla cartella plugins/ all'avvio dell'applicazione.
| Plugin | Backend | Endpoint default | Note |
|---|---|---|---|
| Ollama | Ollama locale | http://localhost:11434 |
Default. Supporta qwen3.5, llava, gemma3 e altri modelli vision |
| LM Studio | LM Studio server | http://localhost:1234 |
Alternativa con supporto AMD/DirectML. Compatibile con modelli VL (qwen3-VL consigliato) |
- Vai nel tab Configurazione
- Nella sezione Connessione LLM, seleziona il backend desiderato dal menu a tendina
- Verifica che endpoint e modello siano corretti
- Clicca Test Connessione per verificare
Il cambio di backend non richiede riavvio. I tag e le descrizioni già generati nel database restano invariati.
offgallery/
├── gui/ # Moduli interfaccia PyQt6
│ ├── processing_tab.py # Orchestrazione elaborazione + sorgente catalogo
│ ├── search_tab.py # Ricerca semantica + filtri
│ ├── gallery_tab.py # Visualizzazione risultati
│ ├── export_tab.py # Export XMP/CSV + copia con struttura
│ └── ...
├── embedding_generator.py # Generazione embedding multi-modello
├── retrieval.py # Motore di ricerca
├── db_manager_new.py # Gestione database SQLite
├── raw_processor.py # Estrazione RAW ottimizzata
├── xmp_manager_extended.py # Lettura/scrittura XMP
├── geo_enricher.py # Geolocalizzazione offline GPS → GeOFF
├── catalog_readers/ # Lettori cataloghi esterni
│ └── lightroom_reader.py # Legge .lrcat (SQLite) → lista file
├── plugins/ # Plugin LLM (auto-discovery)
│ ├── llm_ollama/ # Backend Ollama (default)
│ └── llm_lmstudio/ # Backend LM Studio
├── utils/ # Utility cross-platform
│ ├── paths.py # Path resolver (script/EXE/WSL)
│ └── copy_helpers.py # Copia con struttura multi-disco
├── aesthetic/ # Modelli valutazione estetica
├── device_allocator.py # Rilevamento hardware e allocazione device per-modello
├── exiftool_files/ # ExifTool per metadati EXIF
├── database/ # Database SQLite
├── INPUT/ # Cartella import immagini
└── config_new.yaml # Configurazione
JPG JPEG PNG TIFF TIF WEBP BMP
| Produttore | Formati |
|---|---|
| Canon | CR2, CR3, CRW |
| Nikon | NEF, NRW |
| Sony | ARW, SRF, SR2 |
| Fujifilm | RAF |
| Panasonic | RW2 |
| Olympus/OM | ORF |
| Pentax | PEF, DNG |
| Leica | DNG, RWL |
| Adobe | DNG |
| Altri | 3FR, IIQ, X3F |
OffGallery è progettato con la privacy come principio fondamentale:
- Zero telemetria: Nessun dato viene raccolto o inviato
- Offline dopo primo avvio: Al primo avvio i modelli AI vengono scaricati dal repository HuggingFace congelato. Dopo il download, l'app funziona completamente offline
- Repository congelato: I modelli sono hostati su un repository controllato (
HEGOM/OffGallery-models) per garantire stabilità e compatibilità delle versioni - Storage locale: Database SQLite + embedding in formato binario
- Nessuna API key: Non servono account o abbonamenti
Questo progetto è in sviluppo attivo. Tutte le funzionalità e migliorie sono aggiunte gradualmente senza una roadmap pubblica.
Questo progetto segue un modello di sviluppo centralizzato. Attualmente, non sono accettati contributi di codice esterno (pull requests).
Segnalazioni di bug, idee e suggerimenti per nuove funzionalità sono benvenuti nelle Discussions del progetto. In particolare, sono apprezzati feedback sulle prestazioni con la descrizione dell'hardware utilizzato (GPU, RAM, modello Ollama) per migliorare l'ottimizzazione su diverse configurazioni.
Questo progetto è fornito "as-is". Non ho la possibilità di provvedere per un supporto individuale, risoluzione di problemi o assistenza nell'installazione. Si prega di far riferimento alla documentazione. Segnalazioni che descrivono chiaramente errori riproducibili saranno esaminate appena possibile.
Distribuito sotto licenza AGPL-3.0. Vedi LICENSE per maggiori informazioni.
- TRADEMARK.md - Informazioni sui marchi registrati
- THIRD_PARTY.md - Licenze e attribuzioni software di terze parti
- OpenAI CLIP - Ricerca semantica
- Meta DINOv2 - Embedding visivi
- BioCLIP - Classificazione flora/fauna
- Ollama - LLM locali
- ExifTool - Metadati EXIF/XMP
- PyQt6 - Framework UI
Fatto con passione per i fotografi che tengono alla loro privacy
Torna su | 🇬🇧 English version below
Intelligent AI photo cataloging for photographers who care about their privacy
Semantic and aesthetic analysis of your photos with local AI. Zero cloud. Zero compromises.
Note
🌍 Full Multilingual Support
OffGallery supports 6 languages (IT, EN, FR, DE, ES, PT) independently at every level:
- GUI language: select your language in Configuration → Interface Language
- LLM output language (tags, descriptions, titles): choose independently from the GUI language. Tags are generated and stored in the configured language
- CLIP semantic search: always runs in English internally (maximum accuracy) with automatic transparent query translation
- Tag/keyword search: query is automatically translated to the tag language (same as
llm_output_language) before matching, ensuring correct results even with tags in French, German, etc.
All translations use Argostranslate — completely offline. Translation packages are downloaded on first use; the Log panel notifies you of their status.
A photographer's tool to catalog thousands of RAW images without sending them to any cloud service. Search your photos with natural language ("sunset over mountains") while keeping everything on your own machine.
| Feature | Description |
|---|---|
| 100% Offline | No data ever leaves your computer. All AI models run locally |
| Multilingual | GUI, LLM output and tag search are independent: 6 languages (IT, EN, FR, DE, ES, PT). Tags and descriptions in any language, different from the UI language if you prefer |
| Powerful Search | Natural language semantic search + tag/EXIF/score filters; automatic query translation for CLIP (EN) and tag matching (content language); save and recall favorite searches in one click |
| Native RAW Support | 25+ RAW formats (Canon CR2/CR3, Nikon NEF, Sony ARW, Fuji RAF…) |
| Visual Similarity | One click to find similar images or near-duplicates |
| Lightroom Catalog Import | Process files directly from a .lrcat catalog — read-only, no catalog modification |
| Lightroom Integration | Bidirectional XMP sync: ratings, tags, metadata. No proprietary data is modified |
| LLM Plugins | Plugin system for alternative LLM backends (Ollama, LM Studio). Auto-discovery at startup, switch backends without restart |
| Aesthetic Scoring | Automatic artistic quality score (0–10) |
| Species Identification | BioCLIP2 recognizes ~450,000 species with full 7-level taxonomy |
| Offline Geotagging | Automatic geographic hierarchy from GPS: continent, country, region, city — no external API, bundled GeoNames data |
| Statistics | Camera, dates, metadata, gear, exposure, ratings and more |
All components run locally, completely offline:
┌─────────────────────────────────────────────────────────────────┐
│ OFFGALLERY │
├─────────────────────────────────────────────────────────────────┤
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ CLIP │ │ DINOv2 │ │ BioCLIP │ │ LLM Vision │ │
│ │ Semantic │ │ Visual │ │ Flora │ │ (Plugin: Ollama │ │
│ │ Search │ │Similarity│ │ Fauna │ │ or LM Studio) │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────────────┘ │
│ ┌──────────────────────┐ ┌────────────────────────────────┐ │
│ │ Aesthetic Predictor │ │ MUSIQ (Technical Quality) │ │
│ │ Artistic score 0-10 │ │ Sharpness / noise analysis │ │
│ └──────────────────────┘ └────────────────────────────────┘ │
│ ┌──────────────────────────┐ ┌──────────────────────────┐ │
│ │ Argos Translate │ │ Reverse Geocoding │ │
│ │ EN query + tag language │ │ GPS → Country/Region/City│ │
│ └──────────────────────────┘ └──────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
OffGallery provides semantic search, multi-model AI image analysis, full Lightroom workflow and XMP export. See the Full User Manual → for a detailed description of every feature, tab and option.
| Feature | Quick description |
|---|---|
| Semantic Search | Natural language, automatic offline translation, threshold slider |
| Tag Search | Case-insensitive fuzzy matching, saved searches |
| Advanced Filters | Camera, lens, ISO, aperture, shutter, date, rating, score, colour |
| AI Analysis | CLIP · DINOv2 · BioCLIP2 · LLM Vision · Aesthetic Score · Technical Score · Geotag |
| Per-model device | Each AI model individually assignable to GPU or CPU; auto-optimization with VRAM budget and LLM detection |
| Lightroom Workflow | .lrcat import · XMP import · Hierarchical XMP export · Structured copy |
| AI Gen. Only | Regenerate tags/description/title (LLM) on existing DB photos, skip EXIF and embeddings |
| LLM Plugins | Select LLM backend (Ollama or LM Studio) from the Configuration tab; plugins auto-detected |
| Component | Minimum | Recommended |
|---|---|---|
| RAM | 8 GB | 16 GB |
| Disk | 14 GB (CPU) / 18 GB (NVIDIA GPU) | 20 GB |
| GPU | — | NVIDIA with CUDA |
| OS | Windows 10/11, Linux 64-bit or macOS 12+ | Windows 11 / Ubuntu 22.04+ / macOS 13+ |
Notes:
- NVIDIA GPU recommended for best performance. CPU-only works but is slower
- Disk space: Python environment ~3.5 GB without GPU, ~7 GB with NVIDIA (PyTorch CUDA + runtime). AI models ~6.7 GB regardless of GPU
- Internet required only on first launch to download AI models (~6.7 GB); fully offline afterwards
- macOS: Apple Silicon (M1/M2/M3/M4) and Intel supported. PyTorch uses Metal/MPS on Apple Silicon — no CUDA needed
Option A — Download ZIP (recommended):
- Click the green "<> Code" button at the top right
- Select "Download ZIP"
- Extract to the parent folder where you want OffGallery to live
Extraction note: the ZIP already contains an
OffGallery-mainfolder — that folder is the app root. Extract to e.g.C:\Programs\→ you getC:\Programs\OffGallery-main\, which you can rename freely.
Option B — Git clone:
git clone https://github.com/HEGOM61ita/OffGallery.git- Open the
installerfolder - Double-click
INSTALLA_OffGallery.bat - Follow the on-screen instructions
bash installer/install_offgallery.shbash installer/install_offgallery_mac.shApple Silicon (M1/M2/M3/M4): PyTorch automatically uses Metal/MPS for GPU acceleration — no extra configuration needed.
The wizard installs everything automatically: Miniconda, Python environment, libraries, ExifTool and optionally Ollama for AI descriptions. On completion it creates a launcher shortcut (Desktop .lnk on Windows, application menu entry on Linux, OffGallery.app in ~/Applications on macOS).
Estimated time: 20–40 minutes. On first launch OffGallery downloads AI models (~6.7 GB). All subsequent launches are fully offline.
Linux:
- Install Miniconda for Linux
conda create -n OffGallery python=3.12 --override-channels -c conda-forge -yconda run -n OffGallery pip install -r installer/requirements_offgallery.txt- Install ExifTool:
sudo apt install libimage-exiftool-perl(Ubuntu/Debian) or equivalent - (Optional) Install Ollama and
ollama pull qwen3.5:4b-q4_K_M
macOS:
- Install Miniconda for macOS (arm64 for Apple Silicon, x86_64 for Intel)
conda create -n OffGallery python=3.12 --override-channels -c conda-forge -yconda run -n OffGallery pip install -r installer/requirements_offgallery.txt- Install ExifTool:
brew install exiftool - (Optional) Install Ollama and
ollama pull qwen3.5:4b-q4_K_M
For a full step-by-step guide see installer/INSTALL_GUIDE.md.
| Date | What | Notes |
|---|---|---|
| 22 Mar 2026 | Per-model device allocation with auto-optimization | Each AI model (CLIP, DINOv2, BioCLIP, Aesthetic, MUSIQ) can be individually assigned to GPU or CPU. Auto-optimization detects hardware (CUDA/MPS/DirectML), calculates VRAM budget (including LLM), and balances GPU speed vs CPU parallelism. Real-time VRAM budget bar in Configuration tab |
| 21 Mar 2026 | LLM Plugin System | Plugins for alternative LLM backends: Ollama (default) and LM Studio. Auto-discovery at startup, backend selectable from the Configuration tab. Backend auto-detected (auto) with no manual setup needed |
| 21 Mar 2026 | Improved model status indicators | New 4-state semaphore scheme: green (VRAM), amber (CPU), red (error), grey (disabled). BioCLIP with automatic CPU fallback if VRAM is insufficient |
| 21 Mar 2026 | Faster Gallery | Disk cache reads moved to worker threads: gallery no longer blocks the GUI even with hundreds of results |
| 14 Mar 2026 | Minimizable splash screen | Startup loading screen can now be minimized while AI models load |
| 10 Mar 2026 | "AI Gen. Only" mode | Regenerate tags/description/title (LLM) on existing DB photos, skipping EXIF and embeddings |
| 7 Mar 2026 | Full multilingual support | GUI, LLM output and tag search independently configurable: 6 languages, automatic offline translation |
| 3 Mar 2026 | Saved searches | Save and recall complete search configurations in one click |
Full history in Discussions.
The interface has 7 tabs: Processing · Search · Gallery · Statistics · Export · Configuration · Log.
Typical workflow: import a folder or .lrcat catalog → process with AI → search with natural language → export XMP to Lightroom.
| OS | Recommended method |
|---|---|
| Windows | Double-click the OffGallery.lnk shortcut created on the Desktop by the installer |
| macOS | Open OffGallery.app from ~/Applications or search via Spotlight |
| Linux | Use the application menu entry, or run bash installer/offgallery_launcher.sh from the app folder |
Windows note: do not copy or move
OffGallery_Launcher.batto the Desktop or any other folder — the.batuses its own location to find the application and will fail if moved. Always use the.lnkshortcut created by the installer, which points to the original.bat. If you lost the shortcut: right-clickinstaller\OffGallery_Launcher.bat→ Send to → Desktop (create shortcut).
Full User Manual (EN): docs/USER_MANUAL_EN.html — Detailed description of every tab, option, badge, advanced concepts (BioCLIP, geotagging, sync state) and troubleshooting.
OffGallery uses a plugin system for generating tags, descriptions and titles via LLM Vision models. Plugins are auto-detected from the plugins/ folder at startup.
| Plugin | Backend | Default endpoint | Notes |
|---|---|---|---|
| Ollama | Local Ollama | http://localhost:11434 |
Default. Supports qwen3.5, llava, gemma3 and other vision models |
| LM Studio | LM Studio server | http://localhost:1234 |
Alternative with AMD/DirectML support. Compatible with VL models (qwen3-VL recommended) |
- Open the Configuration tab
- In the LLM Connection section, select the desired backend from the dropdown
- Verify that endpoint and model are correct
- Click Test Connection to verify
Switching backends does not require a restart. Tags and descriptions already in the database are not affected.
Standard: JPG JPEG PNG TIFF TIF WEBP BMP
RAW:
| Manufacturer | Formats |
|---|---|
| Canon | CR2, CR3, CRW |
| Nikon | NEF, NRW |
| Sony | ARW, SRF, SR2 |
| Fujifilm | RAF |
| Panasonic | RW2 |
| Olympus/OM | ORF |
| Pentax | PEF, DNG |
| Leica | DNG, RWL |
| Adobe | DNG |
| Others | 3FR, IIQ, X3F |
OffGallery is built with privacy as a core principle:
- Zero telemetry: No data is collected or transmitted
- Offline after first launch: AI models are downloaded from a frozen HuggingFace repository on first launch. After that the app runs completely offline
- Frozen repository: Models are hosted on a controlled repository (
HEGOM/OffGallery-models) to guarantee version stability and compatibility - Local storage: SQLite database + binary embeddings on your disk
- No API keys: No accounts or subscriptions required
Distributed under the AGPL-3.0 license. See LICENSE for details.
- TRADEMARK.md — Trademark information
- THIRD_PARTY.md — Third-party software licenses and attributions
- OpenAI CLIP — Semantic search
- Meta DINOv2 — Visual embeddings
- BioCLIP — Flora/fauna classification
- Ollama — Local LLMs
- ExifTool — EXIF/XMP metadata
- PyQt6 — UI framework
Built with passion for photographers who value their privacy

