Claude es un chat más.

aipager pone tus sesiones de Claude Code en Telegram, entre tu familia, tus amigos y tu equipo. Funciona en tu computadora.

Las acciones seguras se ejecutan solas; las arriesgadas esperan tu permiso.

Una sesión de Claude Code descansando en tu computadora, en Modo Automático, donde arranca cada sesión nueva.

$curl -fsSL aipager.run/install | sh

Linux y macOS · MIT · cosa de un minuto

Modos de permisos

Tres modos. Empiezas en Modo Automático.

Cada sesión está en uno de los tres, se elige por sesión y se cambia cuando quieras con /mode. El Modo Preguntar se detiene antes de cada acción. El Modo Automático, donde arranca cada sesión nueva, deja que la propia comprobación de seguridad de Claude Code ejecute las acciones seguras y detenga las arriesgadas para que decidas tú. El Modo Acceso total ejecuta todo sin ninguna comprobación. Un modo manda sobre las solicitudes de permiso de Claude Code y nada más: en un grupo, una herramienta que el rol de un miembro no puede usar se rechaza igual, diga lo que diga el modo.

aipager
bot
💬 Modo Preguntar/mode ask
Primero voy a revisar el helper de la cookie.”
🔐 Read: el helper de la cookie
src/auth/cookie.ts
🔐 api · Necesita tu permiso
✅ Permitir❌ Rechazar🟢 Permitir siempre⏹ Detener
✅ api · Permitido · Read: src/auth/cookie.ts

Cada acción te espera, hasta para leer un archivo.

aipager
bot
🤖 Modo Automáticopor defecto
El test hace clic antes de que se establezca la cookie de sesión.”
✅Read: src/auth/cookie.ts
✅Bash: pnpm test e2e/login --trace on
🔐 Bash: Mirar las sesiones más nuevas en staging
psql $STAGING_URL -c 'select id, …'
🔐 api · Necesita tu permiso
✅ Permitir❌ Rechazar🟢 Permitir siempre⏹ Detener

La lectura y el test se ejecutaron solos. Un comando contra staging es de los arriesgados, así que se detuvo.

aipager
bot
🔓 Modo Acceso total/mode full
/mode full
✅ api ya está en 🔓 Modo Acceso total.
arregla el test e2e de login que falla a veces
▸ 4 herramientas usadas
El test hace clic antes de que se establezca la cookie de sesión. Espera 5s y cruza los dedos.”
✅Edit: e2e/login.spec.ts
⏳Bash: pnpm test e2e/login --repeat 10
⏳ api · Trabajando · 4:02 · Read ×2 · Bash ×3 · Edit ×1

Sin comprobaciones, sin botones. Solo la respuesta cuando termina.

  • ✅ Permitir · solo esta vez
  • ❌ Rechazar · Claude bloquea la acción
  • 🟢 Permitir siempre · añade la regla que ofrece Claude, cuando ofrece una
  • ⏹ Detener · interrumpe la tarea en lugar de responder
/mode

Muestra un botón para cada uno de los otros modos; /mode ask, /mode auto y /mode full cambian al instante. Las sesiones nuevas arrancan en Modo Automático, salvo que el chat haya elegido otra cosa en /settings → Sesiones nuevas.

Modo Preguntar ⇄ Modo Automático, sobre la marcha

Sin reiniciar, incluso mientras Claude trabaja: aipager presiona Shift+Tab en la sesión, y la tarjeta dice que está cambiando hasta que Claude Code confirma el nuevo modo.

El Modo Acceso total reinicia

Entrar o salir del Modo Acceso total reinicia la sesión y conserva la conversación. Solo un admin puede crear una sesión en ese modo o pasar una a él (o tú, en tu propio chat privado con el bot).

Las preguntas llegan igual

Un modo manda sobre las solicitudes de permiso, no sobre las decisiones: cuando Claude te pregunta algo, los botones llegan a tu chat en cualquier modo.

Dónde vive

