Skip to main content

Управление из Telegram

Через Telegram можно следить за сессией Veai CLI с телефона и продолжать её: писать агенту, останавливать его, отвечать на запросы разрешений и вопросы, получать уведомления о завершении или ошибке.

Зачем это нужно​

Агент работает над длинной задачей, а вам нужно отойти от компьютера. Если ему понадобится разрешение или уточнение, вопрос придёт в Telegram, и вы ответите с телефона. Работа не встанет до вашего возвращения.

Как настроить​

У Veai нет общего бота, и наши серверы в этой схеме не участвуют: CLI сам обращается к Telegram Bot API через вашего собственного бота, созданного в BotFather.

  1. Создайте бота у @BotFather командой /newbot и скопируйте токен.
  2. Откройте мини-приложение BotFather (кнопка Open в чате с ним), выберите бота и перейдите в Threads Settings:
    • включите Threaded Mode — без него настройка не пройдёт, потому что каждая сессия получает свою тему;
    • включите Disallow users to create new threads. В классическом меню /mybots этих настроек нет.
  3. В CLI введите /telegram и выберите Set up…. Вставьте токен.
  4. CLI покажет одноразовую ссылку и QR-код. Откройте ссылку на телефоне в течение 5 минут и нажмите Start.

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

Настройка прерывается и ничего не сохраняет, если токен неверный, Threaded Mode выключен или у бота уже настроен webhook. Webhook означает, что ботом пользуется другая программа, поэтому для CLI создайте отдельного бота.

Меню /telegram​

ПунктЧто делает
I'm away — ring the phone / I'm backОтмечает, что вы отошли или вернулись. Действует во всех сессиях терминала
NotificationsРежим уведомлений: always, auto или off
Message during a runЧто делает сообщение с телефона, пока агент работает: steer или follow-up
Re-pair the bot…Привязать бота заново
Unpair…Удалить темы бота, токен и всё состояние

Короткие варианты: /telegram away и /telegram back. Отметка «отошёл» не снимается от набора текста в терминале — только командой или через меню.

Уведомления​

РежимЧто приходит
auto (по умолчанию)Пока вы за компьютером, уведомления без звука и только для сессий, открытых в Telegram. После /telegram away — со звуком
alwaysЗапросы разрешений, вопросы и итоговые ответы всегда приходят со звуком
offНичего не приходит. Команды и сообщения бот при этом принимает

Запросы разрешений и вопросы агента приходят карточками с кнопками. Запрос открыт одновременно в терминале и в Telegram. Засчитывается первый ответ, с любой стороны.

Работа в Telegram​

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

Обычный текст в теме сессии уходит агенту. Если агент в это время работает, сообщение корректирует текущую задачу (steer) или ждёт её завершения (follow-up) — в зависимости от настройки. Для отдельного сообщения используйте /steer <текст> или /later <текст>.

Команды бота:

КомандаГдеЧто делает
/sessionsОсновной чатСписок запущенных сессий; выбранные можно открыть как темы
/notifyОсновной чатРежим уведомлений
/deliveryОсновной чатПоведение сообщений во время работы агента
/unpairОсновной чатОтвязать бота
/stopТема сессииОстановить текущую задачу
/historyТема сессииПоследние шаги диалога; полная история — файлом
/diffТема сессииФайлы, изменённые в сессии, и .diff-файл
/hideТема сессииСкрыть тему; сессия продолжает работать

Пока агент работает, бот показывает прогресс: время, номер шага, последние вызовы инструментов и кнопку ⏹ Stop. Итоговый ответ приходит целиком, с таблицами и разметкой, и кнопками Diff и History.

Сообщение старше 10 минут (например, отправленное, пока ноутбук спал) агент сам не выполнит: бот спросит, запустить его или отбросить.

Что уходит с компьютера​

Telegram получает итоговые ответы агента, прогресс (названия инструментов и их основной аргумент, например команду или путь), запросы разрешений с командой, вопросы, а по запросу — историю и изменения.

warning

Чаты с ботами в Telegram не защищены сквозным шифрованием и хранятся на серверах Telegram. Если код проекта нельзя туда отправлять, не настраивайте управление из Telegram или выключите уведомления.

Токен бота хранится только в файле с учётными данными в служебной папке агента и не пишется в логи. Тот, у кого есть токен, может читать всё, что получает бот.

Ограничения​

  • Работает только в терминале. В IDE и в субагентах управления из Telegram нет.
  • Новую сессию из Telegram начать нельзя: сессии запускаются в терминале.
  • Пока компьютер спит или терминал закрыт, бот не отвечает.
  • Если запущено несколько процессов CLI, новые сообщения из Telegram забирает только один из них. Когда он завершается, эту роль перехватывает другой.
  • Удаление темы в приложении Telegram удаляет её только у вас. Чтобы скрыть тему, используйте /hide.