Claude - ещё один чат.

aipager переносит твои сессии Claude Code в Telegram, рядом с семьёй, друзьями и командой. Работает на твоём компьютере.

Безопасные действия идут сами; рискованные ждут твоего разрешения.

Сессия Claude Code на твоём ноутбуке готова, в режиме Авто, с которого начинается каждая новая сессия.

$curl -fsSL aipager.run/install | sh

Linux и macOS · MIT · около минуты

Режимы разрешений

Три режима. Начинаешь с режима Авто.

Каждая сессия работает в одном из трёх режимов: ты выбираешь его для каждой отдельно и меняешь когда угодно через /mode. Режим «Спрашивать» останавливает Claude перед каждым действием. Режим Авто, с которого начинается каждая новая сессия, полагается на собственную проверку безопасности Claude Code: безопасные действия она пропускает сама, а рискованные останавливает и оставляет решение тебе. Режим «Полный доступ» выполняет всё вообще без проверок. Режим влияет только на запросы разрешений самого Claude Code: в группе инструмент, запрещённый роли участника, всё равно отклоняется, в каком бы режиме ни была сессия.

aipager
бот
💬 Режим «Спрашивать»/mode ask
Сначала посмотрю хелпер для cookie.”
🔐 Read: хелпер для cookie
src/auth/cookie.ts
🔐 api · Нужно твоё разрешение
✅ Разрешить❌ Отклонить🟢 Разрешать всегда⏹ Остановить
✅ api · Разрешено · Read: src/auth/cookie.ts

Каждое действие ждёт тебя, даже чтение файла.

aipager
бот
🤖 Режим Автопо умолчанию
Тест кликает раньше, чем ставится cookie сессии.”
✅Read: src/auth/cookie.ts
✅Bash: pnpm test e2e/login --trace on
🔐 Bash: посмотреть новые сессии на staging
psql $STAGING_URL -c 'select id, …'
🔐 api · Нужно твоё разрешение
✅ Разрешить❌ Отклонить🟢 Разрешать всегда⏹ Остановить

Чтение и прогон теста прошли сами. Команда на staging относится к рискованным, поэтому на ней всё остановилось.

aipager
бот
🔓 Режим «Полный доступ»/mode full
/mode full
✅ api: теперь 🔓 Режим «Полный доступ».
почини нестабильный e2e-тест логина
▸ использовано 4 инструмента
Тест кликает раньше, чем ставится cookie сессии. Он спит 5 с и надеется на лучшее.”
✅Edit: e2e/login.spec.ts
⏳Bash: pnpm test e2e/login --repeat 10
⏳ api · Работает · 4:02 · Read ×2 · Bash ×3 · Edit ×1

Ни проверок, ни кнопок. Только ответ, когда всё готово.

  • ✅ Разрешить · только это действие
  • ❌ Отклонить · Claude блокирует действие
  • 🟢 Разрешать всегда · добавляет правило от Claude, если он его предлагает
  • ⏹ Остановить · прервать задачу вместо ответа
/mode

Показывает кнопку для каждого из остальных режимов; /mode ask, /mode auto и /mode full переключают сразу. Новые сессии начинаются в режиме Авто, если в чате не выбрано другое в /settings → Новые сессии.

«Спрашивать» ⇄ Авто, на лету

Без перезапуска, даже пока Claude работает: aipager нажимает Shift+Tab в сессии, и карточка показывает, что идёт переключение, пока Claude Code не подтвердит новый режим.

«Полный доступ» перезапускает

Переход в режим «Полный доступ» и обратно перезапускает сессию и сохраняет переписку. Запустить сессию в нём или перевести её туда может только админ (или ты, в своём личном чате с ботом).

Вопросы приходят всё равно

Режим управляет запросами разрешений, а не решениями: когда Claude о чём-то спрашивает, кнопки приходят в твой чат в любом режиме.

Где он живёт