Tres chats. Lo demás es tu vida.

  • aipagerbot
    ⏳ api · Trabajando · 3:14 · Read ×2 · Bash ×2
    Tu chat con Claude

    Un chat para todas tus sesiones. Una tarjeta en vivo por tarea que se edita sola, solicitudes que respondes con un toque y una barra fijada que dice qué te necesita. Un mensaje normal va a la sesión que nombra la barra; /web manda el siguiente a otra sesión, y la conversación sigue ahí.

    /status/new/mode/stop/app/<sesión> <mensaje>
  • BT
    backend-teamgrupo · modo equipo
    Sara: @aipagerbot /web ejecuta el e2e de login contra staging
    El grupo de tu equipo

    Mete el bot en un grupo y cualquiera de la lista de personas permitidas puede mencionarlo. Cada mensaje se ejecuta con el rol de quien lo envía; una herramienta que ese rol no puede usar se rechaza antes de ejecutarse, y cada decisión queda en el log de auditoría con el nombre de quien tocó el botón.

    owneradminuserread_only
  • J
    Jimsu propio chat con el bot
    🔐 web · Necesita tu permiso
    Otra persona, en su propio chat

    Añade el chat privado de alguien de tu equipo con el bot y esa persona manejará sus propias sesiones, con su rol y su propia carpeta raíz: sus tareas de Claude arrancan dentro de ella y no leen nada de tu carpeta personal fuera de ahí. A quien solo deba mirar le das read_only en tu grupo.

    carpeta raíz de los miembros~/aipager-users/<label>read_only/new

Cuatro roles, y una regla de herramientas por rol.

El rol que cuenta es el que tienes en el chat donde actúas, y una herramienta que un rol no puede usar se rechaza antes de ejecutarse, no se pregunta. Nada en Telegram ni en la Mini App cambia quién está en la lista: solo aipager config, en la computadora.

Puedeowneradminuserread_only
Enviar mensajes a una sesión✓✓✓✕
Permitir, Rechazar, responder las preguntas de Claude✓✓✓✕
Bash, y todo lo que ejecute código✓✓✕✕
Modo Acceso total, los /settings de un grupo, /update✓✓su chat✕
Dónde pueden trabajar sus sesionesen cualquier parteen cualquier partecarpeta raízcarpeta raíz
Leer archivos de credenciales (~/.ssh, …)✓✓✕✕
El modo equipo, en detalle →
Día a día

Úsalo como un chat.

No es una consola disfrazada de chat: todo lo que ya haces en Telegram funciona aquí. Háblale de camino a casa, mándale la captura, envía la siguiente idea antes de que termine la anterior.

  • 🎙️
    Mejor díselo

    Manda un audio: aipager lo transcribe en tu propia computadora (nunca en la nube de nadie), te lo devuelve escrito para que veas qué entendió, y lo escribe en la sesión como si lo hubieras tecleado tú.

    0:07
    🎙️ Escuché: arregla el test e2e de login que falla a veces
  • 📎
    Una captura del bug

    Las fotos y los archivos se guardan en una carpeta de tu computadora y a Claude se le pasa la ruta, con tu pie de foto como mensaje, o «check this: …» cuando no hay ninguno. Manda varios a la vez y van como un solo mensaje.

  • 📤
    Te devuelve archivos

    Pídeselo con tus propias palabras, «envíame la captura de pantalla», y el archivo llega al chat de esa sesión justo después de la respuesta: las imágenes como fotos, los videos y los audios tal cual, cualquier otra cosa como archivo, y varios a la vez como un solo álbum. Nunca la configuración de aipager, las credenciales de Claude ni tus claves: eso se rechaza antes de enviar nada.

    envíame la captura de pantalla
  • 👀
    Manda el siguiente ya

    Tu mensaje llega a Claude en cuanto lo envías, incluso a mitad de una tarea: 👀 mientras la cola de Claude lo guarda, 👍 cuando Claude lo toma. ⚡ Enviar ahora se lo pasa sin esperar a que termine el paso.

  • ⏸
    Nunca se lee como la respuesta

    Un mensaje que envías mientras hay una solicitud de permiso abierta se queda esperando: no se toma como tu respuesta, y llega a la sesión en cuanto respondes.

  • 🤖
    Agentes y comandos en segundo plano, contados

    Cada agente en segundo plano que arranca Claude tiene su propia fila en la tarjeta con lo que está haciendo, y un comando que queda corriendo en segundo plano lleva su propio reloj hasta que termina.

  • 🔔
    Te avisa antes

    Un aviso de contexto, una compactación, una sesión que terminó o se quedó callada, una tarea que se alargó de más: el chat te lo dice sin que vayas a mirar.

  • ⌨️
    Los botones ya están ahí

    Debajo del cuadro de mensaje hay un teclado: un botón por cada sesión en marcha, luego status, stop y new, y después Plantillas para los mensajes que repites siempre y Comandos para los que maneja el propio Claude Code.

  • 📋
    /status, todo el chat de un vistazo

    Todas las sesiones en una lista desde la que puedes actuar: qué hace cada una, su modelo, el contexto que le queda, lo que ha costado, lo que tiene en cola, con Detener, Responder y el resto del menú en cada una.

