OffGallery

Manuale Utente
Versione 1.0  ·  Aprile 2026  ·  Italiano

1Cos'è OffGallery

OffGallery è un sistema di catalogazione e ricerca fotografica completamente offline. Analizza automaticamente ogni immagine con modelli AI locali, generando embedding semantici, tassonomia biologica, tag, descrizioni e score estetici — tutto senza inviare un singolo pixel a servizi cloud.

È progettato per fotografi che gestiscono archivi di migliaia di file RAW e vogliono trovare qualsiasi foto in secondi usando linguaggio naturale: "ritratto controluce al tramonto", "airone cenerino in volo", "paesaggio con neve e montagne".

Cosa può fare OffGallery

🔒
Privacy garantita

Nessun dato, immagine o metadato lascia mai il tuo computer. Tutti i modelli AI girano localmente. La connessione internet è richiesta solo al primo avvio per scaricare i modelli (~6,7 GB).

2Primo Avvio

Windows: dopo aver eseguito OffGallerySetup.exe, avvia OffGallery tramite il collegamento creato sul Desktop. Linux/macOS: usa il launcher corrispondente (vedi installer/INSTALL_GUIDE_IT.md). Al primo avvio l'applicazione scarica automaticamente i modelli AI (~6,7 GB totali). Un pannello di progresso mostra l'avanzamento. Questo passaggio avviene una volta sola.

  1. Windows: fai doppio click sul collegamento OffGallery sul Desktop, creato da OffGallerySetup.exe. Linux/macOS: usa il launcher nella cartella installer/.

  2. Al primo avvio appare una splash screen che scarica i modelli AI. Connessione internet necessaria solo in questo momento.

  3. Al termine del download l'interfaccia principale appare con 8 tab.

  4. (Opzionale) Assicurati che Ollama sia in esecuzione se vuoi generare tag e descrizioni LLM. Su Windows avvia l'app Ollama; su macOS/Linux il daemon parte automaticamente.

💡
Avvii successivi

Dal secondo avvio in poi OffGallery è completamente offline. Non serve alcuna connessione internet.

3Panoramica Interfaccia

L'interfaccia è organizzata in 8 tab orizzontali nella parte superiore della finestra:

TabFunzione Principale
ConfigurazioneImpostazioni modelli AI, LLM, lingua UI e output, editor esterni
ProcessingAnalisi AI delle immagini: embedding, BioCLIP, LLM, score estetico/tecnico, geotag
RicercaQuery semantica in linguaggio naturale + filtri EXIF/score/data/colore
GalleryVisualizzazione risultati con badge, anteprima e ordinamento avanzato
ExportExport XMP, copia file con struttura originale, sync con Lightroom
StatisticheAnalisi del database: tipologia, date, obiettivi, score, rating
LogMonitoraggio in tempo reale dei processi di elaborazione
PluginGestione plugin standalone: avvio, configurazione e monitoraggio progresso

3.1 Indicatori di Stato Modelli

Nell'angolo in alto a destra della finestra principale è presente una barra fissa con indicatori colorati per ogni componente AI. A colpo d'occhio puoi verificare cosa è attivo senza entrare in Configurazione.

ColoreSignificato
● VerdeComponente caricato in VRAM (GPU) — prestazioni ottimali
● AmbraComponente caricato su CPU — funzionante, ottimale per modelli leggeri (DINOv2, MUSIQ) o come fallback per modelli pesanti se la VRAM è insufficiente
● RossoComponente abilitato ma non caricato — errore di caricamento (es. modello non trovato, VRAM esaurita senza fallback)
● GrigioComponente disabilitato nella configurazione

I componenti monitorati sono: CLIP, DINOv2, BioCLIP, Aesthetic, Technical (MUSIQ), LLM Vision, ExifTool e Database.

Nota: Il colore dell'indicatore riflette il device configurato per ogni modello. Con l'allocazione per-modello (vedi sezione Device), alcuni modelli possono essere intenzionalmente su CPU (ambra) per sfruttare il parallelismo dei thread. BioCLIP ha un fallback automatico su CPU se la VRAM è insufficiente.

L'indicatore LLM mostra il nome del backend rilevato (Ollama o LM Studio) e si aggiorna automaticamente ogni 30 secondi. Con il backend impostato su auto (default), OffGallery rileva automaticamente quale server è attivo senza configurazione manuale.


4Tab Processing

Tab Processing OffGallery
Il tab Processing con selezione sorgente, opzioni AI e avvio elaborazione

Il tab Processing è il centro operativo di OffGallery. Da qui si avviano le sessioni di analisi AI che popolano il database con embedding, tag, descrizioni e metadati.

4.1 Sorgente Immagini

Nella parte superiore del tab è possibile scegliere due tipi di sorgente:

Sorgente: Directory

Comportamento predefinito. OffGallery scansiona la cartella selezionata (e le sue sottocartelle) cercando tutti i formati supportati. Usa il pulsante Sfoglia per selezionare la directory, oppure inserisci il percorso manualmente.

💡
Cartella INPUT predefinita

La cartella INPUT/ nella root di OffGallery è la destinazione predefinita. Copia qui le nuove foto da elaborare.

Sorgente: Catalogo Lightroom (.lrcat)

Seleziona direttamente un file .lrcat di Lightroom. OffGallery legge il catalogo in sola lettura tramite SQLite: estrae la lista completa dei file indicizzati (con percorso assoluto) e li usa come sorgente senza toccare il catalogo originale.

Questo approccio è ideale per:

⚠️
Catalogo in uso

Se Lightroom è aperto con il catalogo selezionato, OffGallery può comunque leggerlo (accesso in sola lettura). Il catalogo non viene mai modificato.

4.2 Modalità di Elaborazione

Tre modalità selezionabili tramite radio button:

ModalitàComportamento
Solo nuove immagini Elabora solo le immagini non ancora presenti nel database. Le foto già analizzate vengono saltate.
Nuove + errori precedenti Elabora le immagini nuove e riprova quelle che avevano dato errore in una sessione precedente.
Completa / Riprocessa tutte Elabora tutte le foto (nuove e catalogate). Con Sovrascrivi OFF: aggiunge solo i dati mancanti — ideale per completare un import interrotto o per applicare un modello che non era attivo la volta precedente. Con Sovrascrivi ON: ricalcola tutto da capo. Attivando questa modalità appare il checkbox Solo Gen. AI: vedi § 4.4.

