Главная/Документация/Мессенджеры/Обзор мессенджеров
Мессенджеры

Обзор мессенджеров

Интеграция AIKraft Agents с Telegram, WhatsApp и Lark/Feishu позволяет управлять сессиями агента из мессенджеров, отправлять сообщения с любого устройства и получать ответы агента прямо в чат.

Мессенджеры позволяют связать внешний чат (Telegram DM, WhatsApp-контакт или чат Lark/Feishu) с сессией AIKraft Agents. Сообщения, отправленные в этом чате, управляют агентом; вывод агента отображается обратно в том же чате.

Поддерживаемые платформы

  • Telegram — токен бота (через @BotFather), работает в режимах in-process long-poll или webhook. Поддерживает инлайн-кнопки, фото, документы, голос и видео вложения до 20 МБ.
  • WhatsApp — QR-код или код подключения через воркер-подпроцесс на базе Baileys. Поддерживает текст, медиа-вложения и режим «самочата», чтобы не нужен был второй телефон для тестирования.
  • Lark / Feishu — подключение App ID + App Secret через Lark Open Platform (международная) или Feishu Open Platform (Китай). Используйте кнопку «Создать» с пометкой «Создано для агентов» на странице создания приложения, чтобы пропустить настройку scope и подписки на события. Длинное соединение, богатый текст через Lark post, интерактивные карточки, вложения изображений и файлов.

Как это работает

  1. Включите платформу в настройках — откройте Настройки → Мессенджеры и настройте Telegram (вставьте токен бота) или WhatsApp (отсканируйте QR-код). Каждый workspace имеет собственную конфигурацию мессенджеров.
  2. Свяжите чат с сессией — из внешнего чата отправьте /new, чтобы создать новую сессию, /bind, чтобы выбрать из недавних сессий, или /pair <code>, чтобы активировать код подключения, сгенерированный в приложении.
  3. Чат управляет агентом — после связывания всё, что вы вводите, пересылается агенту как запрос. Ответ агента отображается в чате с использованием выбранного режима ответа.

Команды

Доступны в любом чате — шлюз обрабатывает любое сообщение, начинающееся с /, как команду.

КомандаЧто делает
/new [name]Создаёт новую сессию и связывает с ней этот чат. Необязательное имя.
/bindПоказывает до 10 недавних сессий. В Telegram нажмите на инлайн-кнопку. В WhatsApp ответьте /bind <number>.
/bind <id>Связывает напрямую с сессией по её ID или индексу в списке.
/pair <code>Активирует 6-значный код подключения, сгенерированный из меню сессии в приложении.
/unbindОтсоединяет этот чат от текущей сессии.
/statusПоказывает связанную сессию, канал одобрения и режим ответа.
/stopПрерывает текущий запуск агента.
/helpПоказывает доступные команды.

Связывание привязано к workspace. Каждая связь мессенджера существует внутри одного workspace — вы можете связать один и тот же чат с разными сессиями в разных workspace, и шлюз принимает только команды и коды подключения, исходящие из текущего workspace.

Режимы ответа

Как вывод агента отображается в чате.

РежимЧто вы видитеКогда использовать
progress (по умолчанию)Одно меняющееся сообщение за запуск. Появляется пузырь «💭 думаю…» при первой активности, редактируется на месте по мере выполнения инструментов и заменяется окончательным ответом по завершении. Если запуск завершается на вызове инструмента без выдачи не промежуточного финала, используется последний текст ассистента в качестве ответа вместо оставшегося пузыря мысли.Поддерживает чат в чистоте — большинство пользователей.
streamingЖивые правки во время финального хода, плюс каждое промежуточное text_complete как отдельное сообщение. Несколько сообщений за запуск.Соответствие внутриприложенному опыту стриминга.
final_onlyМолчалив до завершения запуска, затем одно сообщение с финальным текстом. Если не пришло не промежуточного финала, публикуется последний текст ассистента; совершенно пустые запуски остаются молчаливыми.Тихие чаты, пакетные рабочие процессы.

Режим ответа настраивается для каждой связи — вы можете иметь один чат на progress и другой на final_only в одном workspace.