Три чата. Всё остальное - просто твоя жизнь.

  • aipagerбот
    ⏳ api · Работает · 3:14 · Read ×2 · Bash ×2
    Твой чат с Claude

    Один чат на все сессии. На каждую задачу живая карточка, которая меняется сама, запросы, на которые отвечаешь одним нажатием, и закреплённое сообщение, где видно, что ждёт тебя. Обычное сообщение уходит в сессию, которая там указана; /web отправит следующее в другую сессию, и дальше разговор пойдёт с ней.

    /status/new/mode/stop/app/<сессия> <сообщение>
  • BT
    backend-teamгруппа · режим команды
    Sara: @aipagerbot /web прогони e2e логина на staging
    Группа твоей команды

    Добавь бота в группу, и упомянуть его сможет любой из списка разрешённых. Каждое сообщение выполняется с ролью того, кто его отправил; инструмент, который эта роль использовать не может, отклоняется до запуска, а каждое решение попадает в журнал аудита с именем того, кто нажал.

    owneradminuserread_only
  • J
    Jimего собственный чат с ботом
    🔐 web · Нужно твоё разрешение
    Другой человек, в своём чате

    Добавь личный чат коллеги с ботом, и у коллеги будут свои сессии, своя роль и своя корневая папка: задачи Claude запускаются внутри неё и ничего не читают в твоей домашней папке за её пределами. Тому, кто должен только смотреть, дай read_only в своей группе.

    корневая папка участников~/aipager-users/<label>read_only/new

Четыре роли, и у каждой своё правило по инструментам.

Считается та роль, которая у тебя в том чате, где ты сейчас пишешь; инструмент, который роль использовать не может, отклоняется до запуска, и о нём не спрашивают. Ни в Telegram, ни в Mini App нельзя изменить, кто есть в списке: только aipager config, на компьютере.

Можетowneradminuserread_only
Отправлять сообщения в сессию✓✓✓✕
Разрешать, отклонять, отвечать на вопросы Claude✓✓✓✕
Bash и всё остальное, что выполняет код✓✓✕✕
Режим «Полный доступ», /settings группы, /update✓✓свой чат✕
Где могут работать сессиивездевездекорневая папкакорневая папка
Читать файлы с ключами (~/.ssh, …)✓✓✕✕
Режим команды, подробно →
Каждый день

Пользуйся им как чатом.

Это не консоль, переодетая в чат: здесь работает всё, что ты и так делаешь в Telegram. Наговори голосовое по дороге домой, кинь скриншот, отправь следующую мысль, пока не закончилась предыдущая.

  • 🎙️
    Скажи голосом

    Отправь голосовое: оно расшифровывается на твоём компьютере (а не в чьём-то облаке), возвращается текстом, чтобы было видно, что услышал aipager, и печатается в сессию, как будто ты набираешь его с клавиатуры.

    0:07
    🎙️ Услышано: почини нестабильный e2e-тест логина
  • 📎
    Скриншот с багом

    Фото и файлы попадают в папку на твоём компьютере, а Claude получает путь к ним, с твоей подписью в качестве сообщения или с «check this: …», если подписи нет. Отправь сразу несколько, и они уйдут одним сообщением.

  • 📤
    Присылает тебе файлы

    Попроси своими словами, «пришли скриншот», и файл придёт в чат этой сессии сразу после ответа: картинки как фото, видео и аудио как есть, всё остальное как файл, а несколько сразу одним альбомом. Только не настройки aipager, учётные данные Claude или твои ключи: такие файлы отклоняются ещё до отправки.

    пришли скриншот
  • 👀
    Отправь следующее прямо сейчас

    Твоё сообщение уходит Claude в ту же секунду, даже посреди задачи: 👀, пока его держит очередь самого Claude, 👍, когда Claude его забрал. ⚡ «Отправить сейчас» передаёт его, не дожидаясь конца шага.

  • ⏸
    Не перепутается с ответом

    Сообщение, отправленное при открытом запросе разрешения, подождёт в стороне, а не подмешается в ответ на запрос, и уйдёт в сессию сразу, как только ты ответишь.

  • 🤖
    Агенты и фоновые команды, все на виду

    У каждого фонового агента, которого запускает Claude, своя строка на карточке с тем, чем он занят, а у команды, оставленной работать в фоне, свои часы до самого конца.

  • 🔔
    Он скажет первым

    Предупреждение о контексте, сжатие переписки, сессия, которая завершилась или затихла, задача, которая идёт слишком долго: чат скажет об этом сам, ходить проверять не надо.

  • ⌨️
    Кнопки уже на месте

    Под полем ввода стоит клавиатура: по кнопке на каждую запущенную сессию, потом «статус», «стоп» и «новая», потом «Шаблоны» для сообщений, которые ты набираешь снова и снова, и «Команды» для того, что выполняет сам Claude Code.

  • 📋
    /status, весь чат разом

    Все сессии списком, с которым можно работать: что делает каждая, её модель, сколько осталось контекста, сколько она стоила, что ждёт в её очереди, а у каждой кнопки «Остановить», «Ответить» и остальное меню.

