Stai prenotando un’auto a noleggio online e il modulo chiede il numero e la scadenza della tua patente. La patente non è a portata di mano. Ricordi di averla fotografata l’anno scorso, fronte e retro, quando hai ricevuto quella nuova, ma quelle foto sono sepolte tra decine di migliaia di altre sul tuo iPhone. Vuoi chiedere a Comma con parole tue e ritrovare quelle due foto.
Questa guida mostra un modo per farlo: creare un indice delle tue foto con modelli locali e lasciare che Comma lo interroghi. È un esempio di configurazione su un Mac, non una funzione integrata di Comma.
La tua libreria resta in locale
Comma non ha bisogno di una copia delle tue foto. Il lavoro pesante, leggere il testo di ogni immagine e trasformare ogni foto in vettori, lo fanno modelli locali. Quello che riceve l’agente è il risultato di una ricerca: alcuni ID di foto, le loro date, il testo trovato al loro interno e, quando devi scegliere, un provino a contatto di miniature. Solo le foto che scegli alla fine vengono inviate nella chat.
Le foto stesse continuano a sincronizzarsi tramite iCloud; qui «locale» indica il riconoscimento del testo, i vettori e l’indice dopo l’esportazione. Se Comma usa un modello nel cloud, questi risultati di ricerca, e qualsiasi immagine che gli chiedi di guardare, vanno al fornitore di modelli che hai scelto. Per un documento come la patente, il testo riconosciuto contiene il numero e l’indirizzo. L’indice in sé non viene mai inviato da nessuna parte. Comma è open source, e puoi anche eseguirlo sulla tua macchina.
Crea l’indice delle foto
L’indice si aggancia al percorso che le tue foto fanno già. Sull’iPhone non cambia niente.
La configurazione richiede tre passaggi:
Porta le foto sul Mac. Sincronizza le foto dell’iPhone con il Mac tramite Foto di iCloud ed esporta ogni giorno le foto nuove in una cartella.
Elaborale con modelli locali. Riconosci il testo in ogni immagine, poi trasforma l’immagine in vettori con Chinese-CLIP e Qwen3-VL-Embedding.
Salvale in un indice locale. Conserva i risultati in un database locale, con un comando per cercarvi. In questo esempio il comando si chiama
lpa.
Che cosa restituisce una ricerca
In locale, una ricerca è un comando. Una sola chiamata può contenere più formulazioni, e i modelli si caricano una volta sola. L’agente trasforma espressioni come «l’anno scorso» in un intervallo di date.
Ogni risultato indica che tipo di prova c’è dietro:
--prefer text mette prima le corrispondenze di testo, adatte a documenti, tessere e screenshot. --prefer picture mette prima le immagini simili, adatte a un gatto o a una spiaggia. Le foto quasi identiche scattate a pochi minuti di distanza occupano un solo posto nella lista, e le altre restano raggruppate sotto.
Quando i primi risultati sono incerti, l’agente non tira a indovinare. Riunisce le miniature delle candidate in un foglio numerato, al massimo nove, e ti chiede di scegliere.
Il modo di combinare i due insiemi di vettori è stato fissato calibrando su una libreria completa di circa 50.000 foto. Con il solo Qwen3-VL-Embedding, le risposte giuste scelte da una persona finivano più in basso che con il solo Chinese-CLIP. Unendo le due classifiche, ogni elemento controllato è andato almeno altrettanto bene che con uno dei due modelli da solo. Anche «Possibile» viene assegnato solo quando la somiglianza di entrambi i modelli supera la soglia: in una query di prova, le foto segnate come «Possibile» sono scese da 4.970 a 4. Il prezzo è che una ricerca richiede da 3,5 a 6 secondi invece di circa 3.
Questo esempio gira su un MacBook Air con 16 GB di memoria, con la versione 2B di Qwen3-VL-Embedding. Su una macchina più potente puoi usare modelli Qwen più grandi:
Un modello di vettori più grande. Sostituisci Qwen3-VL-Embedding-2B con Qwen3-VL-Embedding-8B. Dopo il cambio, i vettori di tutte le foto vanno ricalcolati con il nuovo modello.
Descrizioni e tag per ogni foto. Esegui anche Qwen3-VL-4B-Instruct o Qwen3-VL-8B-Instruct per scrivere una descrizione di una riga e alcuni tag per ogni foto, e salvali nell’indice di testo. Su un MacBook Pro con 24 GB di memoria, per esempio, il modello 8B gira con quantizzazione a 8 bit. I tag servono per una prima scrematura; non è garantito che siano corretti.
E l’inglese? Chinese-CLIP è stato addestrato soprattutto su immagini e testi in cinese, quindi non è affidabile per le query in inglese. Le altre due parti non ne risentono: il riconoscimento del testo legge sia il cinese sia l’inglese, e Qwen3-VL-Embedding supporta molte lingue. Perciò metti formulazioni cinesi e inglesi nella stessa ricerca, come fa il comando qui sopra; puoi scriverlo in uno Skill. Se la tua libreria e le tue domande sono soprattutto in inglese, puoi anche sostituire Chinese-CLIP con il CLIP originale, e anche in questo caso i vettori vanno ricalcolati.
Trova familiari e amici
Foto raggruppa già i volti della stessa persona. L’indice usa direttamente questi gruppi e non fa un proprio riconoscimento facciale.
Prima dai un nome alle persone. La prima volta, l’agente prende alcuni gruppi di foto, li numera e ti chiede chi sono. Solo quando rispondi «la 3 è la mamma» se lo ricorda. Un gruppo che non hai confermato non viene trattato come nessuno.
Cerca per persona. Da lì in poi, quando nomini qualcuno, la ricerca guarda solo le foto in cui compare quella persona. I nomi si sommano: nomina due persone e otterrai solo le foto in cui ci sono entrambe, cioè le vostre foto insieme.
Combina con altre condizioni. Un nome può andare insieme a ciò che c’è nell’immagine e al periodo, per esempio «foto mie e della mamma al mare l’anno scorso»:
Se un nome non è stato confermato, o se due persone hanno lo stesso nome, la ricerca lo dice invece di tirare a indovinare. Un nome sbagliato si può correggere, e ogni correzione si può annullare.
Come si trovano i video
I video si cercano separatamente dalle foto. Una ricerca normale guarda solo le foto. Se vuoi, per esempio, il video di tuo figlio che spegne le candeline di compleanno, di’ a Comma che cerchi un video, e lui aggiunge --source video alla ricerca:
Dietro ci sono tre passaggi:
Estrarre fotogrammi. Il video in sé non entra mai in un modello. L’indicizzatore estrae un fotogramma ogni 5 secondi, al massimo 12 per video.
Cercare per fotogramma. I fotogrammi passano per la stessa elaborazione delle foto: riconoscimento del testo e i due insiemi di vettori. Una ricerca confronta questi fotogrammi; quando uno corrisponde, viene trovato l’intero video, che occupa un solo posto nei risultati.
Inviare il video. Dopo che hai scelto, l’agente lo invia con
lpa video.
Per ora guarda solo l’immagine, non il suono. Ciò che viene detto in un video non si può ancora cercare, e le persone in un video non vengono ancora riconosciute. Il numero di fotogrammi è limitato, quindi qualcosa che passa in un lampo in un video lungo potrebbe non essere trovato.
Com’è fatto LocalPhotoAgent
Il lpa di questa guida viene da LocalPhotoAgent, un indicizzatore che abbiamo scritto noi e che renderemo open source. La parte di indicizzazione è descritta sopra; altri due punti:
Si può fermare in qualsiasi momento. Ogni passaggio di ogni foto viene registrato a parte. Se lo fermi a metà, la volta dopo riprende; se cambi un’impostazione, viene rifatto solo il passaggio interessato. Mentre lavora tiene d’occhio memoria, temperatura e spazio su disco, e si mette in pausa quando uno di questi supera il limite.
Dà all’agente alcuni comandi.
lpa searchcerca,lpa sheetcrea un provino a contatto,lpa previewinvia foto elpa videoinvia video. Quando l’agente cerca foto, li chiama in quest’ordine:
Collega Comma
Si presuppone che LocalPhotoAgent funzioni già sul tuo Mac. Il collegamento richiede quattro passaggi:
Aggiungi un dispositivo. In Comma, vai in «Settings > Devices» e fai clic su «Add device» per ottenere un comando di installazione.
Esegui il comando. Eseguilo nel Terminale del Mac che contiene la libreria, per installare il Comma Connector.
Attiva l’accesso. Un nuovo dispositivo parte da «Off». Cambialo in «Full», così l’agente può eseguire
lpa.Scrivi uno Skill. Di’ all’agente di cercare prima, di inviare un provino a contatto quando non è sicuro e di inviare le foto solo dopo che hai scelto. Puoi anche chiedere semplicemente a Comma di «creare uno Skill».
Da lì in poi basta chiedere come in qualsiasi chat: «Trova le foto della mia patente dell’anno scorso, fronte e retro.»
Fiducia e limiti
L’indice legge soltanto gli originali. Non li sposta, non li modifica e non li elimina mai. Una ricerca non tocca affatto il disco esterno; solo la creazione di un provino a contatto e l’invio di una foto lo leggono. Spostare o eliminare foto è fuori da questa configurazione. Tieni però presente che con l’accesso «Full» l’agente può eseguire su questo Mac anche comandi diversi da lpa.
Un testo trovato significa solo che le parole sono state trovate, non che sia la foto che vuoi. «Possibile» è solo una candidata. Quando Comma segna una richiesta come completata, controlla le foto che ti ha inviato.
La prima volta potresti dire: «Trova le foto della mia patente dell’anno scorso. Mostrami prima il provino a contatto e non inviare, spostare o eliminare niente.»