4.3 Opzioni AI (Generazione LLM)

Il riquadro Generazione AI controlla il comportamento del modello LLM Vision:

OpzioneDescrizione
Genera TagAttiva la generazione di parole chiave descrittive dell'immagine
Genera DescrizioneAttiva la generazione di una descrizione narrativa
Genera TitoloAttiva la generazione di un titolo breve
Max tagNumero massimo di tag da generare (default: 10)
SovrascriviSe selezionato, sovrascrive tag/descrizione/titolo esistenti. Se non selezionato: per i tag fa merge (aggiunge solo i nuovi); per descrizione e titolo salta se già presenti.

Griglia: effetto di Sovrascrivi per tipo di campo

Campo Sovrascrivi OFF (default) Sovrascrivi ON
Tag Merge: aggiunge solo i tag non già presenti (case-insensitive). I tag esistenti restano invariati. Replace totale: i tag esistenti vengono sostituiti integralmente con quelli generati dal LLM.
Descrizione Skip: se la descrizione è già presente nel DB, il LLM non viene chiamato per questo campo. Genera sempre: sovrascrive la descrizione esistente con quella generata dal LLM.
Titolo Skip: se il titolo è già presente nel DB, il LLM non viene chiamato per questo campo. Genera sempre: sovrascrive il titolo esistente con quello generato dal LLM.
Embedding CLIP/DINOv2 Salta le foto che lo hanno già nel DB. Ricalcola anche se già presente.
BioCLIP tassonomia Salta le foto che la hanno già nel DB. Ricalcola anche se già presente.
Score estetico / tecnico Salta le foto che li hanno già nel DB. Ricalcola anche se già presente.
ℹ️
Merge intelligente dei tag

Con "Sovrascrivi" disattivato, il merge è case-insensitive: se il database contiene già "Uccello" e il LLM genera "uccello", il tag non viene duplicato.

Griglia combinata: Modalità × Sovrascrivi

Modalità Sovrascrivi Tag Descrizione Titolo Embedding / BioCLIP / Score
Solo nuove immagini OFF Merge (solo nuovi tag) Skip se presente Skip se presente Solo per immagini nuove
ON Replace totale Genera sempre Genera sempre
Nuove + errori precedenti OFF Merge (solo nuovi tag) Skip se presente Skip se presente Solo per immagini nuove o con errori
ON Replace totale Genera sempre Genera sempre
Completa / Riprocessa tutte OFF Merge (solo nuovi tag) Skip se presente Skip se presente Solo se mancanti nel DB
ON Replace totale Genera sempre Genera sempre Sempre rigenerati
Completa / Riprocessa tutte + Solo Gen. AI OFF / ON Merge / Replace Skip / Genera Skip / Genera Non toccati (EXIF, embedding, BioCLIP, score saltati)

4.4 Modalità "Solo Gen. AI"

Il checkbox Solo Gen. AI appare accanto a "Riprocessa tutte" quando questa modalità è selezionata. Spuntandolo si attiva una modalità speciale che agisce solo sulla generazione LLM.

Questa modalità è pensata per un caso d'uso molto frequente: hai già analizzato le foto ma vuoi aggiornare tag, descrizioni e titoli con un modello LLM migliore, senza dover rieseguire tutta la pipeline (EXIF, embedding CLIP/DINOv2, BioCLIP, aesthetic score, ecc.).

Cosa fa "Solo Gen. AI"

Cosa non fa "Solo Gen. AI"

Quando usarla

  1. Hai aggiornato Ollama a un modello più capace (es. da 4B a 7B)
  2. Vuoi rigenerare i tag in una lingua diversa
  3. I tag generati con il modello precedente erano insoddisfacenti
  4. Vuoi aggiungere descrizioni a foto già importate senza descrizione
⚠️
Prerequisito

Seleziona almeno uno fra "Genera Tag", "Genera Descrizione" o "Genera Titolo" prima di avviare in modalità Solo Gen. AI. Altrimenti OffGallery mostra un avviso.

4.5 Avvio e Monitoraggio

Premi il pulsante Avvia per iniziare l'elaborazione. Durante l'analisi:

Le elaborazioni complete e quelle interrotte dall'utente sono sicure: il database viene aggiornato dopo ogni immagine completata.

💡
Elaborazione in background

Puoi passare ad altri tab (Ricerca, Gallery) mentre l'elaborazione è in corso. Il processo continua in background.


5Tab Ricerca

Pannello di ricerca OffGallery
Il pannello di ricerca con filtri semantici, EXIF e score

Il tab Ricerca è il cuore della discovery fotografica. Combina ricerca semantica (linguaggio naturale) con filtri avanzati su metadati, score e date.

5.1 Ricerca Semantica (CLIP)

La ricerca semantica usa embedding CLIP per trovare immagini il cui contenuto visivo è simile al concetto espresso nella query, indipendentemente dalle parole usate.

  1. Digita la query in italiano nel campo di testo principale: es. "tramonto sul mare con barche".

  2. OffGallery traduce automaticamente la query in inglese (via Argostranslate offline) e la codifica con il modello CLIP.

  3. I risultati vengono ordinati per similarità coseno con tutti gli embedding nel database.

  4. Regola il cursore Soglia per filtrare risultati poco pertinenti (default ~0.20).

💡
Query descrittive funzionano meglio

Scrivi query descrittive del contenuto: "uccello in volo su sfondo cielo blu" funziona meglio di "airone" (troppo generico). Puoi includere colori, atmosfera, composizione.

5.2 Ricerca per Tag

La ricerca per tag usa fuzzy matching per trovare immagini che contengono specifiche parole chiave. La ricerca è:

Puoi combinare più tag separati da virgola per una ricerca AND.

5.3 Filtri Avanzati

I filtri si accumulano: attivarne più di uno restringe progressivamente i risultati.