Mini App

Панель, не выходя из Telegram.

/app открывает все сессии разом: по плитке на каждую, с кольцом контекста, папкой, моделью и тем, сколько она потратила. Отвечаешь по-прежнему в чате, а приложение нужно, чтобы увидеть все сразу и сделать то, что в чате неудобно: прочитать diff или поменять настройку.

aipager⋮
aipager
@aipagerbot · v1.3.7 · работает 141 мин
1 ждёт тебя, 2 работают, 1 готова
потрачено $4.19 · 12 завершено
Ждут тебя
@aipagerbot
Все сессии на одном экране

По плитке на каждую: кольцо контекста, чья это сессия, модель и сколько потрачено. Над ними строка о том, как дела в чате: что работает, что готово, сколько стоил день, сколько сессий завершилось. Кнопка + запускает ещё одну: имя, папка из тех, что уже в ходу, модель.

Сначала то, что ждёт тебя

Сессия, которая ждёт ответа на запрос разрешения или на вопрос, стоит сверху, вместе с тем, о чём спрашивает. «Ответить в чате» отправляет этот запрос вниз чата, вместе с кнопками, и ты отвечаешь там.

Своя страница у каждой сессии

Строка состояния, «Работает (3:12)» или «Готова, последняя активность 5 мин назад», и одно нажатие на «Остановить» или «Продолжить». Под ней последние использованные инструменты, последний ответ, выбор модели, файлы, которые задача изменила, в виде diff, и собственные настройки этой сессии.

Mini App отдаёт сам aipager

По умолчанию включено, каждый запрос проверяется по подписи самого Telegram, и страница ничего не загружает со стороны: ни шрифтов, ни скриптов. Выключить: aipager miniapp disable.

Что умеет приложение →
Пятнадцать языков

На твоём языке, вплоть до цифр.

Меняются только собственные слова aipager: карточки, запросы, кнопки, закреплённое сообщение, /status, Mini App, документация. Твои сессии Claude не меняются: Claude отвечает на языке, на котором ты ему пишешь, а то, что aipager отправляет Claude, остаётся как было. Выбери язык через /language или оставь язык своего Telegram.

Справа налево, как надо

Персидский и арабский читаются справа налево, с персидскими (۰-۹) или восточноарабскими (٠-٩) цифрами и своими разделителями, и в Telegram, и в Mini App. Имена сессий, пути, команды и код сохраняют своё направление.

Написано, а не переведено

Каждый язык написан так, как на нём на самом деле говорят люди, привыкшие к приложениям: с заимствованиями и со своими формами множественного числа (в арабском их шесть).

Твой чат, твой язык

Личный чат может следовать за языком твоего Telegram. У группы один язык, его выбирает админ, а всплывающее сообщение после нажатия приходит на языке того, кто нажал.

И документация тоже

README и все страницы в docs/ переведены. Если перевод и английская страница расходятся, верна английская.

aipager
бот
فارسی
Закреплённое сообщение
‏⏳ ⁨api⁩ منتظر شماست‏ - ‏⁨Bash: pnpm test e2e/login⁩‏
‏🔐 ⁨api⁩ · اجازه می‌خواهد‏
pnpm test e2e/login --trace on
‏✅ اجازه بده‏‏❌ رد کن‏‏🟢 همیشه اجازه بده‏‏⏹ توقف‏
‏⁨✅⁩ ⁨api⁩ · ⁨‏اجازه داده شد‏⁩ · ⁨Bash: pnpm test e2e/login⁩‏
‏⁨⏳⁩ ⁨api⁩ · ⁨‏در حال تأمل‏⁩‏ · ۳:۱۴ · Read ×۲ · Bash ×۱
‏✅ کار ۲ ایجنت تمام شد (⁨۶:۱۲⁩)‏
‏🌐 زبان: ⁨فارسی⁩‏
Под чатом

Правда по-прежнему в терминале.

Claude Code работает в настоящем терминале, внутри dtach, поэтому держать окно открытым никому не нужно. Каждый шаг запускает hook, который отправляет одну датаграмму в aipager по локальному сокету, а aipager правит сообщение в твоём чате. Твои ответы идут обратно тем же путём: решение тому hook, который держит действие, или нажатия клавиш в сессию.

  1. Claude Code
    внутри dtach, окно не нужно
  2. hook
    срабатывает на каждом шаге
  3. aipager
    один процесс, под твоим пользователем
  4. Telegram
    токен твоего собственного бота
  5. твои чаты
    твой личный чат, группа твоей команды
