Встановлення за допомогою агента
Ця сторінка для ШІ-агента для програмування (Claude Code або будь-якого агента з shell), якого попросили встановити й налаштувати aipager для своєї людини. Виконуй її крок за кроком. Кожна команда тут виконується без запитань і ніколи не потребує інтерактивного термінала.
aipager дає цій людині керувати сесіями Claude Code з Telegram. Коли закінчиш, у людини буде Telegram-бот, який спілкується лише з нею, а aipager працюватиме у фоні на цьому комп'ютері.
1. Що може зробити лише сама людина#
Попроси людину зробити це. Ти не можеш зробити це за неї.
-
Створити бота. У Telegram відкрити @BotFather, надіслати
/newbot, вибрати назву та ім'я користувача. BotFather відповідає токеном бота (він має вигляд123456789:AA...). -
Натиснути Start у боті. Відкрити нового бота (BotFather дає посилання
t.me/<bot username>) і натиснути Start. Бот не може написати тому, хто цього не зробив. -
Увійти в Claude Code на цьому комп'ютері. Якщо людина вже користується тут Claude Code, нічого робити не потрібно. На сервері без екрана вона один раз запускає
claudeу своєму терміналі й входить (там буде посилання, яке треба відкрити на іншому пристрої). Якщо зручніше довготривалий токен, вона запускаєclaude setup-token, який лише виводить токен: людина сама зберігає його для сесій aipager, у своєму терміналі (вставити токен, натиснути Enter, потім Ctrl-D):mkdir -p ~/.config/aipager (umask 077 && { printf 'CLAUDE_CODE_OAUTH_TOKEN='; cat; } >> ~/.config/aipager/daemon.env)aipager передає цей токен кожній сесії, яку запускає (див. безпека). Ти його ніколи не читаєш.
2. Як людина передає тобі токен#
Хто має токен бота, той керує ботом. Запропонуй людині ці два способи і дай вибрати.
-
Найбезпечніший: файл, який ти ніколи не читаєш. У своєму терміналі людина запускає:
mkdir -p ~/.config/aipager rm -f ~/.config/aipager/bot-token (umask 077 && cat > ~/.config/aipager/bot-token) chmod 600 ~/.config/aipager/bot-tokenпотім вставляє токен, натискає Enter і натискає Ctrl-D. Читати файл може лише ця людина (права 600). Коли налаштування пройде успішно, файл можна видалити (aipager зберігає свою копію у своїй конфігурації). Людина каже тобі шлях (
~/.config/aipager/bot-token). Токен ніколи не потрапляє у твою розмову, а ти передаєш шлях у--token-file. -
Найшвидший: вставити в розмову. Так теж можна, але прямо скажи, що це означає: токен лишиться в історії твоєї розмови й піде до постачальника твоєї моделі. Якщо цю історію колись можуть побачити інші, людині варто потім надіслати
/revokeв @BotFather і встановити новий токен черезaipager setup --force(крок 3.2, з--force). Якщо людина вибирає цей спосіб, збережи токен у той самий файл, не виводячи його: найкраще своїм інструментом запису файлів, потімchmod 600 ~/.config/aipager/bot-token. Якщо в тебе є лише shell, передай його через stdin за допомогою here-document, щоб він не був аргументом команди, яка його записує:mkdir -p ~/.config/aipager rm -f ~/.config/aipager/bot-token (umask 077 && cat > ~/.config/aipager/bot-token) <<'EOF' <the token> EOF chmod 600 ~/.config/aipager/bot-tokenПотім використовуй
--token-file, як нижче.
Telegram ID людини (ID її чату, число на кшталт 123456789) - не секрет. Якщо людина його не знає, ти можеш його знайти (крок 3.3).
3. Твої кроки#
3.1 Встановити aipager#
curl -fsSL https://raw.githubusercontent.com/dev-aly3n/aipager/main/install.sh | sh
Він використовує uv або pipx, що знайдеться (на macOS ще й Homebrew), і спершу встановлює uv, якщо немає нічого. Можна й самостійно запустити uv tool install aipager або pipx install aipager. Якщо після цього aipager не знаходиться, додай ~/.local/bin у PATH свого shell (export PATH="$HOME/.local/bin:$PATH").
Якщо aipager уже було встановлено, ці команди його не оновлюють. Перевір, що працює aipager setup --help; якщо ні, встановлений aipager застарий: запусти aipager update і перевір ще раз. Якщо aipager update каже перезапустити aipager, скажи про це людині й не перезапускай його зі свого боку (див. 4).
Не запускай aipager config: це інтерактивний майстер для людей.
3.2 Налаштувати aipager#
aipager setup --token-file ~/.config/aipager/bot-token --chat-id 123456789 --service --json
Використовуй справжній ID людини і шлях до файлу з токеном. Замість --token-file можна передати токен через pipe з --token-stdin (наприклад, --token-stdin < path); pipe має закритися, setup чекає на це не більше 30 секунд.
setup перевіряє токен у Telegram, перевіряє цей комп'ютер, надсилає людині одне тестове повідомлення ("aipager is set up for you. ...") і лише потім записує свою конфігурацію, додає hooks Claude Code у ~/.claude/settings.json і, з --service, встановлює та запускає фонову службу. Якщо якась перевірка не проходить, нічого не записується.
Додай --dry-run, щоб спершу подивитися, що зміниться. --role admin дає людині роль admin замість ролі owner (варіант за замовчуванням, owner, правильний для людини, яка налаштовує власний комп'ютер).
3.3 Якщо людина не знає свого Telegram ID#
aipager setup detect-chat --token-file ~/.config/aipager/bot-token --json
Попроси людину натиснути Start у боті (або надіслати йому будь-яке повідомлення), поки команда чекає (до 5 хвилин; --timeout SECONDS змінює цей час). Вона виводить найостаннішого відправника в candidate (id, first_name, last_name, username) і нічого не зберігає. Покажи людині ім'я та ім'я користувача і спитай «Це ти?». Лише якщо людина відповість так, запусти крок 3.2 з --chat-id, що дорівнює candidate.id. Якщо other_candidates не 0, ботові писали й інші люди: перевір особливо уважно.
3.4 Прочитати результат#
З --json setup виводить рівно один JSON-об'єкт у stdout. Читай exit_code (те саме, що код виходу процесу), status, error, message, fix і next_step. Якщо stdout - не JSON (невідомий прапорець, неправильне слово після setup або aipager настільки старий, що не має setup), код виходу - 2, а причину написано простим текстом у stderr: прочитай її, а для старого aipager див. 3.1.
| Вихід | error | Що ти робиш |
|---|---|---|
| 0 | installed, updated або unchanged: готово, переходь до 3.5. dry_run: нічого не записано; запусти ту саму команду без --dry-run. detect-chat found: попроси людину підтвердити, як у 3.3, потім запусти 3.2. | |
| 1 | config_malformed, ambiguous_install, settings_invalid, test_send_failed, write_failed, service_failed, internal_error | Покажи людині message і fix. ambiguous_install: людина виправляє це в aipager config. Не редагуй файли вручну. |
| 2 | usage, token_malformed, token_stdin_timeout, bad_chat_id, ... | Твої вхідні дані були неправильні; fix називає прапорець. token_malformed: у файлі немає токена бота, попроси людину його перевірити. |
| 3 | deps_missing | Виконай fix (кожен відсутній пункт має свій fix у deps.items), потім знову запусти setup. |
| 4 | token_rejected | Telegram відхилив токен. Попроси в людини токен ще раз (або новий в @BotFather). |
| 5 | chat_not_started, bot_blocked | Попроси людину відкрити бота, натиснути Start (або розблокувати його), потім знову запусти setup. |
| 6 | existing_install | aipager уже налаштовано з іншим токеном, чатом або роллю. Скажи людині, що відрізняється, і спитай, перш ніж додавати --force. |
| 7 | telegram_unreachable | Проблеми з мережею, або Telegram перевантажений. Зачекай хвилину й спробуй знову. |
| 8 | detect_timeout | detect-chat не побачив жодного повідомлення. Попроси людину знову натиснути Start і запусти ще раз. З попередженням updates_backlog натискання Start не допоможе: спитай у людини її числовий ID. |
| 9 | daemon_running | detect-chat: aipager для цього бота вже працює й отримує його повідомлення. Спитай у людини її числовий ID (або попроси дозволу, перш ніж зупиняти його через aipager service stop). |
| 10 | updates_conflict | detect-chat: повідомлення цього бота читає інша програма. Спитай у людини її числовий ID. |
| 130 | interrupted | Зупинено через Ctrl-C. |
Якщо daemon.restart_needed дорівнює true, aipager треба перезапустити, щоб застосувати зміну, або setup не зміг з'ясувати, чи він працює (попередження daemon_unknown). Виконуй next_step, він каже, що саме (якщо він пропонує aipager start, який лишається на передньому плані, краще вибери aipager service install). Скажи людині й перезапускай (aipager service stop, потім aipager service start) лише якщо вона попросить, і ніколи зсередини сесії, якою людина керує через aipager (див. 4). Повний список помилок, попереджень і ключів JSON є в довідці про команду setup.
3.5 Перевірити встановлення#
aipager doctor --json
Команда лише читає й нічого не надсилає. Вихід 0 означає, що жодна перевірка не провалилася. Для кожної перевірки зі status, що дорівнює fail (або warn), покажи людині її title, detail і fix.
3.6 Розповісти людині про результат#
Скажи кількома рядками:
- бота (
@+bot_username) і чи було надіслано тестове повідомлення (test_message); - що було налаштовано (
changedіservice.result); - як запустити сесію Claude: надіслати
/newботові в Telegram або запуститиaipager session <name>у терміналі; - усе, на що вказав
doctor, іnext_step, якщо він щось просить.
4. Чого робити не можна#
- Не виводь токен, не передавай його в
echoчиcatі ніколи не став його в командний рядок (--tokenоднаково відхиляється). Передавай його лише файлом або через stdin. - Не редагуй вручну
~/.config/aipager/(крім файлу з токеном із кроку 2) і~/.claude/settings.json. Їх записуютьaipager setupіaipager config. - Не додавай
--force, не спитавши людину: він замінює вже наявні токен, чат або роль. - Не перезапускай і не завершуй свою власну сесію Claude Code. Під час першого встановлення сесія, у якій ти працюєш, не перебуває під aipager і не повинна: нові сесії з'являються через
/newу Telegram абоaipager session <name>. Якщо aipager уже налаштовано і людина спілкується з тобою через нього (наприклад, щоб запуститиsetup --forceз новим токеном), не зупиняй і не перезапускай aipager зі свого боку: твоє завдання і його відповідь обірвуться. Скажи людині перезапустити його, коли закінчиш.
5. Групи#
aipager setup налаштовує особистий чат людини з ботом. Щоб додати групу Telegram з іншими людьми та їхніми ролями, людина запускає aipager config (налаштування груп поки не можна зробити скриптом). Див. Робота в команді та групи.