CategoriaFiltri Disponibili
EXIF Camera (marca/modello), Obiettivo, Focale (mm), ISO, Tempo di posa, Diaframma (f/)
Score Score estetico minimo (0–10), Score tecnico minimo (0–10)
Rating Stelle Lightroom: da 0 a 5 (compatibile con import/export XMP)
Colore Etichetta colore (rosso, giallo, verde, blu, viola) o Bianco/Nero rilevato automaticamente
Data Intervallo date scatto (da → a)
Formato Solo RAW, Solo JPEG, o tutti
Luogo Città o regione con autocompletamento dai valori presenti nel DB (plugin GeoNames). Ricerca per contenuto, case-insensitive.
GPS 4 stati: Tutte · Solo con GPS · GPS modificato manualmente · Senza GPS (plugin GeoNames)
Nome comune Filtra per nome comune biologico con autocompletamento (plugin BioNomen). Ricerca per contenuto sul campo.
Habitat Tipo di habitat ESA WorldCover (bosco, macchia, prato, urbano, acqua…) — plugin NaturArea
Area protetta Testo libero sul nome dell'area protetta WDPA — plugin NaturArea
Condizione meteo Sereno · Parzialmente nuvoloso · Nuvoloso · Nebbia · Pioggerella · Pioggia · Neve · Temporale — plugin Meteo
ℹ️
Filtri plugin

I filtri Luogo, GPS, Nome comune, Habitat, Area protetta e Condizione meteo sono visibili solo se il plugin corrispondente è installato e ha già elaborato almeno una foto. Se il plugin non è presente, la riga non appare nell'interfaccia.

5.4 Ricerche Salvate

Puoi salvare la configurazione completa di una ricerca (query + tutti i filtri attivi) con un nome personalizzato. Le ricerche salvate sono richiamabili in un click dal menu a tendina.

  1. Configura la ricerca desiderata (query, soglia, filtri).

  2. Clicca Salva ricerca e assegna un nome.

  3. Per richiamarla in futuro: selezionala dal menu a tendina "Ricerche salvate" e premi Carica.

Le ricerche vengono salvate in database/saved_searches.json.


6Tab Gallery

Galleria OffGallery
La galleria mostra i risultati con badge, anteprime e dettagli al hover

La Galleria visualizza i risultati della ricerca corrente. Ogni immagine è mostrata come miniatura con badge informativi sovrapposti.

6.1 Badge e Indicatori

BadgeSignificato
★ 4.2Score estetico (0–10). Colore: verde >7, giallo 5–7, grigio <5
⚙ 8.1Score tecnico (nitidezza/rumore, solo immagini non-RAW)
★★★★Rating Lightroom (stelle 1–5)
B/NImmagine in bianco e nero rilevata automaticamente
Etichetta colore Lightroom (rosso/giallo/verde/blu/viola)

Tooltip al passaggio del mouse

Passando il mouse su una miniatura appare un tooltip con:

6.2 Ordinamento

Il menu Ordina per offre 7 criteri:

  1. Rilevanza (score similarità CLIP — predefinito nelle ricerche semantiche)
  2. Data scatto (crescente o decrescente)
  3. Nome file
  4. Rating (stelle)
  5. Score estetico
  6. Score tecnico
  7. Score composito (estetico + tecnico)

Per ogni criterio è possibile scegliere direzione ASC o DESC.

6.3 Menu Contestuale

Click destro su qualsiasi miniatura apre il menu contestuale con le azioni disponibili:

AzioneDescrizione
Apri in editor esternoApre il file originale in Lightroom, Capture One, o altro editor configurato
Mostra in Esplora RisorseApre la cartella contenente il file originale
Trova immagini similiAvvia una ricerca per similarità visiva (DINOv2) usando questa immagine come query
Modifica tagApre un editor inline per aggiungere/rimuovere tag manualmente
Rigenera AIRigenera tag, descrizione e titolo per questa singola immagine
Export XMPEsporta subito il file XMP per questa immagine
Esegui GeoNamesAggiorna la gerarchia geografica da GPS per questa immagine (plugin GeoNames)
Esegui NaturAreaRileva area protetta e habitat dalla posizione GPS (plugin NaturArea)
Esegui MeteoRecupera le condizioni meteo storiche al momento dello scatto (plugin Meteo — richiede internet)
Esegui BioNomenAggiunge i nomi comuni biologici nella lingua configurata (plugin BioNomen)
ℹ️
Azioni plugin nel menu contestuale

Le voci relative ai plugin appaiono nel menu contestuale solo se il plugin corrispondente è installato. Le azioni si applicano all'immagine selezionata. Per elaborare più immagini in batch, usa il tab Processing.


7Tab Statistiche

Statistiche OffGallery
Il pannello statistiche mostra analisi dettagliate del database fotografico

Il tab Statistiche offre una panoramica analitica dell'intero archivio indicizzato:


8Tab Export

Tab Export OffGallery
Il tab Export con le opzioni XMP, CSV e file immagini

Il tab Export è organizzato in tre sezioni distinte — Metadati XMP, Foglio dati CSV e File immagini — combinabili liberamente. In cima al riquadro trovi la barra dei Preset per salvare e richiamare configurazioni complete.

8.1 Preset Export

Ogni configurazione dell'intero tab (tutti i flag attivi, le opzioni avanzate) può essere salvata con un nome e richiamata in seguito.

ℹ️
Persistenza automatica

L'ultima configurazione usata viene ricordata automaticamente: la prossima volta che apri il tab, ritrovi esattamente le stesse opzioni selezionate. I preset vengono salvati in database/saved_exports.json.

8.2 Metadati XMP

Scrive file .xmp sidecar o embedded compatibili con Lightroom, DxO, Capture One e qualsiasi software che rispetta lo standard XMP/IPTC.

OpzioneDescrizione
XMP SidecarFile .xmp separato accanto all'originale
XMP EmbeddedMetadati scritti direttamente nel file immagine
Includi DNGPermette l'embedded anche nei file DNG (disabilitato di default per sicurezza)

I campi esportati includono: tag utente e LLM (dc:subject), tassonomia BioCLIP (lr:hierarchicalSubject con prefisso AI|Taxonomy|), gerarchia geografica (GeOFF|), stelle, descrizione e titolo LLM. I dati dei plugin (habitat, area protetta, meteo, nome comune) vengono scritti come campi XMP aggiuntivi se presenti.

Griglia: campi esportati in XMP per tipo di dato

