Claude è una chat in più.

aipager mette le tue sessioni di Claude Code su Telegram, tra la tua famiglia, i tuoi amici e il tuo team. Gira sul tuo computer.

Le azioni sicure partono da sole; quelle rischiose aspettano il tuo permesso.

Una sessione di Claude Code pronta sul tuo portatile, in modalità «Automatico», da cui parte ogni sessione nuova.

$curl -fsSL aipager.run/install | sh

Linux e macOS · MIT · circa un minuto

Modalità dei permessi

Tre modalità. Si parte dalla modalità «Automatico».

Ogni sessione sta in una delle tre, si sceglie per sessione e si cambia quando vuoi con /mode. La modalità «Chiedi» si ferma prima di ogni azione. La modalità «Automatico», da cui parte ogni sessione nuova, lascia che il controllo di sicurezza di Claude Code esegua da solo le azioni sicure e fermi per te quelle rischiose. La modalità «Completo» esegue tutto senza alcun controllo. Una modalità vale per le richieste di permesso di Claude Code e per nient'altro: in un gruppo, uno strumento che il ruolo di un membro non può usare viene rifiutato lo stesso, qualunque cosa dica la modalità.

aipager
bot
💬 Modalità «Chiedi»/mode ask
Prima guardo l'helper del cookie.”
🔐 Read: l'helper del cookie
src/auth/cookie.ts
🔐 api · Serve il tuo permesso
✅ Consenti❌ Nega🟢 Consenti sempre⏹ Ferma
✅ api · Consentito · Read: src/auth/cookie.ts

Ogni azione aspetta te, anche una lettura.

aipager
bot
🤖 Modalità «Automatico»predefinito
Il test clicca prima che venga impostato il cookie di sessione.”
✅Read: src/auth/cookie.ts
✅Bash: pnpm test e2e/login --trace on
🔐 Bash: Guarda le sessioni più recenti su staging
psql $STAGING_URL -c 'select id, …'
🔐 api · Serve il tuo permesso
✅ Consenti❌ Nega🟢 Consenti sempre⏹ Ferma

La lettura e il test sono partiti da soli. Un comando su staging è di quelli rischiosi, quindi si è fermato.

aipager
bot
🔓 Modalità «Completo»/mode full
/mode full
✅ api ora è in 🔓 Modalità «Completo».
sistema il test e2e del login che fallisce a caso
▸ 4 strumenti usati
Il test clicca prima che venga impostato il cookie di sessione. Dorme 5s e spera.”
✅Edit: e2e/login.spec.ts
⏳Bash: pnpm test e2e/login --repeat 10
⏳ api · Al lavoro · 4:02 · Read ×2 · Bash ×3 · Edit ×1

Nessun controllo, nessun pulsante. Solo la risposta quando ha finito.

  • ✅ Consenti · solo questa azione
  • ❌ Nega · Claude blocca l'azione
  • 🟢 Consenti sempre · aggiunge la regola che Claude propone, quando ne propone una
  • ⏹ Ferma · interrompe l'attività invece di rispondere
/mode

Mostra un pulsante per ognuna delle altre modalità; /mode ask, /mode auto e /mode full cambiano subito. Le sessioni nuove partono in modalità «Automatico», a meno che la chat non abbia scelto altro in /settings → Nuove sessioni.

Modalità «Chiedi» ⇄ «Automatico», al volo

Niente riavvio, nemmeno mentre Claude lavora: aipager preme Shift+Tab nella sessione, e la scheda dice che sta cambiando finché Claude Code non conferma la nuova modalità.

La modalità «Completo» riavvia

Passare alla modalità «Completo», o uscirne, riavvia la sessione e la conversazione resta. Solo un admin può avviare una sessione in questa modalità, o farci passare una sessione già aperta (o tu, nella tua chat privata con il bot).

Le domande arrivano lo stesso

Una modalità vale per le richieste di permesso, non per le decisioni: quando Claude ti chiede qualcosa, i pulsanti arrivano nella tua chat in qualunque modalità.

Dove vive

