>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
TypeScript

Come trasformare iMessage in un telecomando per la tua vita digitale

Situazione familiare: sei seduto in un bar e hai bisogno di controllare urgentemente cosa c'è nel calendario di domani o di scrivere rapidamente un'email a un collega. Aprire il laptop sembra uno sforzo eccessivo, e passare da un'app mobile all'altra è ancora peggio. In momenti come questi, vorresti semplicemente inviare un messaggio a qualcuno: "Ehi, controlla i miei task e ricordamelo domani mattina" — e che funzioni e basta.

Il progetto boop-agent serve proprio a questo. È un agente personale che vive nel tuo iMessage e sa come gestire i tuoi dati e strumenti.

Boop

Cos'è esattamente

Chris Raroc, l'autore del progetto, l'ha costruito inizialmente per sé stesso. Aveva bisogno di un assistente proattivo che potesse "boopare" (da qui il nome — come quando un cane ti spinge con il muso) con un messaggio se c'è qualcosa di importante. Non è solo un chatbot che risponde alle domande. È una combinazione di un LLM, un database per la memoria e un enorme numero di integrazioni.

La caratteristica principale è il modello di "abbonamento". Non devi necessariamente comprare token API di Anthropic o OpenAI. Boop può agganciarsi alle tue sessioni locali di Claude Code o ChatGPT/Codex. Se hai già un abbonamento a pagamento a questi servizi, ti basta fare login via CLI sul tuo Mac, e l'agente usa quell'accesso.

Come funziona sotto il cofano

L'architettura assomiglia a un piccolo ufficio. C'è un "Dispatcher" — l'agente principale che riceve i tuoi messaggi in iMessage. È piuttosto minimal: non ha accesso diretto a internet o ai tuoi file. Il suo compito è capire l'intento, cercare nella memoria e decidere quali "specialisti" chiamare in aiuto.

Una volta che il task è chiaro, il Dispatcher genera dei sub-agenti. Ad esempio, se chiedi: "Riepiloga i miei messaggi Slack non letti", viene creato un agente temporaneo a cui vengono assegnati permessi specifici per Slack. Esegue il lavoro, restituisce il risultato al Dispatcher e scompare. Questo approccio fa risparmiare molto contesto e rende il comportamento della rete neurale più prevedibile.

Boop che risponde dentro iMessage

Cosa sa fare Boop out of the box

Il progetto si posiziona come template, ma la lista di funzionalità è già solida.

Memoria a tre livelli

L'agente non dimentica semplicemente il contesto dopo che una conversazione finisce. Ha memoria a breve termine, a lungo termine e permanente. Tutto questo gira su Convex. Una volta al giorno, viene eseguito un processo di "consolidamento": tre diverse reti neurali (proposer, adversary e judge) discutono tra loro su quali fatti su di te sono importanti, cosa è obsoleto e dove ci sono contraddizioni. Il risultato è che l'agente ha sempre uno snapshot aggiornato delle tue preferenze e piani.

Mille integrazioni tramite Composio

L'autore non ha scritto manualmente i connettori per ogni servizio. Ha usato Composio — una piattaforma che fa da ponte verso Gmail, Notion, GitHub, Slack e un centinaio di altri strumenti. Una chiave API — e il tuo agente può creare task in Linear o cercare file su Google Drive.

Dati Apple locali

Questa è una funzionalità solo Mac. Boop può prelevare dati dai tuoi database locali di iMessage, Note Apple e Promemoria. Ed è fatto in modo piuttosto privato: i dati non volano interamente nel cloud, l'agente vi accede localmente tramite sqlite o AppleScript.

Browser al guinzaglio

Se un servizio non ha un'API corretta, Boop può lanciare un Chrome locale (tramite Patchright). Può fare login sui siti web ed eseguire azioni nell'interfaccia. C'è persino una modalità "prendi il controllo": se l'agente incontra l'autenticazione a due fattori, può chiederti di fare login manualmente nella finestra aperta, e poi continuare da solo.

Grafo della memoria nella dashboard di debug di Boop

Stack tecnico e avvio

Per farlo funzionare, ti serve un Mac (se vuoi le integrazioni Apple) e diversi account.

  1. LLM Runtime: Claude Code o Codex/ChatGPT.
  2. Sendblue: un servizio che funge da gateway per iMessage. Hanno un tier gratuito per gli sviluppatori di agenti.
  3. Convex: un database real-time. Il tier gratuito è più che sufficiente.
  4. ngrok: così Sendblue può raggiungere il tuo server locale tramite webhook.

L'installazione è standard: npm install, poi npm run setup. Uno script interattivo ti guiderà attraverso tutte le configurazioni e creerà .env.local. Dopo di che, npm run dev avvia tutto insieme: server, database, dashboard e tunnel.

A proposito della dashboard. Il progetto ha un pannello admin React molto carino. Lì puoi vedere il tuo grafo della memoria, i log del lavoro dei sub-agenti e configurare automazioni (ad esempio, un report email giornaliero alle 9 del mattino).

Vista agenti nella dashboard di debug di Boop

Cosa usarla per

Vedo diversi scenari in cui Boop semplifica davvero la vita:

  • Promemoria intelligenti: "Ricordami domani di comprare cibo per cani quando ti scrivo riguardo al lavoro."
  • Raccolta contestuale: "Cosa abbiamo discusso con Ivan su Slack la settimana scorsa riguardo al design?"
  • Task di routine: "Controlla la mia email, estrai tutte le fatture di questo mese e mettile in una cartella su Drive."

Verdetto: vale la pena provarlo

Boop non è un prodotto finito per utenti finali — è un framework potente per chi vuole costruire un "Jarvis" personalizzato per le proprie esigenze. Il codice è scritto in TypeScript, la struttura del progetto è chiara, e usare abbonamenti esistenti a Claude/ChatGPT rende il costo di esecuzione quasi nullo.

Se hai una serata libera e la voglia di automatizzare i tuoi task quotidiani attraverso un messenger familiare — questo repository è un ottimo punto di partenza. Tieni solo a mente: l'autore avverte fin dall'inizio che il codice non è ottimizzato per una sicurezza rigorosa, quindi non fidarti subito dell'agente con le chiavi di tutte le tue casseforti. Ma per gestire il calendario e le email — è proprio quello che ci vuole.

Progetti correlati