DatoCampo XMPStandardVisibile in Lightroom come
Tag utente + LLMdc:subjectDublin CoreParole chiave piatte
Tassonomia BioCLIPlr:hierarchicalSubjectLightroomGerarchia AI > Taxonomy > ...
Gerarchia geografica (GeoNames)lr:hierarchicalSubjectLightroomGerarchia GeOFF > Europe > Italy > ...
Descrizione LLMdc:descriptionDublin CoreDidascalia / Caption
Titolo LLMdc:titleDublin CoreTitolo
Rating stellexmp:RatingXMP BasicStelle 1–5
Etichetta colorexmp:LabelXMP BasicEtichetta colore

Griglia: comportamento import XMP → DB

Campo nel file XMPImportato?Note
Tag (dc:subject) senza prefisso speciale✅ SìAggiunti ai tag esistenti nel DB (merge case-insensitive)
Tag con prefisso AI|Taxonomy|❌ NoFiltrati: la tassonomia BioCLIP è gestita solo internamente
Tag con prefisso GeOFF|❌ NoFiltrati: la gerarchia geografica è gestita solo internamente
Rating (xmp:Rating)✅ SìAggiorna il campo stelle nel DB
Etichetta colore (xmp:Label)✅ SìAggiorna il campo color_label nel DB
Descrizione (dc:description)✅ SìAggiorna il campo description nel DB
Titolo (dc:title)✅ SìAggiorna il campo title nel DB
Namespace proprietari (Darktable, Capture One…)⚠️ PreservatiCopiati nel nuovo XMP senza interpretazione — nessun dato proprietario viene perso

Griglia: formato output XMP per editor fotografico

EditorFormato sidecarOpzione in OffGalleryNote
Lightroomnomefile.xmpOutput format: LightroomSidecar accanto al RAW, convenzione standard
Darktablenomefile.EXT.xmpOutput format: DarktableEs. IMG_001.NEF.xmp — estensione doppia
Capture Onenomefile.xmpOutput format: LightroomLegge il formato standard Lightroom
digiKam / ACDSee / FastRawViewernomefile.xmpOutput format: LightroomCompatibili con il formato standard

Destinazione XMP

Puoi scegliere tra Accanto all'originale (il file .xmp viene creato nella stessa cartella del RAW) e Cartella unica (tutti gli XMP in una directory a tua scelta).

8.3 Foglio dati CSV

Esporta un file CSV completo con tutti i metadati del database (46 campi: dati file, camera, obiettivo, impostazioni di scatto, date, GPS, valutazioni AI, tag, ecc.).

OpzioneDescrizione
Escludi GPSOmette le colonne GPS dal CSV (coordinate, città, paese)
Escludi EXIFOmette i dati tecnici EXIF (camera, obiettivo, esposizione, ISO, flash, ecc.)

Entrambe le opzioni sono disabilitate di default: il CSV include tutto. Le colonne rimangono presenti nel file anche quando escluse (schema fisso), ma i valori sono vuoti — utile per importatori che si aspettano uno schema predefinito.

8.4 File immagini

Copia i file originali in una destinazione mantenendo la gerarchia di cartelle originale, anche quando le foto provengono da dischi diversi.

OpzioneDescrizione
Escludi GPSRimuove i tag GPS dalla copia tramite ExifTool. L'originale non viene mai modificato.
Escludi EXIFRimuove tutti i metadati EXIF dalla copia (camera, obiettivo, impostazioni). L'originale non viene mai modificato.
Mantieni strutturaRicrea la gerarchia di cartelle originale nella destinazione
Sovrascrivi esistentiSovrascrive i file se già presenti nella destinazione

Esempio con foto su due dischi:

Sorgente:
  C:\Foto\2024\Sardegna\IMG_001.NEF
  D:\Archivio\2023\Toscana\DSC_999.NEF

Destinazione (es. E:\Backup):
  E:\Backup\C_drive\Foto\2024\Sardegna\IMG_001.NEF
  E:\Backup\D_drive\Archivio\2023\Toscana\DSC_999.NEF

Su macOS il prefisso usa il nome del volume, su Linux il mount point.


9Tab Configurazione

Tab Configurazione OffGallery
Il tab Configurazione con i parametri dei modelli AI e le preferenze applicazione

Il tab Configurazione permette di personalizzare i parametri di tutti i modelli AI e le preferenze dell'applicazione. Le impostazioni vengono salvate in config_new.yaml.

Sezione: Connessione LLM

ParametroDescrizioneDefault
BackendPlugin LLM da utilizzare (Ollama, LM Studio)Ollama
EndpointURL del server LLMDipende dal plugin selezionato
ModelloNome del modello da utilizzareqwen3-vl:8b-instruct-q4_K_M
TimeoutSecondi massimi per risposta180

Sezione: Lingua

ImpostazioneDescrizione
Lingua interfacciaLingua dei menu e pulsanti dell'app (IT/EN/FR/DE/ES/PT)
Lingua output LLMLingua in cui il modello LLM genera tag e descrizioni (indipendente dalla UI)
💡
Lingue indipendenti

Puoi avere l'interfaccia in italiano e i tag generati in inglese, o viceversa. Le ricerche per tag si adattano alla lingua dei contenuti.

Sezione: Editor esterno

Configura il percorso dell'editor fotografico esterno (Lightroom, Capture One, ecc.) per aprire i file originali direttamente dalla Galleria.

Sezione: Allocazione Device per Modello

Questa sezione permette di assegnare ogni modello AI a GPU o CPU individualmente. Una tabella mostra tutti i modelli con la stima VRAM e un selettore GPU/CPU per ciascuno.

ElementoDescrizione
Tabella modelliOgni riga mostra modello, stima VRAM (~GB) e selettore GPU/CPU
Barra budget VRAMMostra in tempo reale la VRAM totale utilizzata (modelli + LLM) rispetto alla VRAM disponibile. Colore: verde (≤80%), ambra (≤95%), rosso (>95%)
Riga LLMMostra la VRAM occupata dal modello LLM (Ollama/LM Studio), rilevata automaticamente o stimata dal nome del modello
Auto-ottimizzaCalcola la distribuzione ottimale GPU/CPU in base all'hardware rilevato, al budget VRAM e alla VRAM del LLM
💡
GPU vs CPU: quando conviene la CPU?

