Розмова з агентом у Telegram
Через Telegram можна просити агента про роботу з телефона: «що змінилося в проєкті за день», «запусти перевірки», «підготуй правку». Але в SHIPIT немає вбудованого з’єднання Telegram з агентом, і за тебе його ніхто не вмикає.
Причина проста. Telegram — відкритий канал, а агент має доступ до твоєї папки й команд. Тому є два чесні шляхи: частину дій ти робиш сам, або сам даєш агентові доступ до Telegram API й відповідаєш за наслідки.
Шлях 1. Роби сам (за замовчуванням)
Telegram лише приймає повідомлення від програм, які агент для тебе написав: сповіщення, нагадування, відповіді клієнтам. А завдання самому агентові ти даєш у SHIPIT, де видно все одразу й де він питає підтвердження.
| Що робиш ти | Що робить агент |
|---|---|
| Створюєш бота в @BotFather і отримуєш токен. | Пише код бота або скрипта, який пише тобі в Telegram. |
| Відкриваєш бота й натискаєш Start. | Перевіряє, що повідомлення доходять. |
Вписуєш токен у .env, а не в чат. | Читає токен із .env і не друкує його. |
| Даєш завдання в SHIPIT і підтверджуєш небезпечні дії. | Виконує завдання, а результат шле тобі в Telegram. |
Це найбезпечніше, і для більшості задач його достатньо: агент працює, а ти дізнаєшся про результат на телефоні.
Шлях 2. На свій страх і ризик: дати агентові Telegram API
Якщо хочеш писати агентові просто з Telegram, ти можеш віддати йому токен свого бота. Тоді агент сам звертається до Telegram Bot API: читає нові повідомлення з твого чату і відповідає туди ж. Це не функція SHIPIT, а звичайна робота агента з мережею.
Що ти береш на себе
- Токен — це пароль до бота. Тепер його бачить агент, а все, що агент бачить у сесії, іде до компанії, чий це агент (див. розділ про дані в першому запуску). Якщо токен став відомим, згенеруй новий командою
/tokenу @BotFather. - Лише ти. Агент має приймати повідомлення тільки від твого chat id і ігнорувати решту. Інакше будь-хто, хто знайде бота, керуватиме агентом, а через нього твоїм Mac. Це правило важливіше за всі інші.
- Підтверджень у Telegram немає. У SHIPIT агент питає дозволу на небезпечні дії. З телефона відповісти на таке запитання нічим: або він чекатиме тебе, або, якщо ти заздалегідь дозволив усе, діятиме без питання. Не дозволяй усе.
- Відповідальність за дії агента, зокрема надані з телефона, на тобі. Прочитай Agent Risk & Acceptable Use.
Чому SHIPIT має бути відкритий
Агент працює на твоєму Mac
Закрив кришку чи вимкнув Mac, і агент не відповідає: немає кому. Telegram тримає повідомлення, яких ще ніхто не забрав, не довше 24 годин, а потім вони зникають. Тому Mac має бути ввімкнений, мати інтернет і не засинати. Автоматичний сон вимкни в налаштуваннях енергії macOS на час, поки це потрібно.
Синхронно означає одна папка і одна історія
SHIPIT показує ту саму папку, ті самі файли й ту саму історію Git, з якими працює агент. Відкритий SHIPIT дає побачити, що агент зробив через чат, а те, що ти змінив у SHIPIT, агент бачить, коли ти йому напишеш. Закритий SHIPIT нічого не ламає, але ти бачиш роботу тільки коли відкриєш його знову.
Як це зробити
01Створи бота і впиши дані у .env
Крок за кроком це описано в гайді про першого бота. У папці проєкту в .env мають бути токен і твій chat id. Токен у чат агентові не вставляй: впиши його у файл сам.
02Скажи агентові, що можна, а що ні
Відкрий проєкт у SHIPIT і напиши, наприклад:
У цій папці в .env лежать TELEGRAM_BOT_TOKEN і TELEGRAM_CHAT_ID. Читай нові повідомлення в Telegram через Bot API, але тільки з цього chat id; усі інші ігноруй. Відповідай мені туди ж і розбивай довгі відповіді на кілька повідомлень. Можеш читати файли, пояснювати й готувати зміни в окремій гілці Git. Нічого не публікуй, не видаляй і не роби платежів. Токен не друкуй у відповідях.
03Почни з безпечної задачі
Напиши боту щось на кшталт «покажи, що змінилося в проєкті». Перевір, що відповідь приходить лише тобі, і спробуй написати боту з іншого акаунта: агент не має відповісти.
Що SHIPIT робить, а що ні
У SHIPIT немає кнопки «підключити Telegram до агента» і окремого місця для токена. Усе, що ти тут робиш, — звичайна робота агента з файлами й командами у твоїй папці. Починай з читання і підготовки змін, а не з повного доступу, і додавай права тільки тоді, коли розумієш, навіщо вони.
Чи можна так керувати кількома проєктами
Так, але простіше один бот на один проєкт: у кожного своя папка, свої права і свій токен. Так не переплутаються проєкти, а відкликати доступ можна по одному.