Per sviluppatori e curiosi del lato tecnico. Tutto gira su un Mac Mini. Nulla esce dalla tua rete.
Ostler usa tre database specializzati, ciascuno ottimizzato per un tipo di query diverso:
| Archivio | Tecnologia | Scopo |
|---|---|---|
| Archivio vettoriale | Qdrant | Semantic search. “Find people similar to this description.” Stores your embeddings (nomic-embed-text), scaling to hundreds of thousands of vectors. |
| Grafo della conoscenza | Oxigraph | Structured relationships. SPARQL queries over your knowledge-graph triples. “Who knows whom? What happened when?” |
| Cache + bus di messaggi | Valkey | Ricerche rapide, instradamento dei messaggi in tempo reale tra i servizi, stato della sessione. (Fork di Redis 7.2 della Linux Foundation.) |
Tutti e tre girano come servizi launchd. Su un Mac Mini M4, i database usano meno di 2GB di RAM, lasciando il resto a Ollama e ai modelli di IA (che richiedono 6–12GB a seconda della dimensione del modello).
Tutta l'inferenza di IA gira localmente tramite Ollama. Nessuna chiamata ad API cloud. Nessuna fatturazione a consumo. Nessuna esfiltrazione di dati.
| Modello | Uso | Prestazioni |
|---|---|---|
| Qwen 3.5 9B | Assistente IA, elaborazione delle conversazioni, estrazione di fatti | ~30 tok/s su M4 |
| nomic-embed-text | Embedding vettoriali per la ricerca semantica | ~200 embedding/s |
Il sistema è adattivo all'hardware. I profili delle impostazioni configurano la selezione dei modelli e le dimensioni dei batch in base all'hardware disponibile. Un Mac Mini M1 esegue modelli più piccoli; un Mac Studio M2 Ultra ne esegue di più grandi.
Nel momento in cui lo installi, Ostler legge i dati direttamente dalle app integrate del tuo Mac’s. Nessuna esportazione necessaria. Nessuna attesa.
| Sorgente | Cosa leggiamo | Autorizzazione |
|---|---|---|
| Safari | Cronologia di navigazione, segnalibri, elenco letture | Full Disk Access |
| iMessage | Conversazioni, partecipanti, marche temporali | Full Disk Access |
| Apple Notes | Titoli delle note, contenuto testuale, cartelle | Full Disk Access |
| Calendar | Eventi, partecipanti, luoghi | Full Disk Access |
| Photos | Etichette dei volti, posizioni GPS, date (non il contenuto dell'immagine) | Full Disk Access |
| Reminders | Attività, date di scadenza, elenchi | Full Disk Access |
| Apple Mail | Oggetti, mittenti, date (non il corpo dell'e-mail) | Full Disk Access |
Tutti i database vengono aperti in sola lettura per prevenire la corruzione. Ogni estrattore gestisce le differenze di schema tra le versioni di macOS (Ventura, Sonoma, Sequoia). Full Disk Access è facoltativo – puoi saltarlo e usare comunque le importazioni GDPR.
Per dati storici più approfonditi, 20 parser leggono dalle esportazioni di dati GDPR:
| Piattaforma | Dati importati | Formato |
|---|---|---|
| Contatti, carriera, referenze, messaggi (metadati) | CSV | |
| Amici, eventi, diario | JSON | |
| Follower, seguiti, amici stretti | JSON | |
| Riferimenti incrociati telefonici | JSON | |
| Twitter / X | Contatti sincronizzati (riferimento incrociato telefonico) | JS |
| Google Calendar | Eventi, partecipanti, luoghi | ICS |
| iCloud | Contatti (tramite CardDAV) | vCard |
| Estrazione delle firme, analisi delle intestazioni | MBOX | |
| Browser | URL della cronologia, titoli delle pagine | Safari / Chrome |
La stessa persona appare in modo diverso sulle varie piattaforme. “John Smith” su LinkedIn, “johnnyboy” su Instagram, “+44 7XXX XXXXXX” su WhatsApp. Il risolutore di identità le abbina usando:
Il risolutore dispone di 38 test automatizzati che coprono le strategie di corrispondenza esatta, fuzzy, per telefono, per e-mail e per sottoinsieme di nomi.
Quando una conversazione viene registrata (tramite l'app Ostler RemoteCapture sul tuo Mac o con importazione manuale), passa attraverso una pipeline a più fasi:
Ogni fase è idempotente (rieseguibile senza duplicati), ha un backoff esponenziale in caso di errore e registra la versione del prompt che l'ha generata.
Livello di acquisizione macOS databases (instant) · GDPR imports · macOS app · iOS app · Browser extension Livello di elaborazione Conversation pipeline · Identity resolver · Fact extraction · Relationship signals Livello di intelligenza Ollama (Qwen 3.5 9B) · nomic-embed-text · SPARQL queries · Vector search Livello di archiviazione Qdrant (vectors) · Oxigraph (RDF graph) · Valkey (cache + bus) · SQLite (coaching) Livello di interfaccia Assistant (iMessage · Email) · Personal Wiki · iOS app
Dipendenze totali: Python 3.11+, Ollama. Nessun account cloud richiesto. Nessuna chiave API. Nessun abbonamento.
Locale · Verificabile · Tuo