I modelli pesanti e lenti (CLIP, BioCLIP) beneficiano della GPU. I modelli leggeri e veloci (DINOv2, MUSIQ) funzionano meglio su CPU perché i thread paralleli non si serializzano come sulla GPU. L'auto-ottimizzazione tiene conto di questo bilanciamento.

⚠️
Riavvio necessario

Le modifiche al device dei modelli richiedono il riavvio dell'applicazione per avere effetto. Un messaggio accanto al pulsante Auto-ottimizza lo ricorda.

Sezione: Modelli AI

Percorso della directory dei modelli AI (Models/). Può essere relativo alla root di OffGallery o un percorso assoluto (es. su un disco esterno capiente).


9bPlugin

Sezione Plugin OffGallery
La sezione Plugin con i moduli installati e le opzioni di configurazione

OffGallery include un sistema di plugin auto-discovery: i plugin vengono rilevati automaticamente dalla cartella plugins/ all'avvio, senza configurazione manuale. I plugin si dividono in due categorie: LLM (generazione testo) e Dati (arricchimento contestuale).

💡
Tutti i plugin sono opzionali

Senza plugin installati, OffGallery funziona normalmente per tutte le funzioni core: ricerca semantica CLIP, similarità visiva DINOv2, classificazione BioCLIP, score estetico e tecnico, filtri EXIF. I plugin aggiungono capacità ulteriori ma non sono prerequisiti.

9b.1 Plugin LLM — generazione testo

Abilitano la generazione automatica di tag, descrizioni e titoli tramite modelli LLM Vision locali. Configurazione dal tab Configurazione → Connessione LLM.

PluginBackendEndpoint defaultNote
Ollama Ollama locale http://localhost:11434 Ottimizzato per qwen3-VL, llava, gemma3. Supporto think=false, diagnostica timing, warmup/unload VRAM automatici. Consigliato per GPU NVIDIA e Apple Silicon.
LM Studio LM Studio server
Plugin di Riccardo Merlotti
http://localhost:1234 API OpenAI-compatible. Supporto AMD/DirectML, unload via CLI lms. Consigliato per GPU AMD o chi preferisce un'interfaccia grafica per la gestione modelli.

Modelli consigliati

ModelloBackendVRAM richiestaQualità output
qwen3-vl:8b-instruct-q4_K_MOllama~6 GBEccellente — consigliato
qwen3-vl:4b-instruct-q4_K_MOllama~4 GBBuona — per GPU con poca VRAM
llava:7bOllama~5 GBDiscreta
qwen3-VL (qualsiasi quantizzazione)LM StudiovariabileEccellente

Come cambiare backend

  1. Vai nel tab Configurazione
  2. Nella sezione Connessione LLM, seleziona il backend dal menu a tendina
  3. Verifica che endpoint e modello siano corretti per il backend scelto
  4. Clicca Test Connessione per verificare il collegamento
💡
Cambio senza riavvio

Il cambio di backend LLM non richiede il riavvio dell'applicazione. I tag e le descrizioni già generati nel database restano invariati.

9b.2 Plugin Dati — arricchimento contestuale

Arricchiscono le foto già nel database con informazioni aggiuntive derivate da GPS, data/ora e tassonomia BioCLIP. Si eseguono dalla Gallery (menu contestuale) o in batch dal tab Processing.

PluginFunzioneRichiedeOutput nel DB
GeoNames Gerarchia geografica completa da GPS: Continente → Paese → Regione → Città. Dati GeoNames bundled, nessuna API. GPS nella foto Campo geo_hierarchy. Abilita filtro Luogo e filtro GPS a 4 stati nella Ricerca.
GeoSpecies Restringe il campo di ricerca di BioCLIP alle sole specie biologiche attese nella posizione GPS (dati GBIF/eBird). Riduce da ~450k specie globali a un sottoinsieme geografico pertinente. Si attiva automaticamente durante l'elaborazione batch — non eseguibile manualmente dalla Gallery. GPS + BioCLIP già eseguito Aggiorna bioclip_taxonomy con classificazione più precisa.
NaturArea Identifica se la foto è stata scattata in un'area protetta (database WDPA) e il tipo di habitat (ESA WorldCover: bosco, macchia, prato, urbano, acqua…). GPS Campi protected_area e habitat. Abilita filtri Habitat e Area protetta nella Ricerca.
Meteo Recupera le condizioni meteo storiche (Open-Meteo) al momento esatto dello scatto: temperatura, umidità, vento, precipitazioni, condizione. GPS + data/ora + connessione internet Campo weather_context (JSON). Abilita filtro Condizione meteo nella Ricerca.
BioNomen Aggiunge i nomi comuni biologici nella lingua configurata (GBIF, 6 lingue). Esempio: Ardea cinerea → "Airone cenerino" (IT), "Grey Heron" (EN). BioCLIP già eseguito Campo vernacular_name. Abilita filtro Nome comune con autocompletamento nella Ricerca.

Griglia: combinazioni plugin dati e prerequisiti

Plugin GPS presente BioCLIP eseguito Internet Risultato
GeoNames✅ SìNoGerarchia geografica completa
GeoNames❌ NoSaltato — log avviso
GeoSpecies✅ Sì✅ SìNoBioCLIP raffinato per area geografica
GeoSpecies❌ No✅ SìSaltato — GPS necessario
GeoSpecies✅ Sì❌ NoSaltato — BioCLIP necessario
NaturArea✅ SìNoArea protetta + habitat rilevati
NaturArea❌ NoSaltato — GPS necessario
Meteo✅ Sì✅ SìCondizioni meteo storiche recuperate
Meteo❌ NoSaltato — GPS necessario
Meteo✅ Sì❌ NoErrore connessione — log warning
BioNomen✅ SìNo (dopo prima config)Nomi comuni aggiunti nella lingua configurata
BioNomen❌ NoSaltato — BioCLIP necessario

9b.3 Plugin Contesto Prompt — personalizzazione del prompt LLM

Il plugin Contesto Prompt inietta un blocco CONTEXT personalizzato nel prompt Vision-Language di OffGallery, orientando il modello verso il dominio fotografico specifico dell'archivio. Senza un preset attivo il comportamento è identico al prompt standard.

Preset disponibili

