Claude, une discussion de plus.

aipager met vos sessions Claude Code dans Telegram, entre votre famille, vos amis et votre équipe. Tout tourne sur votre ordinateur.

Les actions sûres s'exécutent seules ; les risquées attendent votre autorisation.

Une session Claude Code prête sur votre ordinateur, en Mode Automatique, celui où démarre chaque nouvelle session.

$curl -fsSL aipager.run/install | sh

Linux et macOS · MIT · environ 1 min

Modes d'autorisation

Trois modes. Vous démarrez en Mode Automatique.

Chaque session est dans l'un de ces trois modes. Le mode se règle session par session et se change à tout moment avec /mode. En Mode Demander, Claude demande avant chaque action. En Mode Automatique, celui où démarre chaque nouvelle session, la vérification de sécurité de Claude Code laisse passer les actions sûres et vous soumet les risquées. En Mode Accès complet, tout s'exécute sans aucune vérification. Un mode ne touche qu'aux demandes d'autorisation de Claude Code : dans un groupe, un outil que le rôle d'un membre n'a pas le droit d'utiliser reste refusé, quoi que dise le mode.

aipager
bot
💬 Mode Demander/mode ask
Je vais d'abord regarder le helper du cookie.”
🔐 Read: le helper du cookie
src/auth/cookie.ts
🔐 api · A besoin de votre autorisation
✅ Autoriser❌ Refuser🟢 Toujours autoriser⏹ Arrêter
✅ api · Autorisé · Read: src/auth/cookie.ts

Chaque action attend votre réponse, même une lecture.

aipager
bot
🤖 Mode Automatiquepar défaut
Le test clique avant que le cookie de session soit posé.”
✅Read: src/auth/cookie.ts
✅Bash: pnpm test e2e/login --trace on
🔐 Bash: Regarder les sessions les plus récentes sur staging
psql $STAGING_URL -c 'select id, …'
🔐 api · A besoin de votre autorisation
✅ Autoriser❌ Refuser🟢 Toujours autoriser⏹ Arrêter

La lecture du fichier et le lancement du test se sont faits sans vous. Une commande sur staging fait partie des actions risquées : elle s'arrête et vous demande.

aipager
bot
🔓 Mode Accès complet/mode full
/mode full
✅ api est maintenant en 🔓 Mode Accès complet.
corrige le test e2e de login instable
▸ 4 outils utilisés
Le test clique avant que le cookie de session soit posé. Il attend 5 s et croise les doigts.”
✅Edit: e2e/login.spec.ts
⏳Bash: pnpm test e2e/login --repeat 10
⏳ api · Au travail · 4:02 · Read ×2 · Bash ×3 · Edit ×1

Aucune vérification, aucun bouton. Juste la réponse une fois que c'est fini.

  • ✅ Autoriser · cette action seulement
  • ❌ Refuser · Claude bloque l'action
  • 🟢 Toujours autoriser · ajoute la règle que Claude propose, quand il en propose une
  • ⏹ Arrêter · interrompt la tâche au lieu de répondre
/mode

Affiche un bouton pour chacun des autres modes ; /mode ask, /mode auto et /mode full changent de mode tout de suite. Les nouvelles sessions démarrent en Mode Automatique, sauf si la discussion en a choisi un autre dans /settings → Nouvelles sessions.

Mode Demander ⇄ Mode Automatique, sur place

Aucun redémarrage, même pendant que Claude travaille : aipager appuie sur Shift+Tab dans la session, et la carte annonce le changement jusqu'à ce que Claude Code confirme le nouveau mode.

Mode Accès complet : la session redémarre

Passer en Mode Accès complet ou en sortir redémarre la session et garde la conversation. Seul un admin peut y lancer une session ou l'y faire passer (ou vous, dans votre discussion privée avec le bot).

Les questions arrivent quand même

Un mode s'applique aux demandes d'autorisation, pas aux décisions : quand Claude vous demande quelque chose, les boutons arrivent dans votre discussion quel que soit le mode.

Où ça se passe

