In uso2026Architettura e sviluppo, per uso personaleProgetto privato, mostro solo l'architettura

Il Giardino

Un assistente AI personale che gira solo sul mio Mac, con memoria, voce e note, senza mandare i dati nel cloud.

Tutto in casa
l'assistente lavora sul computer e i dati non escono mai
Anche a voce
si parla e risponde, senza servizi esterni

Il problema

Volevo un assistente che conoscesse il mio modo di lavorare, le mie note e la mia giornata. Proprio per questo non poteva mandare niente a un servizio esterno. È il problema di chiunque lavori con informazioni riservate: l’AI sarebbe utile proprio sui dati che non possono uscire.

Cosa fa

È un assistente personale con memoria, voce e note. Ci scrivo o ci parlo dal telefono e dal Mac, e lui tiene in ordine attività, diario e appunti, e risponde anche a voce. Lavora tutto sul mio computer: l’unica cosa che chiede a internet è il meteo della città.

Le scelte che contano

  • I dati non escono, per costruzione. Le parti che usano l’AI rifiutano qualsiasi collegamento che non sia il computer stesso. La privacy è una regola del sistema, non una promessa.
  • Quello che dico si salva, quello che l’AI deduce aspetta. Ogni deduzione finisce in un cestino di proposte, e decido io se tenerla, scartarla o rimandarla. È il modo più semplice per potersi fidare di ciò che l’AI ricava.
  • Lo strumento giusto per ogni compito. Scrivere richiede un’AI grande, scegliere tra poche opzioni no. Per le scelte uso un’AI piccola, che risponde in circa 120 millisecondi invece di 8 secondi.
  • I calcoli esatti li fa il programma. Quando si parla di musica l’AI sceglie, ma note e accordi li calcola il programma, che verifica anche che la progressione proposta esista davvero.
  • Le note sono informazioni, mai ordini. L’assistente legge l’archivio come un insieme di dati e non esegue istruzioni trovate lì dentro. Le proposte che sembrano password, chiavi o coordinate bancarie vengono scartate.

A che punto è

Lo uso ogni giorno sul mio Mac. È un progetto personale e non un prodotto, per questo racconto come funziona ma non mostro schermate con contenuti reali.

Cosa vale anche per un’azienda

  • AI sulle proprie macchine, regole dentro il sistema e l’ultima parola alle persone. Sono le stesse scelte che servono a chi ha dati riservati.
  • Chiedere una cosa alla volta migliora molto i risultati. In una prova di classificazione le risposte giuste sono passate da 4 su 6 a 8 su 8.
  • Con un’AI piccola le opzioni numerate funzionano meglio delle lettere o dei nomi.

Come si muove l'informazione

Il metodo che uso con i clienti, applicato a questo progetto: si segue l'informazione da dove nasce fino a come si capisce se tutto funziona.

  1. Da dove nasceL'uso di tutti i giorni, dal telefono e dal Mac, e un archivio di note personali.
  2. Come arrivaMessaggi scritti o dettati, comandi rapidi di Siri e audio, tutto trattato sul computer.
  3. Come viene descrittaNote in semplici file di testo e un archivio consultabile, con una memoria che ritrova le cose anche per significato, non solo per parola.
  4. Cosa le succedeLa voce diventa testo, un'AI grande scrive le risposte e una piccola sceglie tra poche opzioni.
  5. Dove restaTutto resta sul Mac, con una copia di sicurezza verificata ogni giorno.
  6. Chi decideSe l'AI piccola non è sicura decide quella grande, e ogni deduzione aspetta la mia approvazione.
  7. Cosa succede dopoSi aggiornano note e archivio, e l'assistente risponde anche a voce.
  8. Come capiamo se funzionaApprovo, rifiuto o correggo; un registro dice quale parte del sistema ha preso ogni decisione.
Per chi vuole i dettagli tecnici

Come è fatto, per chi lavora nel software o vuole sapere cosa c'è sotto. I numeri hanno tutti una fonte.

  • Servizio FastAPI sul Mac avviato da launchd, raggiungibile solo in locale e, dal telefono, attraverso una rete privata. I client verso i modelli rifiutano ogni host non locale e ignorano i proxy di sistema.
  • Scrittura con Gemma da 12 miliardi di parametri e scelte con un modello da 4 miliardi, serviti da llama.cpp. Le risposte strutturate seguono uno schema JSON applicato come grammatica.
  • Per le scelte le opzioni sono numerate da 1 a 9 e si legge la probabilità di ogni cifra. Sotto una soglia decide il modello grande, e poi una tabella di parole scritta a mano.
  • Memoria semantica con EmbeddingGemma, con ricerca per parole chiave se è spenta; voce con whisper.cpp e Piper; note in Markdown in un archivio Obsidian e un database SQLite con ricerca testuale.
  • Web app installabile che funziona offline; accesso con PIN protetto da PBKDF2 e blocco progressivo; comandi rapidi di Siri con una chiave separata, valida su tre indirizzi.
Dati inviati al cloud
Nessuno, a parte il meteo per cittàfonte: guida del progetto, cap. 1
Servizi AI locali
5, raggiungibili solo da questo computerfonte: controllo dell'host in src/assistente/llm.py e config.py
Scelta tra opzioni
circa 120 ms invece di 8 sfonte: guida del progetto, cap. 9
Test automatici
811fonte: cartella tests/, conteggio del 27/09/2026

Strumenti usati: Python, FastAPI, llama.cpp, Gemma, Qwen3, EmbeddingGemma, whisper.cpp, Piper, SQLite FTS, PWA, Service Worker, Siri Shortcuts

Hai un progetto in mente?

Raccontamelo in poche righe: che cosa vorresti costruire, per chi, e che cosa ti blocca oggi. Rispondo entro un giorno lavorativo, e la prima chiacchierata è gratuita.

Scrivimiinfo@pietromey.com