IconaNomeDominio
StandardPrompt standard OffGallery — nessun contesto aggiuntivo
🦋Archivio NaturalisticoSpecie, habitat, comportamento animale — fotografia scientifica
🏔Paesaggio e TerritorioGeomorfologia, luce naturale, stagione, contesto geografico
🔭AstrofotografiaOggetti celesti, costellazioni, condizioni atmosferiche
🔬Macro ScientificoDettaglio estremo, strutture microscopiche, entomologia
🐠SubacqueoSpecie marine, comportamento, condizioni di visibilità
📰Reportage e DocumentarioContesto sociale, narrativa visiva, documentazione storica
🛍Commerciale e ProdottoProdotto, brand, comunicazione visiva, composizione tecnica
🌆Street e UrbanoVita urbana, architettura, luce ambientale, interazione sociale

Come selezionare un preset

  1. Vai nel tab Plugin e clicca Configura ▸ nella card Contesto Prompt
  2. Seleziona un preset dalla lista
  3. Clicca ✅ Attiva — il preset diventa attivo per tutte le elaborazioni successive
  4. Per tornare al prompt standard seleziona ⬜ Standard e premi Attiva

Il preset attivo è mostrato accanto alla card nel tab Plugin e nel dropdown Contesto prompt del tab Elaborazione. Le impostazioni vengono ricordate tra le sessioni.

Preset utente

È possibile generare preset personalizzati tramite il modello LLM locale configurato in OffGallery:

  1. Nel dialog Configura, espandi la sezione Genera nuovo preset
  2. Descrivi il dominio fotografico nel campo testo (es. "archivio di fotografia subacquea in acque dolci, con focus su invertebrati e alghe")
  3. Clicca Genera — il modello LLM crea il blocco CONTEXT ottimizzato
  4. Rivedi il testo generato, dai un nome al preset e clicca Salva

I preset utente sono contrassegnati con ★ nella lista e possono essere eliminati con il pulsante 🗑 Elimina. I preset built-in non possono essere eliminati.

💡
Override per singola elaborazione

Dal menu contestuale della Gallery (tasto destro su una foto → Genera con LLM) è possibile selezionare un preset diverso da quello attivo per quella specifica esecuzione, senza modificare il preset globale.

9b.4 Accesso beta e installazione

📬
Accesso beta

Durante il periodo di beta testing tutti i plugin sono distribuiti gratuitamente su richiesta. Scrivere a offgallery.ai.info@gmail.com indicando:

  • Sistema operativo (Windows / Linux / macOS) e versione
  • RAM di sistema
  • GPU (modello e VRAM) — o "solo CPU" se non si dispone di GPU dedicata
  • Plugin desiderati (LLM: Ollama o LM Studio; dati: elencare quali)

L'indirizzo sarà utilizzato esclusivamente per l'invio dei plugin e per notifiche di aggiornamento — nessun altro scopo, nessuna condivisione con terze parti.

Installazione plugin (zip ricevuto)

  1. Estrarre il contenuto dello zip nella cartella plugins/ della propria installazione OffGallery.
  2. La struttura risultante deve essere:
    plugins/
    └── nome_plugin/
        ├── manifest.json
        └── nome_plugin.py  (o file principale indicato nel manifest)
  3. Riavvia OffGallery — il plugin viene rilevato automaticamente. Nel pannello Log vedrai conferma del caricamento.
💡
OffGallery non trovato automaticamente?

Se la cartella plugins/ non è visibile, verifica di aver estratto lo zip nella cartella corretta e di aver rispettato la struttura indicata sopra.

Plugin BioNomen — configurazione database specie

Il database delle specie biologiche va scaricato scegliendo i taxa di interesse (richiede internet solo la prima volta):

  1. Avvia OffGallery
  2. Vai nella tab Plugin e clicca Configura nella card BioNomen
  3. Seleziona i taxa di interesse (Aves, Mammalia, Reptilia, Amphibia, Insecta, Plantae)
  4. Clicca Scarica database

10Tab Log

Tab Log OffGallery
Il tab Log con output in tempo reale e sintassi colorata

Il tab Log è il pannello di monitoraggio centralizzato dell'applicazione. Cattura in tempo reale tutti i messaggi prodotti da qualsiasi modulo — compresi gli output di print() e stderr — e li mostra in un'area di testo scorrevole con sintassi colorata.

Contenuto del log

Formato di ogni riga

[HH:MM:SS] LEVEL    - nome.modulo - messaggio

Controlli disponibili

ControlloFunzione
Checkbox DEBUG Mostra/nasconde messaggi di debug dettagliati (molto verbosi, utili per diagnosi)
Checkbox INFO Mostra/nasconde messaggi informativi normali (operazioni in corso)
Checkbox WARNING Mostra/nasconde avvisi (file saltati, parametri fuori range)
Checkbox ERROR Mostra/nasconde errori critici. Copre anche CRITICAL
Pulsante 🗑️ Clear Svuota il log dalla visualizzazione e dalla memoria
ℹ️
Limite 500 entry

Il log mantiene in memoria al massimo 500 righe. Le più vecchie vengono eliminate automaticamente per evitare degrado delle prestazioni durante elaborazioni lunghe.

💡
Copiare il log per il supporto

Clicca nell'area di testo, premi Ctrl+A per selezionare tutto, poi Ctrl+C per copiare. Incolla il testo in un'issue GitHub o in un messaggio di supporto per fornire il contesto tecnico completo.


11BioCLIP e Tassonomia Biologica

BioCLIP2 è un modello Vision specializzato nel riconoscimento di specie biologiche. È stato addestrato su ~450.000 specie del Tree of Life e produce una classificazione tassonomica completa a 7 livelli:

Regnum › Phylum › Classis › Ordo › Familia › Genus › Species
  es: Animalia › Chordata › Aves › Pelecaniformes › Ardeidae › Ardea › Ardea cinerea

Dove appare la tassonomia

ℹ️
Separazione da tag e LLM

Il nome latino della specie (es. Ardea cinerea) è inserito programmaticamente da OffGallery — non viene chiesto al LLM, che spesso produce errori sui nomi scientifici. Il LLM usa il nome come contesto ma non lo genera.

12Geotag Offline

