Un clone di Photoshop
Costruito in casa con l'AI. Meglio di GIMP?
Non lo dice il marketing: lo dice il tempo che ci ho messo.
Dalla shell a Sonia: quando l'AI smette di rispondere e comincia a fare.
me@linuxday:~$
[ok] kernel linux
[ok] shell pronta
[ok] agenti collegati
Tre pretesti per una domanda sola: chi comanda, tu o il modello?
Costruito in casa con l'AI. Meglio di GIMP?
Non lo dice il marketing: lo dice il tempo che ci ho messo.
Nel kernel Linux. Trovate, discusse, chiuse. L'AI accelera chi le cerca — e chi le sfrutta.
La sicurezza non è un optional: è il motivo per cui esistono i guardrail.
La mia AI vocale. Gira in locale, sotto i 15 GB di RAM. Le parli, lei usa i tool. Demo alla fine.
Voce dentro, azioni fuori. È l'interfaccia più naturale che abbiamo.
// tre indizi, una direzione: l'AI che tocca il sistema.
La community free e open source è divisa. Come sempre davanti alle cose dirompenti. Ogni tecnologia ha cambiato il lavoro, ha avuto pro e contro, e nessuno è tornato indietro.
Meno attrito. Più cose fatte, meno passaggi. Chi non sa programmare costruisce.
Più dipendenza. Errori amplificati, potere concentrato, lavoro che cambia sotto i piedi.
Non si torna indietro. Si sceglie come andare avanti.
Il repository della community Arch ha chiuso la porta al codice generato. Non per paura: per manutenzione.
Qualcuno quei pacchetti li deve leggere, capire, firmare, tenere in vita.
Anche lì l'AI resta fuori dalla filiera. La fiducia si costruisce riga per riga, non con un prompt.
La community non è contro l'AI. È contro il codice che nessuno ha capito.
// la manutenzione è un atto di fiducia.
Un sistema dove non scrivi il comando. Chiedi il risultato, e qualcuno i comandi li scrive per te.
Gli chiedi qualcosa, ti dà un testo. Chiudi la chat: il sistema non è cambiato.
Completa la riga, propone il comando. Decidi tu, premi tu, sbagli tu.
Legge i file, esegue, guarda il risultato, corregge. E torna indietro se qualcosa non torna.
Buzzword? Un po'. Ma la differenza tra 2 e 3 è reale: nel 3 c'è un processo che tocca il tuo sistema.
Trent'anni di forum, errori e debugging. Il più grande archivio di "come si risolve" mai scritto dall'umanità.
// dal comando scritto a mano al comando delegato: stessa shell.
$ man intro
$ journalctl -xe
… 30 anni di risposte pronte
$ grep -r "strano errore" /usr/share/doc
$ git log --oneline | head
a1f3c2 fix: era il PATH
9d21ab fix: era sempre il PATH
Le ho sentite tutte. Sono tutte giuste. Nessuna è un buon motivo per non farlo.
Certo. Anche tu. Ma lui non si offende quando lo correggi, e lascia un log.
Un agente con sudo è un utente con sudo. Il problema non è l'AI: sono i permessi.
Se il modello è in cloud, i dati escono. Se è locale, restano. Scegli tu dove.
Pensare consuma. Un agente è un processo in più, non un miracolo gratis.
Nessuna di queste è una ragione per non farlo.
Sono tutte ragioni per farlo bene.
$ docker system prune -a --volumes
…e l'ambiente di sviluppo è sparito. In un container, certo.
$ btrfs subvolume list /
Snapshot, rollback, e tre ore a capire quale subvolume era quello giusto.
$ babysit --agent
Il babysitter che doveva controllare l'agente era un altro agente.
«Tanto è in un container.»
// il container non è un confine morale.
La chiamata pericolosa non parte: si apre una richiesta di approvazione. Puoi dire sì, no, o fermare tutto.
Anche da telefono. Anche a metà run.
Non serve un agente perfetto.
Serve un agente interrompibile.
Sonia è un assistente vocale LLM + STT + TTS che gira tutto in locale. Niente GPU dedicata, meno di 15 GB di RAM. Italiano e inglese.
Puoi interromperla mentre parla: mette in pausa, riprende o annulla. Come una persona.
ASR, TTS, VAD e turn detection girano sulla tua macchina. L'unico pezzo esterno al progetto è il modello LLM: un llama-server sulla stessa macchina.
Timer, note, shell. La chiamata viene ricontrollata contro le tue parole. Un modello da 4B non spara comandi a caso.
$ bun run models-download # ASR, TTS, turn, VAD · ~3,3 GiB
$ systemctl --user start llama-server
$ bun run start # http://127.0.0.1:8095/
// comandi come il tuo utente, con CMD_MODE=off | ask | auto per la shell.
Un sandbox leggero con bubblewrap e Nix. Niente Docker, niente demone, niente sudo: solo namespace e bind mount.
Il vero $HOME, /etc e /root sono invisibili. I processi dell'host non esistono. Un rm -rf sbagliato resta qui.
Rete, store Nix in scrittura, directory corrente, stesso utente. Non è un confine per codice ostile: è riduzione del danno.
$ ./start-sandbox.sh
=== sandbox-bwrap-nix development shell ===
nix · git · bun · uv · opencode · pi-coding-agent · jcode · codex
Il guardrail migliore è quello
che non dipende dal modello.
Un'app web durable e multiplayer per agenti Pi. Gira sulla tua macchina, o sul tuo telefono. Nessuna VM in cloud.
Ogni chiamata è salvata mentre accade. Riavvii il server? Il lavoro continua.
Più persone nella stessa sessione: presenza, chat, note, turni.
L'assistente che guarda le altre sessioni, le segue e ti dice com'è andata.
«Quando la CI su main fallisce, sistemala e dimmelo.» Repository, PR, webhook.
Detta nel messaggio, o parla con PiP. La voce è già un'interfaccia.
Estensioni e temi: il tuo agente, le tue regole, il tuo aspetto.
$ git clone https://github.com/TannerMidd/pi-pocket
$ cd pi-pocket && npm install && npm start
Node ≥ 22.19 · Linux, macOS, Windows, Android (Termux) · MIT
Server in salotto, Raspberry, un vecchio portatile, Termux sul telefono. Stessa app, stesso agente.
systemd, SSH, container, log, permessi. Un agente non deve inventare il sistema: lo usa.
Puoi leggere il codice, rompere tutto, aggiustarlo. E nessuno può cambiarti le regole da remoto.
La differenza tra "un'AI che mi risponde" e "un agente che lavora per me" è tutta qui: il controllo della macchina.
// il sistema operativo è il corpo dell'agente.
Guarda tre cose: il piano, l'approvazione, il diff. Il resto è contorno.
Se la demo fallisce,
è Linux. Non l'AI. (forse)
Testuale, scriptabile, osservabile. È il terreno naturale per un agente.
È un processo con permessi, log e un piano. Trattalo come tale.
Non se l'AI entrerà nel sistema. Con quali guardrail, quali dati, quali mani.
Non si torna indietro.
Si torna a scegliere.
Domande? Demo? Oppure parlate direttamente con Sonia: è qui fuori.
Queste slide sono HTML, fatte con un agente. Le trovate nel repo.
Sonia e sandbox-bwrap-nix sono progetti di grigio. Pi Pocket è di TannerMidd.