La Mini App

Un panel, sin salir de Telegram.

/app abre todas las sesiones a la vez: una ficha para cada una, con su anillo de contexto, su carpeta, su modelo y lo que lleva gastado. El chat sigue siendo donde respondes; la app es para verlas todas juntas y para lo que en un chat es incómodo, como leer un diff o cambiar un ajuste.

aipager⋮
aipager
@aipagerbot · v1.3.7 · en marcha 141 min
1 te necesita, 2 trabajando, 1 lista
$4.19 gastados · 12 terminadas
Te necesitan
@aipagerbot
Todas las sesiones en una pantalla

Una ficha para cada una, con su anillo de contexto, de quién es, el modelo y lo que lleva gastado, y encima una línea que dice cómo va el chat: cuáles trabajan, cuáles están listas, cuánto costó el día, cuántas terminaron. El + crea otra: un nombre, una carpeta de las que ya usas, un modelo.

Lo que te necesita, primero

Una sesión que espera una solicitud de permiso o una pregunta se pone arriba con lo que está pidiendo. «Responder en el chat» manda esa solicitud al final del chat, con sus botones, y la respondes ahí.

Una página por sesión

El estado, «Trabajando (3:12)» o «Lista, última actividad hace 5 min», y un toque para Detener o Continuar. Debajo, las últimas herramientas usadas, la última respuesta, el control del modelo, los archivos que cambió la tarea en forma de diff, y los ajustes de esa sesión.

La sirve el propio aipager

Viene activada, cada petición se comprueba con la firma de Telegram, y la página no carga nada de fuera: ni fuentes, ni scripts. aipager miniapp disable la desactiva.

Lo que hace la app →
Quince idiomas

En tu idioma, hasta en los dígitos.

Solo cambian las palabras de aipager: las tarjetas, las solicitudes, los botones, la barra fijada, /status, la Mini App, la documentación. Tus sesiones no: Claude responde en el idioma en que le escribes, y lo que aipager le manda a Claude va tal cual. Elige uno con /language o deja que siga el idioma de tu app de Telegram.

De derecha a izquierda, bien hecho

El persa y el árabe se leen de derecha a izquierda, con dígitos persas (۰-۹) o árabes (٠-٩) y sus propios separadores, en Telegram y en la Mini App. Los nombres de sesión, las rutas, los comandos y el código mantienen su dirección.

Escrito, no traducido

Cada idioma se escribió como habla de verdad la gente que usa apps en él, con sus préstamos del inglés incluidos y con sus propias formas de plural (el árabe tiene seis).

Tu chat, tu idioma

Un chat privado puede seguir el idioma de tu app de Telegram. Un grupo tiene un solo idioma, que elige un admin, y el aviso que aparece al tocar un botón sale en el idioma de quien lo tocó.

La documentación también

El README y todas las páginas de docs/ están traducidos. Cuando una traducción y la página en inglés no coinciden, la correcta es la página en inglés.

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

La verdad sigue estando en la terminal.

Claude Code corre en una terminal de verdad, dentro de dtach, así que nadie tiene que dejar una ventana abierta. Cada paso dispara un hook que manda un datagrama a aipager por un socket local, y aipager edita un mensaje en tu chat. Tus respuestas vuelven por el mismo camino: un veredicto al hook que tiene la acción en espera, o teclas escritas en la sesión.

  1. Claude Code
    dentro de dtach, sin ventana
  2. hook
    se dispara en cada paso
  3. aipager
    un proceso, con tu usuario
  4. Telegram
    el token de tu propio bot
  5. tus chats
    tu chat privado, el grupo de tu equipo
Siéntate al teclado cuando quieras

