Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

782 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🇮🇹 Italiano  |  🇬🇧 English

OffGallery Logo

OffGallery

Sistema di catalogazione intelligente per fotografi, che rispetta la tua privacy

Python PyTorch CUDA License Offline Windows Linux macOS

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 SigLIP: multilingua nativo (Google SigLIP so400m) — la query viene passata direttamente senza traduzione, in qualsiasi lingua
  • 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.


Ultime Novità

Data Cosa Note
11 lug 2026 Plugin gratuiti per tutti Tutti i plugin (BioNomen, GeoNames, GeoSpecies, NaturArea, Meteo, Ollama, LM Studio, Contesto Prompt) sono ora liberamente scaricabili, senza più richiesta via email. Windows e Linux: installali dall'installer grafico, sezione «Plugin». macOS: scarica lo zip dalla pagina plugin ed estrai in plugins/. Gli zip contengono solo il codice; i dati (mappe, database specie) vengono scaricati a runtime. Incluso un fix a BioNomen: i nomi comuni escono sempre nella lingua di output selezionata.
20 mag 2026 Ricerca semantica potenziata con SigLIP (Google) Sostituisce CLIP con google/siglip-so400m-patch14-384: multilingua nativo (cerca in italiano direttamente, senza traduzione), addestrato su 10B coppie immagine-testo, più accurato su query in linguaggio naturale. Embedding 1152 float.
20 mag 2026 Ricerca semantica velocissima e interrompibile Completamente non bloccante: la UI resta reattiva durante la ricerca su 22.000+ immagini. Pulsante Stop funzionante. Fetch ottimizzato in due passaggi: embedding separati dai metadati, metadati caricati solo per i risultati che superano la soglia.
8 mag 2026 Installer guidato Windows — OffGallerySetup.exe Wizard in 5 schermate: rileva la GPU (NVIDIA/AMD/CPU), installa Miniconda, Python, librerie, modelli AI (~8 GB) e opzionalmente Ollama. Nessun terminale, nessuna configurazione manuale. Crea collegamento sul Desktop.
8 mag 2026 Installer guidato Linux — OffGallerySetup Wizard grafico nativo per Linux (Ubuntu, Fedora, Arch e compatibili). chmod +x OffGallerySetup && ./OffGallerySetup — installa tutto e crea la voce nel menu applicazioni. Nessun terminale necessario.
22 apr 2026 Compatibilità Darktable e altri editor Supporto completo al workflow Darktable: lettura sidecar .NEF.xmp / .ARW.xmp (convenzione nomefile.EXT.xmp), preservazione namespace proprietari nella creazione di nuovi sidecar, import XMP→DB e sync badge dalla Gallery, opzione Output format: Lightroom / Darktable nel tab Export. Compatibile con Lightroom, Darktable, Capture One, digiKam, ACDSee, FastRawViewer

Storico completo nelle Discussions.


Perché OffGallery?

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.

Caratteristiche Principali

Funzionalità Descrizione
Installazione one-click (Windows e Linux) OffGallerySetup.exe (Windows) e OffGallerySetup (Linux) installano tutto in automatico: Miniconda, Python, librerie, modelli AI (~8 GB) e Ollama. Nessun terminale. macOS: script guidato incluso nella cartella installer/
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; SigLIP multilingua nativo (nessuna traduzione); traduzione automatica query 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 con editor fotografici Sincronizzazione/export bidirezionale XMP con rating, tag e metadati. Compatibile con Lightroom (.xmp), Darktable (.EXT.xmp), Capture One, digiKam, ACDSee, FastRawViewer e qualsiasi software che rispetti lo standard XMP. Nessun dato proprietario viene modificato
Plugin LLM Backend LLM alternativi: Ollama e LM Studio. Auto-discovery all'avvio, cambio backend senza riavvio
Plugin Dati BioNomen (nomi comuni biologici da GBIF), GeoNames (gerarchia geografica), GeoSpecies (BioCLIP contestuale per GPS), NaturArea (aree protette WDPA + habitat ESA), Meteo (contesto meteo storico)
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.