Подсядь к сессии когда угодно

aipager session api подключается к работающей сессии из любого терминала. Печатай там, печатай в чате: сессия одна и та же. Закрой окно, и она продолжит, а подключение переживёт даже перезапуск сессии.

Он никогда не читает твой экран

aipager печатает в сессию и слушает собственные события Claude Code. То, что ты видишь в чате, собрано из hooks и сохранённой переписки, а не считано с экрана терминала.

Чат никого не задерживает

Hook отправляет одну датаграмму и возвращается, около 20 мс времени Claude Code. Если aipager не слушает, событие просто теряется, а Claude работает дальше; потом aipager догоняет по собственным файлам сессии.

Шестнадцать hooks и строка состояния (status line), из которой aipager берёт модель, контекст и стоимость. aipager подключён ко всем ним.
UserPromptSubmitPreToolUsePermissionRequestPostToolUsePostToolUseFailureNotificationStopStopFailureSubagentStartSubagentStopPreCompactPostCompactMessageDisplayPreModelSwitchSessionStartSessionEndstatusline
Безопасность

Посередине никого.

aipager никогда не обращается к Anthropic. Это делает только сам Claude Code, с твоим логином, на твоём компьютере. aipager запускает его в терминале и слушает hooks, которые публикует Claude Code. Никаких эндпоинтов, вскрытых реверс-инжинирингом, никакого прокси, никаких чужих аккаунтов: сессия, которой ты управляешь с телефона, это та же сессия, что и за клавиатурой.

01
Сервера aipager нет.

aipager общается с Telegram Bot API через токен твоего собственного бота. Нет ни аккаунта aipager, ни сервиса aipager, и между твоим телефоном и твоим компьютером нет ничьего чужого компьютера.

02
Отвечает только в твоих чатах.

aipager отвечает только в чатах, перечисленных в твоей конфигурации. Незнакомец, который найдёт бота, получит одну строку о том, что бот не настроен с ним общаться; ничто из отправленного им до сессии не дойдёт.

03
Открытых портов нет.

Он слушает только loopback. Mini App выходит наружу через туннель Cloudflare, где каждый запрос обязан нести подпись Telegram. Выключить: aipager miniapp disable.

04
Твой токен, твой файл.

Токен бота и id чатов лежат в ~/.config/aipager/aipager.yaml с правами 600. В log aipager они не попадают, а везде, где могли бы туда просочиться, aipager их маскирует.

05
Он никогда не повышает права.

Ни sudo, ни setuid. Всё, что он пишет, лежит в твоей домашней папке, в /tmp или в его собственной папке сокетов, а каждый процесс, который он запускает (claude, dtach, установщики), работает под твоим пользователем.

06
Решает по-прежнему Claude Code.

Твой settings.json говорит, о чём надо спрашивать. aipager только передаёт вопрос; он никогда не решает, что можно выполнить, а кнопка, оставшаяся от законченной задачи, откажется работать и не тронет то, что идёт сейчас.

07
Доступ выдаётся на компьютере.

Участники и роли меняются только через aipager config, на компьютере. Ни Telegram, ни Mini App не могут добавить человека или расширить роль.

08
Каждый ответ под запись.

Каждое «Разрешить», «Отклонить» и каждый ответ уходят в ~/.claude/aipager-audit.jsonl, только на дозапись, а в группе ещё и с тем, кто нажал.

Модель безопасности →
Установка

Четыре строки. Сохрани их в «Избранном».

Нажми на строку, чтобы скопировать. Сначала две вещи: собственный бот от @BotFather (нажми в нём «Запустить») и вход в Claude Code на этом компьютере. Остальное спросит мастер из второй строки.

Или отдай это агенту, который у тебя уже есть.

Положи токен бота в файл, который агенту читать не придётся, и дай 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>.

Инструкция, которой он следует →

Привычнее свой пакетный менеджер? uv, pipx, Homebrew, Docker, Nix, AUR и Snap. все способы установки →

Избранное
4 сообщения
FAQ

Спроси.

aipager
бот
Чем это отличается от мобильных приложений Claude?
Приложения Claude общаются с ассистентом, который работает у Anthropic. aipager показывает сессию Claude Code, которая работает на твоём компьютере: твой репозиторий, твои инструменты, твоё окружение.

Добавь Claude в свои чаты.

А потом закрой терминал и иди отдыхать.

$curl -fsSL aipager.run/install | sh