OffGallery legge le coordinate GPS dai metadati EXIF e le converte in una gerarchia geografica leggibile, usando dati GeoNames bundled (~130.000 città): nessuna API esterna, nessuna connessione necessaria.

Il formato output è:

GeOFF | Europe | Italy | Sardegna | Trinità d'Agultu

In export XMP appare come HierarchicalSubject con prefisso GeOFF|, visibile in Lightroom come gerarchia separata dalle keyword utente.

13Sync State XMP

OffGallery traccia lo stato di sincronizzazione di ogni immagine con il suo file XMP:

StatoSignificato
PERFECT_SYNCIl file XMP esiste ed è aggiornato con il contenuto del database
DIRTYIl database è stato aggiornato dopo l'ultimo export XMP — il file XMP è obsoleto
NO_XMPNessun file XMP ancora esportato per questa immagine
XMP_NEWERIl file XMP è stato modificato esternamente (es. da Lightroom) dopo l'ultimo import

14Supporto Multilingua

OffGallery gestisce tre livelli di lingua indipendenti:

  1. Lingua dell'interfaccia: pulsanti, menu, etichette (6 lingue: IT, EN, FR, DE, ES, PT)
  2. Lingua output LLM: lingua in cui il modello genera tag e descrizioni (configurabile separatamente)
  3. Lingua query: le query di ricerca vengono tradotte automaticamente offline via Argostranslate — puoi cercare in italiano anche se i tag sono in inglese

15FAQ — Domande Frequenti

Ollama non risponde / timeout

Verifica che Ollama sia in esecuzione. Su Windows: cerca "Ollama" nel system tray. Su macOS/Linux: esegui ollama list nel terminale. Assicurati che il modello configurato sia scaricato (es. ollama pull qwen3-vl:8b-instruct-q4_K_M).

I tag generati sono in inglese ma voglio l'italiano

Vai in Configurazione → Lingua output LLM e seleziona "Italiano". Usa poi "Solo Gen. AI" per rigenerare i tag su tutte le foto già nel database.

La ricerca semantica non trova foto pertinenti

Gli embedding CLIP potrebbero essere stati generati con una versione incompatibile del modello. Rielabora le foto con "Riprocessa tutte" dopo aver verificato le versioni delle librerie. Su Windows e Linux reinstalla tramite il wizard (OffGallerySetup.exe o OffGallerySetup); su macOS vedi installer/INSTALL_GUIDE_IT.md per i requisiti di versione.

Una foto RAW non viene elaborata

Alcuni formati RAW high-efficiency (es. NEF con compressione loss-less) non contengono un'anteprima JPEG estraibile. In questi casi OffGallery salva i metadati EXIF ma salta embedding e LLM. Controlla il tab Log per i dettagli.

Come aggiorno OffGallery?

Scarica il nuovo ZIP da GitHub ed estrai sovrascrivendo la cartella esistente. I tuoi dati (database/, INPUT/, cache/) non sono inclusi nello ZIP e restano intatti. Se hai installato con git clone, basta eseguire git pull dalla cartella di OffGallery.

Posso usare un modello o backend LLM diverso?

Sì. In Configurazione puoi selezionare un backend diverso (Ollama o LM Studio) e cambiare il modello. Modelli testati con Ollama: qwen3-vl:8b-instruct-q4_K_M (consigliato), qwen3-vl:4b-instruct-q4_K_M, llava:7b, minicpm-v. Con LM Studio: qwen3-VL (consigliato). Risultati migliori con modelli vision multimodali.

Come passo a LM Studio?

Installa LM Studio, scarica un modello vision (consigliato: qwen3-VL) e avvia il server. In OffGallery, vai in Configurazione e seleziona LM Studio: l'indirizzo si aggiorna automaticamente a http://localhost:1234. Inserisci il nome del modello e clicca Test. Nessun file da modificare a mano.

LM Studio funziona con GPU NVIDIA?

Sì. LM Studio rileva automaticamente le GPU NVIDIA e usa CUDA. Non serve configurare nulla di diverso. LM Studio è particolarmente utile per chi ha GPU AMD (supporto DirectML), dove Ollama non funziona bene. Con NVIDIA entrambi i backend funzionano.

Dopo l'aggiornamento devo riconfigurare il backend LLM?

No. Se usavi Ollama, continua a funzionare automaticamente. Il sistema rileva Ollama come backend predefinito anche se il tuo file di configurazione non ha ancora la voce corrispondente. Il selettore del backend appare nel tab Configurazione solo per chi vuole cambiare.

I dati BioCLIP appaiono come keyword in Lightroom

È il comportamento atteso. Appariranno come gerarchia separata AI > Taxonomy > ... nella struttura parole chiave di Lightroom. Non interferisce con le tue keyword.

16Troubleshooting

ProblemaCausa probabileSoluzione
Score CLIP sempre vicini a zero Embedding generati con versione errata di transformers Esegui pip install transformers==4.57.3 e reimporta le foto
Geotag errato (città sbagliata) GPS con longitudine Ovest non interpretata correttamente Rielabora le foto con versione ≥ 10 Mar 2026
App si avvia ma non mostra finestra (macOS) Segfault Qt/Cocoa al primo avvio Usa il launcher aggiornato che scarica i modelli in processo separato
Errore "mat1 and mat2 shapes cannot be multiplied" Incompatibilità versione transformers con CLIP ViT-L/14 Installa le versioni pinnate: transformers==4.57.3 huggingface-hub==0.36.0 open-clip-torch==3.2.0
Import XMP non importa alcuni tag Tag con prefisso AI|Taxonomy| o GeOFF| vengono filtrati intenzionalmente È il comportamento corretto. Questi tag sono gestiti internamente da OffGallery.
Conda non trovato all'avvio (macOS) Architettura Miniconda sbagliata (x86_64 su Apple Silicon) Reinstalla Miniconda con architettura arm64. Vedi README sezione Installazione.
Supporto e aggiornamenti

Segnala problemi e richieste su GitHub Issues. Discussioni e annunci su GitHub Discussions.

17Disinstallazione

Windows: OffGallerySetup.exe non include una funzione di disinstallazione automatica. La rimozione si esegue manualmente in due passi: eliminare l'ambiente conda e rimuovere la cartella dell'applicazione. Linux/macOS: stessa procedura — cartella estratta con ambiente conda associato.