Tre chat. Tutto il resto è la tua vita.

  • aipagerbot
    ⏳ api · Al lavoro · 3:14 · Read ×2 · Bash ×2
    La tua chat con Claude

    Una sola chat per tutte le sessioni. Per ogni attività una scheda in diretta che si aggiorna da sola, richieste a cui rispondi con un tocco, e una barra fissata che dice cosa ha bisogno di te. Un messaggio normale va alla sessione indicata nella barra; /web manda il prossimo a un'altra sessione, e da lì in poi parli con quella.

    /status/new/mode/stop/app/<sessione> <messaggio>
  • BT
    backend-teamgruppo · uso in team
    Sara: @aipagerbot /web esegui l'e2e del login su staging
    Il gruppo del tuo team

    Metti il bot in un gruppo e chiunque sia tra le persone consentite può menzionarlo. Ogni messaggio gira con il ruolo di chi lo manda; uno strumento che quel ruolo non può usare viene rifiutato prima di partire, e ogni decisione finisce nel log di audit con il nome di chi ha toccato il pulsante.

    owneradminuserread_only
  • J
    Jimla sua chat con il bot
    🔐 web · Serve il tuo permesso
    Un'altra persona, nella sua chat

    Aggiungi la chat privata che una persona del tuo team ha con il bot e guiderà le proprie sessioni, con il suo ruolo e la sua cartella radice: le attività di Claude partono lì dentro e non leggono niente della tua cartella home fuori da lì. Chi deve solo guardare riceve read_only nel tuo gruppo.

    cartella radice dei membri~/aipager-users/<label>read_only/new

Quattro ruoli, e una regola sugli strumenti per ogni ruolo.

Il ruolo che conta è quello che hai nella chat in cui stai scrivendo, e uno strumento che un ruolo non può usare viene rifiutato prima di partire, non ti viene chiesto. Niente su Telegram e niente nella Mini App cambia chi è tra le persone consentite: solo aipager config, sul computer.

Puòowneradminuserread_only
Mandare messaggi a una sessione✓✓✓✕
«Consenti», «Nega», rispondere alle domande di Claude✓✓✓✕
Bash, e tutto quello che esegue codice✓✓✕✕
La modalità «Completo», le /settings di un gruppo, /update✓✓chat privata✕
Dove possono lavorare le loro sessioniovunqueovunquecartella radicecartella radice
Leggere i file delle credenziali (~/.ssh, …)✓✓✕✕
L'uso in team, per intero →
Giorno per giorno

Usalo come una chat.

Non è una console travestita da chat: tutto quello che già fai su Telegram funziona qui. Parlaci mentre torni a casa, buttagli lo screenshot, manda il pensiero successivo prima che il precedente sia finito.

  • 🎙️
    Dillo a voce

    Manda un vocale: viene trascritto sul tuo computer (mai nel cloud di nessuno), ti torna indietro scritto così vedi cosa ha sentito, e finisce nella sessione come se l'avessi scritto tu.

    0:07
    🎙️ Ho sentito: sistema il test e2e del login che fallisce a caso
  • 📎
    Uno screenshot del bug

    Foto e file finiscono in una cartella sul tuo computer e Claude riceve il percorso, con la tua didascalia come messaggio, o un «check this: …» quando non ce n'è una. Mandane diversi insieme e partono come un messaggio solo.

  • 📤
    Ti manda file

    Chiediglielo con parole tue, «mandami lo screenshot», e il file arriva nella chat di quella sessione subito dopo la risposta: le immagini come foto, video e audio così come sono, tutto il resto come file, e più di uno insieme come un unico album. Mai le impostazioni di aipager, le credenziali di Claude o le tue chiavi: vengono rifiutate prima che parta qualsiasi cosa.

    mandami lo screenshot
  • 👀
    Manda subito il prossimo

    Il tuo messaggio arriva a Claude nel momento in cui lo mandi, anche a metà attività: 👀 mentre la coda di Claude lo tiene, 👍 quando Claude lo prende. «⚡ Invia ora» glielo passa senza aspettare la fine del passaggio.

  • ⏸
    Mai letto come la risposta

    Un messaggio che mandi mentre c'è una richiesta di permesso aperta resta da parte, non finisce dentro la risposta, e va alla sessione appena hai risposto.

  • 🤖
    Agenti e comandi in background, contati

    Ogni agente in background che Claude avvia ha la sua riga sulla scheda con quello che sta facendo, e un comando lasciato in background tiene il suo orologio finché non finisce.

  • 🔔
    Te lo dice per primo

    Un avviso sul contesto, una compattazione, una sessione terminata o rimasta in silenzio, un'attività andata per le lunghe: la chat te lo dice senza che tu vada a guardare.

  • ⌨️
    I pulsanti sono già lì

    Sotto la casella del messaggio c'è una tastiera: un pulsante per ogni sessione in esecuzione, poi «status», «stop» e «new», poi «Template» per i messaggi che riscrivi sempre e «Comandi» per quelli che gestisce Claude Code.

  • 📋
    /status, tutta la chat insieme

    Tutte le sessioni in una lista su cui puoi agire: cosa fa ognuna, il suo modello, il contesto che resta, quanto è costata, cosa ha in coda, con «Ferma», «Rispondi» e il resto del menu su ognuna.

La Mini App

Una dashboard, sempre dentro Telegram.