Интервал редактирования в Telegram. Чтобы не превышать лимиты Telegram, рендерер группирует правки с интервалом ~3,5 сек (≈ 20 правок/мин). WhatsApp не поддерживает редактирование сообщений, поэтому в режиме progress на WhatsApp публикуется только финальный пузырь «думаю…» и заменяется ответом.

Коды подключения

Если у вас уже есть открытая сессия в приложении и вы хотите продолжить её с телефона, используйте код подключения вместо ввода ID сессии:

  1. Сгенерируйте код из меню сессии — в приложении откройте нужную сессию, нажмите на три точки и выберите Связать с мессенджером…. Отображается 6-значный код.
  2. Активируйте его из чата — в внешнем чате отправьте /pair 123456 (используйте ваш реальный код). Шлюз проверяет код, связывает чат и подтверждает.

Безопасность:

  • Коды истекают после короткого TTL.
  • Команда /pair ограничена по количеству попыток на отправителя — неверные попытки также расходуют бюджет.
  • Коды работают только внутри workspace, который их выдал.

Вложения

Поддерживаются на Telegram: фото, документы, голосовые сообщения, видео и аудио. Файлы загружаются во временное хранилище и пересылаются в сессию как объекты FileAttachment — так же, как загрузки из приложения. Жёсткий лимит: 20 МБ на вложение.

Пересылка вложений из WhatsApp следует той же схеме; платформенно-специфичные лимиты и обработка MIME-типов описаны на странице WhatsApp.

Канал одобрения

Когда связанная сессия находится в режиме прав Спрашивай, агент запрашивает одобрение перед выполнением команды bash. approvalChannel для каждой связи определяет, где появляется запрос:

ЗначениеПоведение
chat (по умолчанию для Telegram)Запрос одобрения публикуется в чат — вы отвечаете Одобрить/Отклонить прямо там.
app (по умолчанию для WhatsApp, обязательно)Запрос отображается только в десктопном приложении. Связи WhatsApp не поддерживают инлайн-одобрение.

Собственный режим прав сессии всё ещё является обязательным — approvalChannel только управляет где отображается запрос, а не выполняется ли он.

Отправка плана

Когда агент отправляет план в режиме Изучение, связи Telegram получают инлайн-кнопки ✅ Принять план / ♻️ Принять и уплотнить (плюс содержимое плана инлайн или как вложение plan.md). Связи WhatsApp получают текстовое указание открыть десктопное приложение — принять план из WhatsApp пока нельзя. См. WhatsApp → Отправка плана для объяснений.

Безопасность и область действия

  • Для каждого workspace. Каждый workspace имеет собственную конфигурацию мессенджеров, связи и коды подключения. Связь в workspace A никогда не принимает коды, выданные workspace B.
  • Отзыв план-токенов. План-токены (используемые для потоков bash-одобрения) привязаны к связи — пересвязывание чата аннулирует ожидающие токены для старой связи.
  • Ограничение скорости. /pair ограничен по скорости на отправителя. Входящие сообщения маршрутизируются через очередь на уровне связи, чтобы спам не задерживал другие связи.
  • Нет чатов групп/каналов. Сообщения из групп и каналов Telegram отклоняются на уровне адаптера — только приватные DM могут управлять сессией.

Расположение конфигурации

Конфигурация мессенджеров сохраняется для каждого workspace:

terminalbash
~/.craft-agent/workspaces/{workspaceId}/messaging/
  ├── config.json          # флаги включения платформ
  ├── bindings.json        # сопоставления чат → сессия
  └── whatsapp-session/    # учётные данные Baileys (только WhatsApp)

Изменения в bindings.json вступают в силу при следующем входящем сообщении. Удаление папки whatsapp-session/ вынуждает повторное подключение.

Удалённый сервер

Шлюз также работает внутри автономного headless-сервера Bun (packages/server). Telegram использует режим webhook на сервере (вы настраиваете URL webhook), тогда как WhatsApp всё ещё запускает воркер-подпроцесс Baileys. Подробности развёртывания см. в разделе Сервер.

Нужен такой агент в вашей компании?

Устанавливаем под ключ: настройка на компьютерах сотрудников, единый аккаунт, интеграция с 1С и внутренними системами, обучение команды. Подробнее о внедрении →