⚠️
Prima di procedere

Esporta i metadati importanti tramite Tab Export → Export XMP o Export CSV se vuoi conservare tag, descrizioni e rating già generati.

Windows

  1. Apri il Prompt di Anaconda (Anaconda Prompt) dal menu Start.
  2. Rimuovi l'ambiente conda:
    conda deactivate
    conda env remove -n OffGallery
  3. Elimina la cartella dell'applicazione (es. C:\OffGallery-main o dove l'hai estratta) tramite Esplora File oppure da prompt:
    rmdir /s /q C:\OffGallery-main
  4. Se hai creato un collegamento sul Desktop, eliminalo manualmente.

macOS

  1. Apri il Terminale.
  2. Rimuovi l'ambiente conda:
    conda deactivate
    conda env remove -n OffGallery
  3. Elimina la cartella dell'applicazione (es. /Applications/OffGallery-main):
    rm -rf /Applications/OffGallery-main
  4. Rimuovi eventuali file di configurazione nella home:
    rm -rf ~/.offgallery

Linux

  1. Apri il terminale.
  2. Rimuovi l'ambiente conda:
    conda deactivate
    conda env remove -n OffGallery
  3. Elimina la cartella dell'applicazione:
    rm -rf ~/OffGallery-main
    (sostituisci con il percorso effettivo dove hai estratto l'app)
  4. Rimuovi eventuali file di configurazione:
    rm -rf ~/.offgallery

Cosa rimane dopo la disinstallazione

ElementoPosizioneRimosso dai passi sopra?
Ambiente conda OffGallery~/miniconda3/envs/OffGallery/Sì — conda env remove
Cartella applicazioneDove l'hai estrattaSì — rimossa manualmente
Database immaginiDentro la cartella app (database/)Sì — rimosso con la cartella
Modelli AI scaricatiDentro la cartella app (Models/) o percorso custom in config_new.yamlSolo se nella cartella app; altrimenti rimuovere manualmente
Cache HuggingFace~/.cache/huggingface/ (Linux/macOS) · %USERPROFILE%\.cache\huggingface\ (Windows)No — va rimossa manualmente se desiderato
Miniconda / conda stesso~/miniconda3/No — conda rimane installato per altri ambienti
File XMP sidecarAccanto alle foto originaliNo — sono tuoi dati, non vengono toccati
ℹ️
Cache HuggingFace

Durante il primo avvio, i modelli CLIP e DINOv2 vengono scaricati da HuggingFace e salvati sia in Models/ (nella cartella app) sia nella cache HF. La cache può occupare diversi GB. Per rimuoverla:

  • Linux / macOS: rm -rf ~/.cache/huggingface/
  • Windows: elimina la cartella %USERPROFILE%\.cache\huggingface\ da Esplora File

Se hai altri progetti che usano HuggingFace, rimuovi solo la sottocartella hub/models--HEGOM--OffGallery-models invece dell'intera cache.

ℹ️
Modelli in posizione custom

Se in config_new.yaml hai impostato un percorso assoluto per i modelli AI (es. E:\MyModels), quella cartella non viene rimossa automaticamente. Eliminala manualmente se non ti serve per altri progetti.

18Reinstallazione

Se hai rimosso OffGallery e vuoi reinstallarlo da zero, segui questi passi nell'ordine indicato per evitare conflitti con residui della vecchia installazione.

⚠️
Prima di procedere

Se hai dati da conservare (tag, descrizioni, rating), esportali prima di rimuovere la vecchia installazione tramite Tab Export → Export XMP o Export CSV.

1. Verifica che la vecchia installazione sia rimossa completamente (Windows e Linux)

Controlla che non rimangano residui della precedente installazione:

  1. Cartella applicazione: verifica che la cartella di OffGallery (es. C:\Users\nome\OffGallery o dove l'avevi installata) sia stata eliminata. Se esiste ancora, cancellala manualmente prima di procedere.
  2. Ambiente conda: apri il Prompt di Anaconda dal menu Start e verifica:
    conda env list
    Se compare OffGallery nella lista, rimuovilo:
    conda env remove -n OffGallery
    Un ambiente rimasto corrotto dalla vecchia installazione può causare errori anche nella nuova.

Windows — reinstallazione con Miniconda esistente

Se Miniconda è già installato e funzionante, puoi procedere direttamente:

  1. Scarica il nuovo OffGallerySetup.exe dal sito — non riutilizzare un installer scaricato in precedenza.
  2. Avvia l'installer. Se Windows mostra l'avviso "App non riconosciuta" (SmartScreen), clicca Ulteriori informazioniEsegui comunque: è normale per applicazioni senza firma digitale.
  3. Il wizard rileverà Miniconda già presente e creerà solo il nuovo ambiente OffGallery.

Windows — reinstallazione completa da zero (incluso Miniconda)

Se vuoi ripartire completamente da zero o Miniconda è corrotto:

  1. Disinstalla Miniconda dal Pannello di Controllo → Programmi.
  2. Scarica il nuovo OffGallerySetup.exe dal sito.
  3. Avvialo: installerà Miniconda, creerà l'ambiente OffGallery e scaricherà tutti i modelli AI (~8 GB).

macOS — reinstallazione manuale

Su macOS non è disponibile un installer grafico. Segui i passi descritti in installer/INSTALL_GUIDE_IT.md incluso nell'archivio dell'applicazione. In sintesi:

  1. Scarica l'archivio sorgente più recente da GitHub Releases ed estrailo.
  2. Apri il Terminale ed esegui lo script di installazione:
    bash installer/install.sh
  3. Lo script creerà l'ambiente conda OffGallery e scaricherà i modelli AI.

Linux — reinstallazione

Scarica il nuovo OffGallerySetup (binario Linux) dal sito, rendilo eseguibile e avvialo:

chmod +x OffGallerySetup
./OffGallerySetup
ℹ️
Modelli AI

Se hai conservato la cartella Models/ dalla vecchia installazione, puoi copiarla nella nuova cartella app e indicarne il percorso in Config → Models directory per evitare di riscaricare ~8 GB.

OffGallery  ·  Manuale Utente v1.0  ·  Aprile 2026  ·  github.com/HEGOM61ita/OffGallery  ·  Crediti e licenze