/app apre tutte le sessioni in una volta sola: un riquadro per ognuna, con l'anello del contesto, la cartella, il modello e quanto ha speso. La chat resta il posto dove rispondi; l'app serve per vederle tutte insieme e per le cose che in chat sono scomode, come leggere un diff o cambiare un'impostazione.

aipager⋮
aipager
@aipagerbot · v1.3.7 · attivo da 141 min
1 ha bisogno di te, 2 al lavoro, 1 pronta
$4.19 spesi · 12 terminate
Hanno bisogno di te
@aipagerbot
Tutte le sessioni su uno schermo

Un riquadro per ognuna, con l'anello del contesto, di chi è, il modello e quanto ha speso, e sopra una riga che dice come va la chat: quali sono al lavoro, quali sono pronte, quanto è costata la giornata, quante sono terminate. Il + ne avvia un'altra: un nome, una cartella fra quelle che usi già, un modello.

Prima quello che ha bisogno di te

Una sessione che aspetta la tua risposta a una richiesta di permesso o a una domanda sta in cima, con quello che sta chiedendo. «Rispondi nella chat» rimanda quella richiesta in fondo alla chat, pulsanti compresi, e lì rispondi.

Una pagina per sessione

Lo stato - «Al lavoro (3:12)» o «Pronta, ultima attività 5 min fa» - e un tocco per «Ferma» o «Riprendi». Sotto, gli ultimi strumenti usati, l'ultima risposta, il controllo del modello, i file che l'attività ha cambiato come diff, e le impostazioni di quella sessione.

A servirla è aipager stesso

È attiva di default, ogni richiesta viene controllata con la firma di Telegram, e la pagina non carica niente da fuori: niente font, niente script. aipager miniapp disable la spegne.

Cosa sa fare l'app →
Quindici lingue

Nella tua lingua, fino alle cifre.

Cambiano solo le parole di aipager: le schede, le richieste, i pulsanti, la barra fissata, /status, la Mini App, la documentazione. Le tue sessioni no: Claude risponde nella lingua in cui gli scrivi, e quello che aipager manda a Claude resta com'è. Scegline una con /language, o lascia che segua il tuo Telegram.

Da destra a sinistra, come si deve

Il persiano e l'arabo si leggono da destra a sinistra, con le cifre persiane (۰-۹) o arabo-indiane (٠-٩) e i loro separatori, su Telegram e nella Mini App. I nomi delle sessioni, i percorsi, i comandi e il codice tengono la loro direzione.

Scritte, non tradotte

Ogni lingua è stata scritta come parla davvero chi usa le app in quella lingua, prestiti dall'inglese compresi, con le forme plurali di ciascuna (l'arabo ne ha sei).

La tua chat, la tua lingua

Una chat privata può seguire il tuo Telegram. Un gruppo ha una lingua sola, scelta da un admin, e il messaggio che compare dopo un tocco è nella lingua di chi ha toccato.

Anche la documentazione

Il README e tutte le pagine sotto docs/ sono tradotti. Quando una traduzione e la pagina inglese non vanno d'accordo, ha ragione la pagina inglese.

aipager
bot
فارسی
Messaggio fissato
‏⏳ ⁨api⁩ منتظر شماست‏ - ‏⁨Bash: pnpm test e2e/login⁩‏
‏🔐 ⁨api⁩ · اجازه می‌خواهد‏
pnpm test e2e/login --trace on
‏✅ اجازه بده‏‏❌ رد کن‏‏🟢 همیشه اجازه بده‏‏⏹ توقف‏
‏⁨✅⁩ ⁨api⁩ · ⁨‏اجازه داده شد‏⁩ · ⁨Bash: pnpm test e2e/login⁩‏
‏⁨⏳⁩ ⁨api⁩ · ⁨‏در حال تأمل‏⁩‏ · ۳:۱۴ · Read ×۲ · Bash ×۱
‏✅ کار ۲ ایجنت تمام شد (⁨۶:۱۲⁩)‏
‏🌐 زبان: ⁨فارسی⁩‏
Sotto la chat

La verità resta nel terminale.

Claude Code gira in un terminale vero, dentro dtach, così nessuno deve tenere una finestra aperta. Ogni passaggio fa partire un hook che manda un datagramma ad aipager su un socket locale, e aipager modifica un messaggio nella tua chat. Le tue risposte tornano indietro per la stessa strada: un verdetto all'hook che tiene ferma l'azione, oppure tasti battuti nella sessione.

  1. Claude Code
    dentro dtach, senza finestra
  2. hook
    parte a ogni passaggio
  3. aipager
    un processo, il tuo utente
  4. Telegram
    il token del tuo bot
  5. le tue chat
    la tua chat privata, il gruppo del tuo team
