Claude - ще один чат.
aipager додає твої сесії Claude Code у Telegram, поруч із чатами з рідними, друзями й командою. Працює на твоєму комп'ютері.
Сесія Claude Code готова до роботи на твоєму ноутбуці, у режимі Авто, з якого починає кожна нова сесія.
curl -fsSL aipager.run/install | shLinux і macOS · MIT · близько хвилини
Три режими. Починаєш із режиму Авто.
Кожна сесія працює в одному з трьох режимів: у кожної сесії він свій, і його будь-коли можна змінити через /mode. У режимі «Питати» сесія зупиняється перед кожною дією. У режимі Авто, з якого починає кожна нова сесія, власна перевірка безпеки Claude Code сама пропускає безпечні дії, а ризиковані зупиняє й лишає тобі. У режимі «Повний доступ» усе виконується взагалі без перевірок. Режим керує лише запитами на дозвіл від самого Claude Code і нічим більше: у групі інструмент, заборонений для ролі учасника, однаково відхиляється, хоч би який режим стояв.
- ✅ Дозволити · лише цю дію
- ❌ Відхилити · Claude блокує дію
- 🟢 Дозволяти завжди · додає правило від Claude, коли він його пропонує
- ⏹ Зупинити · перериває завдання замість відповіді
Показує кнопку для кожного іншого режиму; /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/<сесія> <повідомлення> - BTbackend-teamгрупа · робота в командіSara: @aipagerbot /web запусти e2e логіну на stagingГрупа твоєї команди
Додай бота в групу, і згадати його зможе будь-хто зі списку дозволених. Кожне повідомлення виконується з роллю того, хто його надіслав; інструмент, заборонений для цієї ролі, відхиляється ще до запуску, а кожне рішення потрапляє в журнал аудиту з іменем того, хто натиснув.
owneradminuserread_only - JJimвласний чат із ботом🔐 web · Потрібен твій дозвілІнша людина, у власному чаті
Додай особистий чат колеги з ботом, і колега керуватиме власними сесіями, з власною роллю і власною кореневою папкою: завдання Claude починаються всередині неї і нічого не читають у твоїй домашній папці поза нею. Тому, хто має лише дивитися, дай у групі роль read_only.
коренева папка учасників~/aipager-users/<label>read_only/new
Чотири ролі, і для кожної свої правила щодо інструментів.
Значення має твоя роль у тому чаті, де ти дієш, а інструмент, заборонений для ролі, відхиляється ще до запуску, без жодних питань. Ніщо в Telegram чи в Mini App не змінює, хто є в списку: це робить лише aipager config, на комп'ютері.
| Може | owner | admin | user | read_only |
|---|---|---|---|---|
| Надсилати повідомлення в сесію | ✓ | ✓ | ✓ | ✕ |
| Дозволяти, відхиляти, відповідати на питання Claude | ✓ | ✓ | ✓ | ✕ |
| Bash і все інше, що виконує код | ✓ | ✓ | ✕ | ✕ |
| Режим «Повний доступ», /settings групи, /update | ✓ | ✓ | свій чат | ✕ |
| Де можуть працювати їхні сесії | будь-де | будь-де | коренева папка | коренева папка |
| Читати файли облікових даних (~/.ssh, …) | ✓ | ✓ | ✕ | ✕ |
Користуйся ним як чатом.
Це не консоль, замаскована під чат: тут працює все, що ти й так робиш у Telegram. Наговори йому дорогою додому, кинь скріншот, надішли наступну думку, поки попередня ще в роботі.
- 🎙️Скажи голосом
Надішли голосове: його розшифрує твій власний комп'ютер (а не чиясь хмара), текст повернеться в чат, щоб було видно, що саме почуто, і потрапить у сесію так, ніби його набрано з клавіатури.
0:07🎙️ Почуто: виправ e2e-тест логіну, він іноді падає - 📎Скріншот з багом
Фото й файли лягають у папку на твоєму комп'ютері, а Claude отримує шлях до них, із твоїм підписом як повідомленням або з «check this: …», коли підпису немає. Надішли кілька одразу, і вони підуть одним повідомленням.
- 📤Надсилає тобі файли
Попроси своїми словами, «надішли скриншот», і файл прийде в чат цієї сесії одразу після відповіді: зображення як фото, відео й аудіо як є, усе інше як файл, а кілька одразу одним альбомом. Тільки не налаштування aipager, облікові дані Claude чи твої ключі: такі файли відхиляються ще до надсилання.
надішли скриншот - 👀Надішли наступне вже зараз
Твоє повідомлення йде до Claude тієї ж миті, навіть посеред завдання: 👀, поки воно лежить у власній черзі Claude, 👍, коли Claude його взяв. ⚡ Надіслати зараз передає його, не чекаючи кінця кроку.
- ⏸Ніколи не читається як відповідь
Повідомлення, яке ти надсилаєш, поки відкритий запит на дозвіл, притримується, не підмішується у відповідь на запит, і йде в сесію тієї ж миті, щойно ти відповіси.
- 🤖Агенти й фонові команди, усі пораховані
Кожен фоновий агент, якого запускає Claude, отримує на картці власний рядок із тим, що він робить, а фонова команда, що лишилася працювати, має власний відлік часу, поки не завершиться.
- 🔔Він каже першим
Попередження про контекст, стиснення розмови, сесія, яка завершилася або замовкла, завдання, що затяглося: чат скаже про це сам, і нікуди не треба заходити й перевіряти.
- ⌨️Кнопки вже на місці
Під полем повідомлення стоїть клавіатура: по кнопці на кожну запущену сесію, далі статус, стоп і нова, потім Шаблони для повідомлень, які ти набираєш знову і знову, і Команди для тих, які Claude Code обробляє сам.
- 📋/status, увесь чат одразу
Усі сесії списком, з яким можна працювати: що кожна робить, її модель, скільки лишилося контексту, скільки вона коштувала, що стоїть у черзі за нею, і на кожній Зупинити, Відповісти та решта меню.
Панель керування, не виходячи з Telegram.
/app відкриває всі сесії одразу: по плитці на кожну, з кільцем контексту, папкою, моделлю і витратами. Відповідаєш ти все одно в чаті, а застосунок потрібен, щоб побачити все разом, і для того, що незручно робити в чаті: переглянути diff або змінити налаштування.
По плитці на кожну: кільце контексту, чия це сесія, модель і витрати, а над плитками рядок про стан чату: що працює, що готове, скільки коштував день, скільки сесій завершено. «+» запускає ще одну: назва, папка з тих, якими ти вже користуєшся, модель.
Сесія, яка зупинилася на запиті на дозвіл або на питанні, стоїть угорі, і там видно, про що вона питає. «Відповісти в чаті» надсилає цей запит донизу чату, разом із кнопками, і ти відповідаєш там.
Рядок стану («Працює (3:12)» чи «Готова, остання активність 5 хв тому») і одне натискання, щоб зупинити чи продовжити. Нижче останні запуски інструментів, остання відповідь, вибір моделі, змінені за завдання файли як diff і власні налаштування цієї сесії.
Mini App увімкнено за замовчуванням, кожен запит перевіряється за підписом самого Telegram, а сторінка нічого не завантажує ззовні: ні шрифтів, ні скриптів. Вимикає його aipager miniapp disable.
Твоєю мовою, аж до цифр.
Змінюються лише власні слова aipager: картки, запити, кнопки, закріплений рядок, /status, Mini App, документація. Твої сесії не змінюються: Claude відповідає тією мовою, якою ти до нього пишеш, а те, що aipager надсилає Claude, лишається як було. Вибери мову через /language або залиш мову свого Telegram.
Перська й арабська читаються справа наліво, з перськими (۰-۹) або арабськими (٠-٩) цифрами та власними роздільниками, і в Telegram, і в Mini App. Назви сесій, шляхи, команди й код зберігають свій напрямок.
Кожну мову писали так, як справді говорять люди, які користуються застосунками цією мовою, разом із запозиченими словами і з власними формами множини (в арабській їх шість).
Особистий чат може брати мову з твого Telegram. У групи одна мова, її задає адмін, а спливне повідомлення після натискання приходить мовою того, хто натиснув.
README і кожна сторінка в docs/ перекладені. Коли переклад і англійська сторінка розходяться, правильною є англійська.
pnpm test e2e/login --trace onДжерелом правди лишається термінал.
Claude Code працює у справжньому терміналі, усередині dtach, тож нікому не треба тримати відкрите вікно. Кожен крок запускає hook, який надсилає одну датаграму програмі aipager через локальний сокет, а вона редагує повідомлення у твоєму чаті. Твої відповіді йдуть назад тим самим шляхом: рішення для hook, який тримає дію, або натискання клавіш у сесії.
- Claude Codeусередині dtach, вікно не потрібне
- hookспрацьовує на кожному кроці
- aipagerодин процес, від твого користувача
- Telegramтвій власний токен бота
- твої чатитвій особистий чат, група команди
aipager session api під'єднується до сесії, що працює, з будь-якого терміналу. Пиши там, пиши в чаті: сесія та сама. Закрий вікно, і вона працює далі, а під'єднання не обривається навіть під час перезапуску сесії.
aipager пише в сесію й слухає власні події Claude Code. Те, що показує чат, береться з hooks і збереженої розмови, а не зчитується з терміналу.
Hook надсилає одну датаграму і завершується, це близько 20 мс часу Claude Code. Якщо aipager не слухає, подія просто зникає, а Claude працює далі; монітор потім надолужує пропущене з власних файлів сесії.
Нічого посередині.
aipager ніколи не звертається до Anthropic. Єдиний, хто це робить, - сам Claude Code, під твоїм власним акаунтом, на твоєму власному комп'ютері. aipager запускає його в терміналі й слухає hooks, які публікує Claude Code. Жодних endpoint, знайдених реверс-інжинірингом, жодного проксі, жодного акаунта, крім твого: сесія, якою ти керуєш з телефона, - та сама сесія, що й за клавіатурою.
aipager спілкується з Telegram Bot API твоїм власним токеном бота. Немає ні акаунта aipager, ні сервісу aipager, ні чужого комп'ютера між твоїм телефоном і твоїм комп'ютером.
aipager відповідає лише в чатах, перелічених у твоїй конфігурації. Незнайомець, який знайде бота, отримає один рядок про те, що бот не налаштований із ним говорити; ніщо з надісланого не дійде до сесії.
Він слухає лише loopback. Mini App виходить назовні через тунель Cloudflare, де кожен запит має нести підпис Telegram, а aipager miniapp disable його вимикає.
Токен бота й ID чатів лежать у ~/.config/aipager/aipager.yaml із правами 600. Вони не потрапляють у лог aipager, а там, де могли б у нього прослизнути, їх приховано.
Жодного sudo, жодного setuid. Усе, що він записує, лежить у твоїй домашній папці, у /tmp або у власній папці для сокета, а кожен процес, який він запускає (claude, dtach, інсталятори), працює від твого користувача.
Твій settings.json каже, про що треба питати. aipager лише передає питання; він ніколи не вирішує, що можна виконати, а кнопка, що лишилася від завершеного завдання, застаріла: натискання на неї нічого не зробить із роботою, яка йде зараз.
Учасники й ролі змінюються лише через aipager config, на комп'ютері. Ніщо в Telegram і ніщо в Mini App не додасть людину й не розширить роль.
Кожне «Дозволити», кожне «Відхилити» і кожна відповідь записуються в ~/.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. усі способи встановлення →
Запитай.
Додай Claude до своїх чатів.
А потім закрий термінал і насолоджуйся вечором.