OffGallery Screenshot


Motori di Analisi

Tutti i componenti core girano localmente, completamente offline:

┌──────────────────────────────────────────────────────────────────────┐
│                           OFFGALLERY                                 │
├──────────────────────────────────────────────────────────────────────┤
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────────────────┐ │
│  │  SigLIP  │  │  DINOv2  │  │ BioCLIP2 │  │ LLM Vision (Plugin)  │ │
│  │ Ricerca  │  │Similarità│  │ ~450k    │  │  Ollama · LM Studio  │ │
│  │Semantica │  │  Visiva  │  │ specie   │  │  tag · desc · titolo │ │
│  └──────────┘  └──────────┘  └──────────┘  └──────────────────────┘ │
│  ┌──────────────────────┐  ┌──────────────────────────────────────┐  │
│  │  Aesthetic Predictor │  │  MUSIQ (Technical Quality)           │  │
│  │  Score artistico 0-10│  │  Nitidezza · rumore · qualità ottica │  │
│  └──────────────────────┘  └──────────────────────────────────────┘  │
│  ┌───────────────────────┐  ┌─────────────────────────────────────┐  │
│  │  Argos Translate      │  │  GeoNames (Plugin)                  │  │
│  │  Query SigLIP (ML)    │  │  GPS → Continente/Paese/Regione/    │  │
│  │  + lingua tag offline │  │  Città  (dati GeoNames bundled)     │  │
│  └───────────────────────┘  └─────────────────────────────────────┘  │
├──────────────────────────────────────────────────────────────────────┤
│  Plugin opzionali                                                    │
│  ┌─────────────────┐  ┌────────────────────┐  ┌──────────────────┐  │
│  │   GeoSpecies    │  │    NaturArea        │  │  Meteo           │  │
│  │ BioCLIP locale  │  │ Aree protette WDPA │  │ Condizioni meteo │  │
│  │ per GPS (GBIF)  │  │ + habitat ESA      │  │ storiche al GPS  │  │
│  └─────────────────┘  └────────────────────┘  └──────────────────┘  │
│  ┌─────────────────────────────────────────────────────────────────┐ │
│  │  BioNomen — nomi comuni biologici (GBIF, 6 lingue)              │ │
│  └─────────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────┘

Funzionalità

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
Plugin Dati BioNomen · GeoNames · GeoSpecies · NaturArea · Meteo — arricchimento contestuale su foto già nel DB, avviabile dalla Gallery o in batch

Requisiti di Sistema

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

WSL2 (Windows Subsystem for Linux)

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.


Installazione

1. Scarica OffGallery

Opzione A - Download ZIP (consigliato):

  1. Clicca il pulsante verde "<> Code" in alto a destra
  2. Seleziona "Download ZIP"
  3. Estrai lo ZIP scegliendo la cartella padre dove vuoi che risieda OffGallery

Attenzione all'estrazione: lo ZIP contiene già una cartella OffGallery-main al suo interno — quella è la root dell'app. Se fai "Estrai tutto" in una cartella già chiamata OffGallery, ottieni OffGallery\OffGallery-main\ (doppia cartella inutile). Corretto: estrai in C:\Programs\ → si crea C:\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

2. Installa con il Wizard

Windows

Scarica OffGallerySetup.exe, fai doppio click e segui il wizard. Nessun terminale, nessuna configurazione manuale.

Nota SmartScreen: al primo avvio Windows potrebbe mostrare un avviso di sicurezza. Clicca "Ulteriori informazioni" → "Esegui comunque". L'avviso è dovuto all'assenza di firma digitale EV, non a problemi di sicurezza.

Linux

Scarica OffGallerySetup, rendilo eseguibile e avvialo:

chmod +x OffGallerySetup && ./OffGallerySetup

Nessun terminale necessario dopo l'avvio — il wizard installa tutto graficamente.

macOS

  1. Apri un terminale nella cartella OffGallery
  2. Esegui:
    bash installer/install_offgallery_mac_it.sh
  3. 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.app o OffGallery.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 (su Windows il wizard crea un collegamento sul Desktop, 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.

Installazione manuale (alternativa)

Linux - usa OffGallerySetup (wizard one-click) oppure installa manualmente:

  1. Installa Miniconda per Linux
  2. conda create -n OffGallery python=3.12 --override-channels -c conda-forge -y
  3. conda run -n OffGallery pip install -r installer/requirements_offgallery.txt
  4. Installa ExifTool: sudo apt install libimage-exiftool-perl (Ubuntu/Debian) o equivalente
  5. (Opzionale) Installa Ollama e ollama pull qwen3-vl:8b-instruct-q4_K_M

macOS - usa il wizard install_offgallery_mac_it.sh che copre tutti gli step, oppure installa manualmente:

  1. Installa Miniconda per macOS (scegli la versione arm64 per Apple Silicon, x86_64 per Intel)
  2. conda create -n OffGallery python=3.12 --override-channels -c conda-forge -y
  3. conda run -n OffGallery pip install -r installer/requirements_offgallery.txt
  4. Installa ExifTool: brew install exiftool (richiede Homebrew). In alternativa scarica il pacchetto da SourceForge — il sito exiftool.org al momento non distribuisce i download (vedi la nota in home page)
  5. (Opzionale) Installa Ollama e ollama pull qwen3-vl:8b-instruct-q4_K_M
  6. Avvia: conda run -n OffGallery python gui_launcher.py

Istruzioni Dettagliate

  • Windows: il wizard OffGallerySetup.exe guida l'intera installazione — non è necessaria una guida separata.
  • Linux/macOS: guida passo-passo completa in installer/INSTALL_GUIDE_IT.md.

Utilizzo

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.

Avviare OffGallery

Sistema Metodo consigliato
Windows Doppio click sul collegamento OffGallery creato sul Desktop dal wizard OffGallerySetup.exe
macOS Apri OffGallery.app da ~/Applications o cerca con Spotlight
Linux Usa la voce nel menu applicazioni, oppure bash installer/offgallery_launcher_linux.sh dalla cartella dell'app

Manuale Utente completo (IT): HTML/USER_MANUAL_IT.html — Descrizione dettagliata di ogni tab, opzione, badge, concetti avanzati (BioCLIP, geotag, sync state) e troubleshooting.


Configurazione

Per la documentazione completa delle opzioni di configurazione, consulta CONFIGURATION.md.


Sistema Plugin

OffGallery include un sistema di plugin auto-discovery: i plugin vengono rilevati automaticamente dalla cartella plugins/ all'avvio, senza configurazione manuale. Tutti i plugin elencati sono inclusi nel pacchetto principale.

I plugin si dividono in due categorie:

Plugin LLM — generazione testo

Abilitano la generazione automatica di tag, descrizioni e titoli tramite modelli LLM Vision locali. La generazione LLM è opzionale: senza un plugin LLM attivo, OffGallery funziona normalmente per tutte le altre funzioni (CLIP, DINOv2, BioCLIP, score, ricerca, geo, EXIF).

Plugin Backend Endpoint default Note
Ollama Ollama locale http://localhost:11434 Ottimizzato per qwen3-VL, llava, gemma3. Supporto think=false, diagnostica timing, warmup/unload VRAM
LM Studio LM Studio server http://localhost:1234 API OpenAI-compatible. Supporto AMD/DirectML, unload via CLI lms. Consigliato: qwen3-VL. Plugin sviluppato da Riccardo Merlotti

Il backend attivo si seleziona dal tab Configurazione → Connessione LLM. Il cambio non richiede riavvio; i dati già generati nel database restano invariati.

Come installarli: i plugin sono gratuiti. Su Windows/Linux usa l'installer grafico, sezione «Plugin». Su macOS scarica lo zip dalla pagina plugin ed estrai la cartella in plugins/.

Plugin Dati — arricchimento contestuale

Arricchiscono le foto già nel database con informazioni aggiuntive derivate dai metadati (GPS, data, tassonomia BioCLIP). Si avviano dalla Gallery (menu contestuale sulla foto) o in batch dal tab Elaborazione.

Plugin Funzione Richiede Output
GeoNames Gerarchia geografica completa da GPS GPS nella foto Continente → Paese → Regione → Città; filtro Luogo con autocompletamento
GeoSpecies Restringe BioCLIP alle sole specie attese nella posizione GPS (da GBIF/eBird) GPS + BioCLIP Classificazione biologica più precisa in contesti geografici specifici
NaturArea Area protetta (database WDPA) e tipo di habitat (ESA WorldCover) GPS Campo area_protetta, campo habitat (bosco, macchia, acqua, urbano, ecc.)
Meteo Condizioni meteo storiche al momento dello scatto GPS + data/ora + connessione internet Temperatura, umidità, vento, precipitazioni, condizione (sereno/nuvoloso/pioggia…)
BioNomen Nomi comuni biologici in 6 lingue (GBIF) BioCLIP Nomi comuni aggiunti accanto al nome scientifico nel tooltip e nei tag

Come installarli: i plugin sono gratuiti. Su Windows/Linux usa l'installer grafico, sezione «Plugin». Su macOS scarica lo zip dalla pagina plugin ed estrai la cartella in plugins/. Gli zip contengono solo il codice: i dati (mappe WDPA/ESA, database specie) vengono scaricati a runtime dal pannello di configurazione di ogni plugin.

Architettura

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 (auto-discovery all'avvio)
│   ├── base.py               # Interfaccia pubblica LLMVisionPlugin
│   ├── loader.py             # Auto-detection backend
│   ├── llm_ollama/           # Plugin LLM: Ollama
│   ├── llm_lmstudio/         # Plugin LLM: LM Studio
│   ├── geonames/             # Gerarchia geografica offline
│   ├── geospecies/           # BioCLIP contestuale per GPS
│   ├── naturarea/            # Aree protette WDPA + habitat ESA
│   ├── weather_context/      # Meteo storico (richiede internet)
│   └── bionomen/             # Nomi comuni biologici GBIF
├── 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

Formati Supportati

Immagini Standard

JPG JPEG PNG TIFF TIF WEBP BMP HEIC

Formati RAW

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

Privacy e Sicurezza

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

Roadmap

Questo progetto è in sviluppo attivo. Tutte le funzionalità e migliorie sono aggiunte gradualmente senza una roadmap pubblica.


Contributi e Feedback

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.


Support Policy

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.


Licenza e Note Legali

Distribuito sotto licenza AGPL-3.0. Vedi LICENSE per maggiori informazioni.

Plugin Interface Exception

I file plugins/base.py e plugins/loader.py sono distribuiti con un'eccezione esplicita che permette di sviluppare plugin con licenze diverse dall'AGPLv3 (inclusi plugin proprietari), purché comunichino con OffGallery esclusivamente tramite l'interfaccia LLMVisionPlugin.

Vedi plugins/PLUGIN_LICENSE_EXCEPTION.md per i dettagli e le condizioni.


Ringraziamenti e Crediti

Pagina completa con licenze e descrizioni: offgallery.app/credits.html

Modelli AI

Librerie Python

Metadati e dati geografici

Assistenti AI usati nello sviluppo

Il testo completo di ogni licenza è disponibile nel file THIRD_PARTY.md e nei rispettivi repository ufficiali.


Fatto con passione per i fotografi che tengono alla loro privacy

Torna su  |  🇬🇧 English version below


OffGallery Logo

OffGallery

Intelligent AI photo cataloging for photographers who care about their privacy

Python PyTorch CUDA License Offline Windows Linux macOS

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
  • SigLIP semantic search: multilingual native (Google SigLIP so400m) — query is passed directly without translation, in any language
  • 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.


What is OffGallery?

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.

Key Features

Feature Description
One-click installer (Windows & Linux) OffGallerySetup.exe (Windows) and OffGallerySetup (Linux) install everything automatically: Miniconda, Python, libraries, AI models (~8 GB) and Ollama. No terminal needed. macOS: guided script included in the installer/ folder
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; SigLIP multilingual native (no translation needed); automatic query translation for 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
Integration with photo editors Bidirectional XMP sync: ratings, tags, metadata. Compatible with Lightroom (.xmp), Darktable (.EXT.xmp), Capture One, digiKam, ACDSee, FastRawViewer and any XMP-standard compliant software. No proprietary data is modified
LLM Plugins Alternative LLM backends: Ollama and LM Studio. Auto-discovery at startup, switch backends without restart
Data Plugins BioNomen (biological common names from GBIF), GeoNames (geographic hierarchy), GeoSpecies (GPS-contextual BioCLIP), NaturArea (WDPA protected areas + ESA habitat), Weather (historical weather context)
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

AI Engines

All core components run locally, completely offline:

┌──────────────────────────────────────────────────────────────────────┐
│                           OFFGALLERY                                 │
├──────────────────────────────────────────────────────────────────────┤
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────────────────┐ │
│  │  SigLIP  │  │  DINOv2  │  │ BioCLIP2 │  │ LLM Vision (Plugin)  │ │
│  │ Semantic │  │  Visual  │  │  ~450k   │  │  Ollama · LM Studio  │ │
│  │  Search  │  │Similarity│  │  species │  │  tags · desc · title │ │
│  └──────────┘  └──────────┘  └──────────┘  └──────────────────────┘ │
│  ┌──────────────────────┐  ┌──────────────────────────────────────┐  │
│  │  Aesthetic Predictor │  │  MUSIQ (Technical Quality)           │  │
│  │  Artistic score 0-10 │  │  Sharpness · noise · optical quality │  │
│  └──────────────────────┘  └──────────────────────────────────────┘  │
│  ┌───────────────────────┐  ┌─────────────────────────────────────┐  │
│  │  Argos Translate      │  │  GeoNames (Plugin)                  │  │
│  │  SigLIP query (ML)    │  │  GPS → Continent/Country/Region/    │  │
│  │  + tag lang. offline  │  │  City  (bundled GeoNames data)      │  │
│  └───────────────────────┘  └─────────────────────────────────────┘  │
├──────────────────────────────────────────────────────────────────────┤
│  Optional plugins                                                    │
│  ┌─────────────────┐  ┌────────────────────┐  ┌──────────────────┐  │
│  │   GeoSpecies    │  │    NaturArea        │  │  Weather         │  │
│  │ GPS-contextual  │  │ WDPA protected areas│  │ Historical meteo │  │
│  │  BioCLIP (GBIF) │  │ + ESA habitat       │  │ at shoot GPS/time│  │
│  └─────────────────┘  └────────────────────┘  └──────────────────┘  │
│  ┌─────────────────────────────────────────────────────────────────┐ │
│  │  BioNomen — common biological names (GBIF, 6 languages)         │ │
│  └─────────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────┘

Features

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
Data Plugins BioNomen · GeoNames · GeoSpecies · NaturArea · Weather — contextual enrichment on existing DB photos, from Gallery or batch

System Requirements

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

Installation

1. Download OffGallery

Option A — Download ZIP (recommended):

  1. Click the green "<> Code" button at the top right
  2. Select "Download ZIP"
  3. Extract to the parent folder where you want OffGallery to live

Extraction note: the ZIP already contains an OffGallery-main folder — that folder is the app root. Extract to e.g. C:\Programs\ → you get C:\Programs\OffGallery-main\, which you can rename freely.

Option B — Git clone:

git clone https://github.com/HEGOM61ita/OffGallery.git

2. Install with the Wizard

Windows

Download OffGallerySetup.exe, double-click it and follow the wizard. No terminal, no manual configuration needed.

SmartScreen note: on first launch Windows may show a security warning. Click "More info" → "Run anyway". The warning is due to the absence of an EV code signing certificate, not a security issue.

Linux

Download OffGallerySetup, make it executable and run it:

chmod +x OffGallerySetup && ./OffGallerySetup

No terminal needed after launch — the wizard installs everything graphically.

macOS

bash installer/install_offgallery_mac_en.sh

Apple 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 shortcut 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.

Manual installation

Linux — use OffGallerySetup (one-click wizard) or install manually:

  1. Install Miniconda for Linux
  2. conda create -n OffGallery python=3.12 --override-channels -c conda-forge -y
  3. conda run -n OffGallery pip install -r installer/requirements_offgallery.txt
  4. Install ExifTool: sudo apt install libimage-exiftool-perl (Ubuntu/Debian) or equivalent
  5. (Optional) Install Ollama and ollama pull qwen3-vl:8b-instruct-q4_K_M

macOS:

  1. Install Miniconda for macOS (arm64 for Apple Silicon, x86_64 for Intel)
  2. conda create -n OffGallery python=3.12 --override-channels -c conda-forge -y
  3. conda run -n OffGallery pip install -r installer/requirements_offgallery.txt
  4. Install ExifTool: brew install exiftool (or download the package from SourceForge — exiftool.org currently does not serve downloads)
  5. (Optional) Install Ollama and ollama pull qwen3-vl:8b-instruct-q4_K_M
  • Windows: the OffGallerySetup.exe wizard handles the entire installation — no separate guide needed.
  • Linux/macOS: full step-by-step guide in installer/INSTALL_GUIDE_EN.md.

Latest News

Date What Notes
20 May 2026 Semantic search upgraded to SigLIP (Google) Replaces CLIP with google/siglip-so400m-patch14-384: natively multilingual (search in any language directly, no translation needed), trained on 10B image-text pairs, more accurate on natural language queries. 1152-float embeddings.
20 May 2026 Blazing-fast, interruptible semantic search Fully non-blocking: UI stays responsive during search across 22,000+ images. Working Stop button. Optimised two-pass fetch: embeddings loaded separately from metadata, metadata fetched only for results above threshold.
8 May 2026 Guided installer for Windows — OffGallerySetup.exe 5-step wizard: detects your GPU (NVIDIA/AMD/CPU), installs Miniconda, Python, libraries, AI models (~8 GB) and optionally Ollama. No terminal, no manual configuration. Creates a Desktop shortcut.
8 May 2026 Guided installer for Linux — OffGallerySetup Native graphical wizard for Linux (Ubuntu, Fedora, Arch and compatible distros). chmod +x OffGallerySetup && ./OffGallerySetup — installs everything and creates an application menu entry. No terminal needed.
22 Apr 2026 Darktable & multi-editor compatibility Full Darktable workflow support: reads .NEF.xmp / .ARW.xmp sidecars (Darktable filename.EXT.xmp convention), preserves proprietary namespaces when creating new sidecars, XMP→DB import and badge sync from Gallery, Output format: Lightroom / Darktable option in Export tab. Compatible with Lightroom, Darktable, Capture One, digiKam, ACDSee, FastRawViewer

Full history in Discussions.


Usage

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.

Launching OffGallery

OS Recommended method
Windows Double-click the OffGallery shortcut created on the Desktop by the OffGallerySetup.exe wizard
macOS Open OffGallery.app from ~/Applications or search via Spotlight
Linux Use the application menu entry, or run bash installer/offgallery_launcher_linux_en.sh from the app folder

Full User Manual (EN): HTML/USER_MANUAL_EN.html — Detailed description of every tab, option, badge, advanced concepts (BioCLIP, geotagging, sync state) and troubleshooting.


Plugin System

OffGallery includes an auto-discovery plugin system: plugins are detected automatically from the plugins/ folder at startup, with no manual configuration. All plugins listed below are included in the main package.

Plugins fall into two categories:

LLM Plugins — text generation

Enable automatic generation of tags, descriptions and titles via local LLM Vision models. LLM generation is optional: without an active LLM plugin, OffGallery works normally for all other features (CLIP, DINOv2, BioCLIP, scores, search, geo, EXIF).

Plugin Backend Default endpoint Notes
Ollama Local Ollama http://localhost:11434 Optimized for qwen3-VL, llava, gemma3. think=false support, timing diagnostics, VRAM warmup/unload
LM Studio LM Studio server http://localhost:1234 OpenAI-compatible API. AMD/DirectML support, lms CLI unload. Recommended: qwen3-VL. Plugin developed by Riccardo Merlotti

The active backend is selected from Configuration → LLM Connection. Switching does not require a restart; existing database data is not affected.

How to install them: the plugins are free. On Windows/Linux use the graphical installer, «Plugins» section. On macOS download the zip from the plugins page and extract the folder into plugins/.

Data Plugins — contextual enrichment

Enrich photos already in the database with additional information derived from metadata (GPS, date/time, BioCLIP taxonomy). Run from the Gallery (context menu on a photo) or in batch from the Processing tab.

Plugin Function Requires Output
GeoNames Full geographic hierarchy from GPS GPS in photo Continent → Country → Region → City; Location filter with autocomplete
GeoSpecies Restricts BioCLIP to species expected at the GPS location (GBIF/eBird data) GPS + BioCLIP More precise biological classification in geographically specific contexts
NaturArea Protected area (WDPA database) and habitat type (ESA WorldCover) GPS protected_area field, habitat field (forest, shrubland, water, urban, etc.)
Weather Historical weather conditions at time of capture GPS + date/time + internet Temperature, humidity, wind, precipitation, condition (clear/cloudy/rain…)
BioNomen Common biological names in 6 languages (GBIF) BioCLIP Common names added alongside scientific name in tooltip and tags

How to install them: the plugins are free. On Windows/Linux use the graphical installer, «Plugins» section. On macOS download the zip from the plugins page and extract the folder into plugins/. The zips contain only the code: data (WDPA/ESA maps, species databases) is downloaded at runtime from each plugin's configuration panel.

Supported Formats

Standard: JPG JPEG PNG TIFF TIF WEBP BMP HEIC

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

Privacy & Security

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

License

Distributed under the AGPL-3.0 license. See LICENSE for details.

Plugin Interface Exception

plugins/base.py and plugins/loader.py carry an explicit exception that allows developing plugins under licenses other than AGPLv3 (including proprietary ones), provided they communicate with OffGallery exclusively through the LLMVisionPlugin interface.

See plugins/PLUGIN_LICENSE_EXCEPTION.md for full terms and conditions.


Acknowledgements & Credits

Full page with licenses and descriptions: offgallery.app/credits.html

AI Models

Python Libraries

Metadata & Geographic Data

AI Assistants used in development

Full license text for each component is available in THIRD_PARTY.md and in the respective official repositories.


Built with passion for photographers who value their privacy

Back to top  |  🇮🇹 Versione italiana

About

Catalogatore AI di immagini fotografiche · Compatibile con Lightroom — Tag automatici, Metadata e Ricerca Semantica (Offline, Multilingua) · AI Photo Catalog for Lightroom — Automatic Tagging, Metadata & Semantic Search — Fully Offline

Topics

Resources

Stars

Watchers

Forks

Used by

Contributors

Languages