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

aipager додає твої сесії Claude Code у Telegram, поруч із чатами з рідними, друзями й командою. Працює на твоєму комп'ютері.

Безпечні дії виконуються самі; ризиковані чекають на твій дозвіл.

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

$curl -fsSL aipager.run/install | sh

Linux і macOS · MIT · близько хвилини

Режими дозволів

Три режими. Починаєш із режиму Авто.

Кожна сесія працює в одному з трьох режимів: у кожної сесії він свій, і його будь-коли можна змінити через /mode. У режимі «Питати» сесія зупиняється перед кожною дією. У режимі Авто, з якого починає кожна нова сесія, власна перевірка безпеки 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. Наговори йому дорогою додому, кинь скріншот, надішли наступну думку, поки попередня ще в роботі.

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

    Надішли голосове: його розшифрує твій власний комп'ютер (а не чиясь хмара), текст повернеться в чат, щоб було видно, що саме почуто, і потрапить у сесію так, ніби його набрано з клавіатури.

    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 і власні налаштування цієї сесії.

Сторінки віддає сам aipager

Mini App увімкнено за замовчуванням, кожен запит перевіряється за підписом самого Telegram, а сторінка нічого не завантажує ззовні: ні шрифтів, ні скриптів. Вимикає його aipager miniapp disable.

Що вміє застосунок →
П'ятнадцять мов

Твоєю мовою, аж до цифр.

Змінюються лише власні слова aipager: картки, запити, кнопки, закріплений рядок, /status, Mini App, документація. Твої сесії не змінюються: 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 через локальний сокет, а вона редагує повідомлення у твоєму чаті. Твої відповіді йдуть назад тим самим шляхом: рішення для 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 працює далі; монітор потім надолужує пропущене з власних файлів сесії.

Шістнадцять hooks і рядок стану, з якого aipager бере модель, контекст і вартість. aipager підключений до всіх.
UserPromptSubmitPreToolUsePermissionRequestPostToolUsePostToolUseFailureNotificationStopStopFailureSubagentStartSubagentStopPreCompactPostCompactMessageDisplayPreModelSwitchSessionStartSessionEndstatusline
Безпека

Нічого посередині.

aipager ніколи не звертається до Anthropic. Єдиний, хто це робить, - сам Claude Code, під твоїм власним акаунтом, на твоєму власному комп'ютері. aipager запускає його в терміналі й слухає hooks, які публікує Claude Code. Жодних endpoint, знайдених реверс-інжинірингом, жодного проксі, жодного акаунта, крім твого: сесія, якою ти керуєш з телефона, - та сама сесія, що й за клавіатурою.

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. Вони не потрапляють у лог 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 (натисни в ньому Start) і 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