Trois discussions. Le reste, c'est votre vie.

  • aipagerbot
    ⏳ api · Au travail · 3:14 · Read ×2 · Bash ×2
    Votre discussion avec Claude

    Une seule discussion pour toutes vos sessions. Une carte en direct par tâche, qui se met à jour toute seule, des demandes d'autorisation auxquelles vous répondez d'un appui, et une barre épinglée qui dit ce qui a besoin de vous. Un message normal va à la session que la barre nomme ; /web envoie le suivant ailleurs, et les messages d'après y vont aussi.

    /status/new/mode/stop/app/<session> <message>
  • BT
    backend-teamgroupe · mode équipe
    Sara: @aipagerbot /web lance le test e2e de login sur staging
    Le groupe de votre équipe

    Mettez le bot dans un groupe et toute personne autorisée peut le mentionner. Chaque message est traité avec le rôle de la personne qui l'envoie ; un outil que ce rôle n'a pas le droit d'utiliser est refusé avant de s'exécuter, et chaque décision part dans le log d'audit avec le nom de la personne qui a appuyé.

    owneradminuserread_only
  • J
    Jimsa propre discussion avec le bot
    🔐 web · A besoin de votre autorisation
    Quelqu'un d'autre, dans sa propre discussion

    Ajoutez la discussion privée d'un collègue avec le bot et cette personne pilote ses propres sessions, avec son rôle et son propre dossier racine : ses tâches Claude démarrent dedans et ne lisent rien d'autre dans votre dossier personnel. Quelqu'un qui ne doit que regarder reçoit le rôle read_only dans votre groupe.

    dossier racine des membres~/aipager-users/<label>read_only/new

Quatre rôles, et une règle d'outils par rôle.

Le rôle qui compte est celui que vous avez dans la discussion où vous agissez, et un outil qu'un rôle n'a pas le droit d'utiliser est refusé avant de s'exécuter, sans demande d'autorisation. Rien dans Telegram ni dans la Mini App ne change qui est sur la liste : seulement aipager config, sur l'ordinateur.

Peutowneradminuserread_only
Envoyer des messages à une session✓✓✓✕
Autoriser, Refuser, répondre aux questions de Claude✓✓✓✕
Bash, et tout ce qui exécute du code✓✓✕✕
Mode Accès complet, les /settings d'un groupe, /update✓✓sa discussion✕
Où leurs sessions ont le droit de travaillerpartoutpartoutdossier racinedossier racine
Lire les fichiers d'identifiants (~/.ssh, …)✓✓✕✕
Le mode équipe, en détail →
Au quotidien

Utilisez-le comme une discussion.

Pas une console déguisée en discussion : tout ce que vous faites déjà dans Telegram marche ici. Parlez-lui sur le chemin du retour, balancez-lui la capture d'écran, envoyez l'idée suivante avant que la précédente soit finie.

  • 🎙️
    Dites-le plutôt que de l'écrire

    Envoyez un message vocal : il est transcrit sur votre propre ordinateur (jamais dans le cloud de qui que ce soit), renvoyé par écrit pour que vous voyiez ce qu'aipager a entendu, et tapé dans la session comme si vous l'aviez écrit.

    0:07
    🎙️ J'ai entendu : corrige le test e2e de login instable
  • 📎
    Une capture du bug

    Les photos et les fichiers arrivent dans un dossier sur votre ordinateur et Claude reçoit le chemin, avec votre légende comme message, ou « check this: … » quand il n'y en a pas. Envoyez-en plusieurs d'un coup et ils partent en un seul message.

  • 📤
    Il vous renvoie des fichiers

    Demandez-le avec vos propres mots, « envoie-moi la capture d'écran », et le fichier arrive dans le chat de cette session juste après la réponse : les images en photos, les vidéos et l'audio tels quels, le reste en fichier, et plusieurs d'un coup en un seul album. Jamais les réglages d'aipager, les identifiants de Claude ni vos clés : ils sont refusés avant tout envoi.

    envoie-moi la capture d'écran
  • 👀
    Envoyez le suivant tout de suite

    Votre message part vers Claude au moment où vous l'envoyez, même en pleine tâche : 👀 pendant que la file d'attente de Claude le garde, 👍 quand Claude le prend. ⚡ Envoyer maintenant le lui passe sans attendre la fin de l'étape.

  • ⏸
    Jamais lu comme la réponse

    Un message envoyé pendant qu'une demande d'autorisation est ouverte est mis de côté, pas mélangé à la demande, et part vers la session dès que vous avez répondu.

  • 🤖
    Agents et commandes en arrière-plan, comptés

    Chaque agent en arrière-plan que Claude lance a sa propre ligne sur la carte avec ce qu'il fait, et une commande qui tourne en arrière-plan garde son propre chrono jusqu'à ce qu'elle se termine.

  • 🔔
    La discussion vous prévient

    Un avertissement de contexte, un compactage, une session terminée ou devenue silencieuse, une tâche qui a duré plus que de raison : la discussion vous le dit sans que vous ayez à aller voir.

  • ⌨️
    Les boutons sont déjà là

    Un clavier est posé sous la zone de message : un bouton par session en cours, puis status, stop et new, puis Modèles › pour les messages que vous retapez sans cesse et Commandes › pour celles que Claude Code gère lui-même.

  • 📋
    /status, toute la discussion d'un coup

    Toutes les sessions en une liste sur laquelle vous pouvez agir : ce que chacune fait, son modèle, le contexte qui reste, ce qu'elle a coûté, ce qui attend derrière elle, avec Arrêter, Répondre et le reste du menu sur chacune.