Siediti al terminale quando vuoi

aipager session api ti collega alla sessione in esecuzione da qualsiasi terminale. Scrivi lì, scrivi in chat: è la stessa sessione. Chiudi la finestra e la sessione va avanti, e il collegamento la segue anche quando si riavvia.

Non legge mai il tuo schermo

aipager scrive nella sessione e ascolta gli eventi di Claude Code. Quello che vedi in chat viene dagli hook e dalla conversazione salvata, non dallo schermo di un terminale.

Niente aspetta la chat

Un hook manda un datagramma e torna: circa 20 ms del tempo di Claude Code. Se aipager non sta ascoltando, l'evento viene semplicemente scartato e Claude va avanti; aipager poi si rimette in pari dai file della sessione.

Sedici hook, più la status line da cui legge il modello, il contesto e il costo. aipager è collegato a tutti quanti.
UserPromptSubmitPreToolUsePermissionRequestPostToolUsePostToolUseFailureNotificationStopStopFailureSubagentStartSubagentStopPreCompactPostCompactMessageDisplayPreModelSwitchSessionStartSessionEndstatusline
Sicurezza

Niente in mezzo.

aipager non parla mai con Anthropic. L'unico che lo fa è Claude Code, con il tuo login, sul tuo computer. aipager lo avvia in un terminale e ascolta gli hook che Claude Code pubblica. Nessun endpoint ricavato per reverse engineering, nessun proxy, nessun account che non sia il tuo: la sessione che guidi dal telefono è la stessa che guideresti dalla tastiera.

01
Nessun server aipager.

aipager parla con la Bot API di Telegram usando il token del tuo bot. Non esiste un account aipager né un servizio aipager, e fra il tuo telefono e il tuo computer non c'è il computer di nessun altro.

02
Risponde solo alle tue chat.

aipager risponde solo nelle chat elencate nella tua configurazione. Chi trova il bot per caso riceve una riga sola, «Questo bot non è configurato per parlare con te», e niente di quello che manda arriva a una sessione.

03
Nessuna porta aperta.

Ascolta solo su loopback. La Mini App esce da un tunnel Cloudflare dove ogni richiesta deve portare la firma di Telegram, e aipager miniapp disable la spegne.

04
Il tuo token, il tuo file.

Il token del bot e gli id delle chat stanno in ~/.config/aipager/aipager.yaml con permessi 600. Restano fuori dal log di aipager, e dove potrebbero finirci vengono oscurati.

05
Non alza mai i privilegi.

Niente sudo, niente setuid. Tutto quello che scrive sta nella tua cartella home, in /tmp o nella sua cartella dei socket, e ogni processo che avvia (claude, dtach, gli installer) gira come te.

06
Decide sempre Claude Code.

È il tuo settings.json a dire cosa va chiesto. aipager gira la domanda; non decide mai cosa può partire, e un pulsante rimasto da un'attività finita rifiuta invece di toccare il lavoro in corso.

07
L'accesso si dà sul computer.

Membri e ruoli cambiano solo con aipager config, sul computer. Niente su Telegram e niente nella Mini App può aggiungere una persona o allargare un ruolo.

08
Ogni risposta resta scritta.

Ogni «Consenti», ogni «Nega» e ogni risposta finisce in ~/.claude/aipager-audit.jsonl, che si può solo allungare, con il nome di chi ha toccato il pulsante in un gruppo.

Il modello di sicurezza →
Installazione

Quattro righe. Tienile nei Messaggi salvati.

Tocca una riga per copiarla. Prima due cose: un bot tuo da @BotFather (premi «Avvia» nella sua chat), e Claude Code con il login fatto su questo computer. La procedura guidata della seconda riga ti chiede il resto.

Oppure lascia fare all'agente che hai già.

Metti il token del bot in un file che l'agente non deve mai leggere, poi dai questo a Claude Code:

Install aipager for me by following https://aipager.run/agent.md. My Telegram bot token is in ~/.config/aipager/bot-token and my Telegram user id is <your id>.

La guida che userà →

Preferisci il tuo package manager? uv, pipx, Homebrew, Docker, Nix, l'AUR e Snap. tutti i modi per installarlo →

Messaggi salvati
4 messaggi
FAQ

Chiedi pure.

aipager
bot
In cosa è diverso dalle app di Claude per il telefono?
Le app di Claude parlano con l'assistente che Anthropic tiene sui suoi server. aipager rispecchia una sessione di Claude Code in esecuzione sul tuo computer: il tuo repo, i tuoi strumenti, il tuo ambiente.

Aggiungi Claude alle tue chat.

Poi chiudi il terminale e vai a vivere la tua serata.

$curl -fsSL aipager.run/install | sh