aipager session api se engancha a la sesión en marcha desde cualquier terminal. Escribe ahí, escribe en el chat: la misma sesión. Cierra la ventana y la sesión sigue, y el enganche acompaña a la sesión incluso si se reinicia.

Nunca lee tu pantalla

aipager escribe en la sesión y escucha los eventos del propio Claude Code. Lo que ves en tu chat sale de los hooks y de la conversación guardada, no de leer lo que aparece en la terminal.

Nada espera al chat

Un hook manda un datagrama y vuelve: unos 20 ms del tiempo de Claude Code. Si aipager no está escuchando, el evento se descarta sin más y Claude sigue; aipager se pone al día con los propios archivos de la sesión.

Dieciséis hooks, más la línea de estado de la que saca el modelo, el contexto y el costo. aipager está conectado a todos.
UserPromptSubmitPreToolUsePermissionRequestPostToolUsePostToolUseFailureNotificationStopStopFailureSubagentStartSubagentStopPreCompactPostCompactMessageDisplayPreModelSwitchSessionStartSessionEndstatusline
Seguridad

Nada en medio.

aipager nunca habla con Anthropic. El único que lo hace es el propio Claude Code, con tu cuenta, en tu computadora. aipager lo arranca en una terminal y escucha los hooks que publica Claude Code. Ningún endpoint sacado por ingeniería inversa, ningún proxy, ninguna cuenta que no sea la tuya: la sesión que manejas desde el teléfono es la misma que manejarías desde el teclado.

01
No hay servidor de aipager.

aipager habla con la Bot API de Telegram usando el token de tu propio bot. No hay cuenta de aipager ni servicio de aipager, ni la computadora de nadie más entre tu teléfono y la tuya.

02
Solo responde a tus chats.

aipager solo responde en los chats que aparecen en tu configuración. Quien encuentre el bot sin estar en ella recibe una sola línea que dice que el bot no está configurado para hablarle; nada de lo que mande llega a una sesión.

03
Ningún puerto abierto.

Solo escucha en loopback. La Mini App sale por un túnel de Cloudflare donde cada petición tiene que llevar la firma de Telegram, y aipager miniapp disable la desactiva.

04
Tu token, tu archivo.

El token del bot y los ids de los chats viven en ~/.config/aipager/aipager.yaml con permisos 600. No entran en el log de aipager, y se ocultan allí donde podrían colarse en uno.

05
Nunca eleva privilegios.

Ni sudo, ni setuid. Todo lo que escribe está en tu carpeta personal, en /tmp o en su propia carpeta de sockets, y todo lo que arranca (claude, dtach, los instaladores) corre con tu usuario.

06
Claude Code sigue decidiendo.

Tu settings.json dice qué hay que preguntar. aipager pasa la pregunta; nunca decide qué puede ejecutarse, y un botón que quedó de una tarea terminada se niega en vez de tocar el trabajo que corre ahora.

07
El acceso se da en la computadora.

Los miembros y los roles solo cambian con aipager config, en la computadora. Nada en Telegram ni en la Mini App puede añadir a una persona ni ampliar un rol.

08
Cada respuesta queda registrada.

Cada Permitir, cada Rechazar y cada respuesta va a ~/.claude/aipager-audit.jsonl, que solo crece, con quién lo tocó si fue en un grupo.

El modelo de seguridad →
Instalación

Cuatro líneas. Guárdalas en Mensajes guardados.

Toca una línea para copiarla. Antes, dos cosas: un bot tuyo de @BotFather (toca Iniciar en él) y Claude Code ya conectado con tu cuenta en esta computadora. El asistente de la segunda línea te pide lo demás.

O déjaselo al agente que ya tienes.

Pon el token del bot en un archivo que el agente nunca tenga que leer y dale esto 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 guía que sigue →

¿Prefieres tu gestor de paquetes? uv, pipx, Homebrew, Docker, Nix, el AUR y Snap. todas las formas de instalar →

Mensajes guardados
4 mensajes
FAQ

Pregunta lo que quieras.

aipager
bot
¿En qué se diferencia de las apps móviles de Claude?
Las apps de Claude hablan con el asistente que Anthropic tiene alojado. aipager refleja una sesión de Claude Code que corre en tu propia computadora: tu repo, tus herramientas, tu entorno.

Añade Claude a tus chats.

Luego cierra la terminal y vete a disfrutar la noche.

$curl -fsSL aipager.run/install | sh