La Mini App

Un tableau de bord, toujours dans Telegram.

/app affiche toutes les sessions d'un coup : une tuile chacune, avec son anneau de contexte, son dossier, son modèle et ce qu'elle a dépensé. C'est toujours dans la discussion que vous répondez ; l'app sert à les voir toutes ensemble, et à ce qu'une discussion fait mal, comme lire un diff ou changer un paramètre.

aipager⋮
aipager
@aipagerbot · v1.3.8 · en marche depuis 141 min
1 a besoin de vous, 2 au travail, 1 prête
$4.19 dépensés · 12 terminées
Ont besoin de vous
@aipagerbot
Toutes les sessions sur un écran

Une tuile chacune, avec son anneau de contexte, à qui elle est, le modèle et ce qu'elle a dépensé, et au-dessus une ligne qui dit où en est la discussion : celles qui travaillent, celles qui sont prêtes, ce que la journée a coûté, combien sont terminées. Le + en lance une autre : un nom, un dossier parmi ceux que vous utilisez déjà, un modèle.

Ce qui a besoin de vous, en premier

Une session qui attend votre réponse (une demande d'autorisation ou une question) passe en haut avec ce qu'elle demande. « Répondre dans la discussion » renvoie cette demande tout en bas de la discussion, boutons compris, et vous y répondez là.

Une page par session

La ligne d'état, « Au travail (3:12) » ou « Prête, dernière activité il y a 5 min », et un appui pour Arrêter ou Reprendre. En dessous, les derniers outils utilisés, la dernière réponse, le réglage du modèle, le diff des fichiers que la tâche a modifiés, et les paramètres de cette session.

Servie par aipager lui-même

Activée par défaut, chaque requête vérifiée avec la signature de Telegram, et la page ne charge rien d'ailleurs : ni polices, ni scripts. aipager miniapp disable la désactive.

Ce que l'app sait faire →
Quinze langues

Dans votre langue, jusqu'aux chiffres.

Seuls les mots d'aipager changent : les cartes, les demandes d'autorisation, les boutons, la barre épinglée, /status, la Mini App, la doc. Vos sessions, non : Claude répond dans la langue où vous lui écrivez, et ce qu'aipager envoie à Claude part tel quel. Choisissez-en une avec /language, ou laissez aipager suivre la langue de votre app Telegram.

De droite à gauche, pour de vrai

Le persan et l'arabe se lisent de droite à gauche, avec les chiffres persans (۰-۹) ou indo-arabes (٠-٩) et leurs propres séparateurs, dans Telegram comme dans la Mini App. Les noms de session, les chemins, les commandes et le code gardent leur sens de lecture.

Écrit, pas traduit

Chaque langue a été écrite comme la parlent vraiment les gens qui utilisent des apps, anglicismes compris, avec ses propres formes de pluriel (l'arabe en a six).

Votre discussion, votre langue

Une discussion privée peut suivre votre app Telegram. Un groupe a une seule langue, choisie par un admin, et la fenêtre qui s'ouvre après un appui est dans la langue de la personne qui a appuyé.

La doc aussi

Le README et toutes les pages de docs/ sont traduits. Quand une traduction et la page anglaise ne disent pas la même chose, c'est la page anglaise qui fait foi.

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

Le terminal reste la source de vérité.

Claude Code tourne dans un vrai terminal, dans dtach, donc personne n'a besoin de laisser une fenêtre ouverte. Chaque étape déclenche un hook qui envoie un datagramme à aipager par un socket local, et aipager met à jour un message dans votre discussion. Vos réponses reviennent par le même chemin : un verdict au hook qui retient l'action, ou des touches tapées dans la session.

  1. Claude Code
    dans dtach, aucune fenêtre à garder
  2. hook
    se déclenche à chaque étape
  3. aipager
    un seul processus, sous votre utilisateur
  4. Telegram
    le token de votre propre bot
  5. vos discussions
    votre discussion privée, le groupe de votre équipe
Asseyez-vous devant quand vous voulez

aipager session api s'attache à la session en cours depuis n'importe quel terminal. Tapez dans le terminal ou dans la discussion : c'est la même session. Fermez la fenêtre et la session continue, et si la session redémarre, votre terminal la suit.

Il ne lit jamais votre écran

aipager tape dans la session et écoute les événements de Claude Code. Ce que votre discussion affiche vient des hooks et de la conversation enregistrée, pas de l'écran d'un terminal.

Rien n'attend la discussion

Un hook envoie un datagramme et rend la main : environ 20 ms du temps de Claude Code. Si aipager n'écoute pas, l'événement est simplement perdu et Claude continue ; aipager rattrape ensuite son retard grâce aux fichiers de la session.

Seize hooks, et la ligne d'état d'où aipager tire le modèle, le contexte et le coût. Il est branché sur tous.
UserPromptSubmitPreToolUsePermissionRequestPostToolUsePostToolUseFailureNotificationStopStopFailureSubagentStartSubagentStopPreCompactPostCompactMessageDisplayPreModelSwitchSessionStartSessionEndstatusline
Sécurité

Rien au milieu.

aipager ne parle jamais à Anthropic. Le seul qui le fait, c'est Claude Code lui-même, avec votre propre compte, sur votre propre ordinateur. aipager le lance dans un terminal et écoute les hooks que Claude Code publie. Aucun endpoint reconstitué par rétro-ingénierie, aucun proxy, aucun compte en dehors du vôtre : la session que vous pilotez depuis votre téléphone est celle que vous piloteriez au clavier.

01
Pas de serveur aipager.

aipager parle à la Bot API de Telegram avec le token de votre propre bot. Il n'y a pas de compte aipager, pas de service aipager, et aucun ordinateur tiers entre votre téléphone et le vôtre.

02
Il ne répond qu'à vos discussions.

aipager ne répond que dans les discussions listées dans votre configuration. Un inconnu qui tombe sur le bot reçoit une ligne disant que le bot n'est pas configuré pour lui parler ; rien de ce qu'il envoie n'atteint une session.

03
Aucun port ouvert.

Il n'écoute que sur loopback. La Mini App sort par un tunnel Cloudflare où chaque requête doit porter la signature de Telegram, et aipager miniapp disable la désactive.

04
Votre token, votre fichier.

Le token du bot et les ids des discussions vivent dans ~/.config/aipager/aipager.yaml, avec les droits 600. Ils sont tenus hors du log d'aipager, et masqués partout où ils pourraient s'y glisser.

05
Aucune élévation de privilèges.

Pas de sudo, pas de setuid. Tout ce qu'il écrit est sous votre dossier personnel, dans /tmp ou dans son propre dossier de sockets, et tout ce qu'il lance (claude, dtach, les installateurs) tourne sous votre utilisateur.

06
Claude Code décide toujours.

C'est votre settings.json qui dit ce qui doit être demandé. aipager transmet la demande ; il ne décide jamais ce qui a le droit de s'exécuter, et un bouton d'une tâche déjà terminée refuse au lieu d'agir sur le travail en cours.

07
L'accès se donne sur l'ordinateur.

Les membres et les rôles ne changent qu'avec aipager config, sur l'ordinateur. Rien dans Telegram ni dans la Mini App ne peut ajouter une personne ou élargir un rôle.

08
Chaque réponse est consignée.

Chaque Autoriser, chaque Refuser et chaque réponse part dans ~/.claude/aipager-audit.jsonl, qui ne fait que grandir, avec le nom de la personne qui a appuyé dans un groupe.

Le modèle de sécurité →
Installation

Quatre lignes. Gardez-les dans Messages enregistrés.

Appuyez sur une ligne pour la copier. Deux choses d'abord : un bot à vous depuis @BotFather (appuyez sur Démarrer dans sa discussion), et Claude Code connecté sur cet ordinateur. L'assistant de la deuxième ligne demande le reste.

Ou confiez-le à l'agent que vous avez déjà.

Mettez le token du bot dans un fichier qu'il n'aura jamais à lire, puis donnez ceci à 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>.

Le guide qu'il suit →

Vous préférez votre gestionnaire de paquets ? uv, pipx, Homebrew, Docker, Nix, l'AUR et Snap. toutes les façons d'installer →

Messages enregistrés
4 messages
FAQ

Posez vos questions.

aipager
bot
En quoi est-ce différent des apps mobiles de Claude ?
Les apps de Claude parlent à l'assistant hébergé par Anthropic. aipager vous montre une session Claude Code qui tourne sur votre propre ordinateur : votre dépôt, vos outils, votre environnement.

Ajoutez Claude à vos discussions.

Puis fermez le terminal et allez vivre votre soirée.

$curl -fsSL aipager.run/install | sh