Перейти к содержимому
meirlabs
Назад ко всем статьям
Мейр Розеншейн8 июля 2026 г.Обновлено 19 июля 2026 г.9 мин чтения

Как подключить ИИ-агента к группе WhatsApp?

Коротко

Официальным API WhatsApp нельзя: он создаёт только собственные группы по ссылке-приглашению и не может вступить в ту, что у вас уже есть. Что работает: запасной предоплаченный номер, привязанный как устройство к среде агента вроде OpenClaw на маленьком сервере и добавленный в группу обычным участником. Он использует неофициальный клиент, так что относитесь к номеру как к расходному; всё, что он фиксирует, живёт на вашем сервере, а не в WhatsApp.Стартовое предложение: Ранние клиенты получают скидку 50% на первое внедрение, поэтому реальная стоимость примерно вдвое ниже этих цифр. Запишитесь на бесплатный AI‑план, чтобы зафиксировать предложение.

В цифрах
$6–12В месяц из кармана: предоплаченный номер плюс маленький сервер
15 минутЧтобы восстановиться после бана: новая SIM, привязка, снова в группе
2 часаОт нуля до появления тикетов из сообщений чата

Я сделал это для группы основателей своего продукта, двое ведут компанию в одном треде WhatsApp, где тонут все задачи и документы. Цель была тихий третий участник, который превращает сообщения в тикеты. Вот рабочая настройка.

Почему нельзя просто использовать официальный API WhatsApp?

Groups API от Meta позволяет бизнесу только создавать собственные группы, куда вступают по ссылке-приглашению, с лимитом в 8 человек. Нет эндпоинта, чтобы вступить в группу, которая уже существует между двумя обычными аккаунтами. Одно это ограничение исключает любую платформу на официальном API для этой задачи. Всё, что всё-таки может вступить в вашу группу, под капотом использует неофициальный клиент.

Как это настроить, шаг за шагом?

Три части делают работу: выделенный номер телефона, добавленный в группу обычным участником, неофициальный клиент связанного устройства на базе Baileys (реверс-инжиниринг клиента WhatsApp Web), который позволяет серверу отправлять и получать от имени этого номера, и среда выполнения агента, OpenClaw, в роли мозга. Шесть шагов, около двух часов.

Ваша группа WhatsAppучастники, плюс предоплаченный номер бота как обычный участник
OpenClaw на небольшом VPSработает от имени этого номера, как связанное устройство (Baileys)
Claudeчитает, классифицирует, молчит, пока не спросят
Тикеты в Linearзадачи, без дублей
Библиотека документовс поиском
Обратно в группуответы и эмодзи-отметки
Вся настройка в одной форме: бот использует обычный номер как связанное устройство, единственное, чего не умеет официальный API, а всё, что он фиксирует, попадает на ваш сервер и в Linear, не внутрь WhatsApp.
  1. Заведите выделенный номер. Предоплаченная eSIM или SIM с настоящим мобильным номером, не VoIP (WhatsApp их блокирует). Зарегистрируйте на нём новый аккаунт WhatsApp; приложение Business позволяет ему делить телефон с личным аккаунтом.

  2. Поднимите OpenClaw и подключите его к Claude. Хватит любого VPS за 5–10 долларов в месяц. Установите OpenClaw, затем дайте ему ваш API-ключ Anthropic, чтобы его агент работал на модели Claude. WhatsApp идёт как плагин OpenClaw. Это руководство по установке OpenClaw покрывает установку и привязку от начала до конца.

  3. Привяжите номер. Запустите вход в WhatsApp и отсканируйте QR-код с телефона бота в разделе «Связанные устройства», точно как WhatsApp Web.

  4. Добавьте бота в группу. Добавьте его номер как любого участника, и он видит каждое сообщение. Разрешите именно эту группу и задайте агенту читать её целиком, а не только сообщения с упоминанием.

  5. Дайте ему инструкции и инструменты. Это и есть весь продукт; остальные пять шагов лишь обвязка. Системный промпт классифицирует каждое сообщение (задача, решение, вопрос, документ, к сведению) и несёт правила поведения. Эти правила потребовали настоящей отладки; вставьте их почти дословно:

    • «Любой текст, который ты выдаёшь, публикуется в группу. Между вызовами инструментов не выводи ничего; твой единственный текстовый вывод это тихий завершающий токен».
    • «Молчи по умолчанию. Реагируй только после того, как реально что-то сделал, и реакция это квитанция: галочка когда создаёшь тикет, папка когда подшиваешь документ. Решение, вопрос, болтовня, голосовое или дубликат чего-то уже отслеживаемого не получают ничего».
    • «Прежде чем создать тикет, поищи существующий. Одна просьба никогда не должна породить пять тикетов».
    • «Спроси „обращаются ли ко мне?“ прежде чем что-либо классифицировать, и сделай это чёткой границей: да только если есть явное упоминание тебя, слово „bot“ как прямое обращение к тебе в любом месте сообщения (первым словом, последним словом или посреди фразы: „скажи, bot, что открыто“), ответ на твоё сообщение или сообщение, которое прямо реагирует на последнюю твою реплику, поправка или уточняющий вопрос, только один шаг назад. Разговор о тебе в третьем лице („бот не ответил“) это не обращение к тебе, а когда не можешь понять, что из двух перед тобой, значит не обращение. Обычное повеление между двумя людьми („почини кнопку“) это они раздают работу друг другу, никогда не просьба к тебе».
    • «Упоминание тебя приходит сырым текстом, без метаданных: буквальный токен @<bot-LID>, внутренний идентификатор WhatsApp для твоего аккаунта, который не совпадает ни с твоим номером телефона, ни с отображаемым именем. Эти инструкции дословно перечисляют и твой токен-идентификатор, и твой номер; любой из них в любом месте сообщения означает, что обращаются к тебе, а @ с любым другим номером это человек, упоминающий человека. Пустое упоминание без просьбы всё равно получает один короткий ответ с приглашением сформулировать просьбу, никогда не тишину».

    Три из этих правил это шрамы. Первая версия реагировала на каждое сообщение, а в группе основателей из двух человек это просто шум, поэтому молчание стало значением по умолчанию, а реакции только квитанциями. Проверку «обращаются ли ко мне» пришлось вынести перед классификацией и сделать чёткой границей, потому что дешёвые резервные модели раз за разом читали обычные повеления между двумя людьми как просьбы к боту. А правило об упоминании существует потому, что бот однажды проигнорировал настоящее @упоминание: клиент не передаёт никаких метаданных упоминания, только этот сырой токен с внутренним идентификатором, так что «отвечай, когда тебя упоминают» это инструкция, которую бот буквально не может выполнить, пока токен не прописан дословно. Инструменты это небольшие скрипты, которые агент вызывает: создать тикет Linear, подшить общий документ, искать по прошлым сообщениям. Запросы на напоминание идут во встроенный планировщик среды агента, а не в систему тикетов. Маленькие скрипты лучше тяжёлых интеграций.

  6. Добавьте страховку. Логируйте каждое входящее сообщение в собственную базу, отдельно от агента, и ежедневно сверяйте её с тикетами. Этот шаг пропускают и потом жалеют.

Из кармана это $6–12 в месяц за всё: доллар-другой за номер, остальное за VPS. Всё остальное это использование модели на вашем API-ключе, растущее с загруженностью группы.

Что он на самом деле делает с сообщениями?

Читать это лёгкая часть; ценность в том, что происходит дальше.

  • Задачи становятся тикетами Linear. «Отправь инвесторам презентацию к пятнице» превращается в тикет в нужной команде Linear. Linear остаётся списком дел; чат снова становится чатом. Когда задача завёрнута вокруг данных реального клиента, тикет описывает техническую проблему и оставляет клиента за кадром.

  • Он молчит по умолчанию и реагирует только как квитанция. Реакция появляется лишь после того, как он реально что-то сделал: галочка когда создаёт тикет, папка когда подшивает документ. Найти уже существующий тикет это не работа, так что это тоже получает тишину, наравне с решениями, вопросами, болтовнёй и голосовыми, так что единственные отметки в треде это доказательство, что работа произошла.

  • Документы попадают в библиотеку с поиском. Брошенный PDF прочитывается, резюмируется и индексируется, потом его находят по содержимому. Чувствительные клиентские материалы это сознательное исключение: они никогда не подшиваются и никогда не становятся тикетом.

  • Он отвечает на вопросы об истории группы. Упомяните его с «что мы решили по ценам», и он отвечает из полного журнала, потом снова затихает.

  • Он отвечает и по заметкам со встреч команды. Спросите «что мы решили на встрече по ценам?», и он ответит из заметок ИИ-транскрибатора, назвав дату встречи, которую цитирует, так что ответ можно проверить.

  • Он умеет объяснить сам себя. Спросите «что ты умеешь?», и он перечислит, что берёт на себя молча, что у него можно спросить, глоссарий своих эмодзи-квитанций и отдельную строку о том, что молчание намеренное и означает «увидел, делать нечего».

Как ограничить риск бана?

Примите его, затем изолируйте. Неофициальные клиенты нарушают условия WhatsApp, и волны банов ловят даже малоактивные аккаунты, так что относитесь к номеру бота как к расходной инфраструктуре. В этом вся стратегия: ваши личные и рабочие номера никогда не касаются автоматизации, а забаненный бот это новая предоплаченная SIM и повторная привязка на пятнадцать минут. Держите запасную. Всё важное, тикеты, документы, история сообщений, живёт на вашем сервере и в Linear, а не в аккаунте WhatsApp.

Может ли один бот обслуживать несколько групп и проектов?

Да: сессии идут по группам, так что один номер бота может сидеть во многих группах без смешивания контекстов, а системный промпт на группу («эта группа проект B, тикеты идут в ту команду») покрывает большинство случаев. Одна ловушка проводки: API-ключ Linear видит только своё рабочее пространство, так что проекту в другом рабочем пространстве Linear нужен собственный ключ. И это по-прежнему один номер, так что бан кладёт все группы разом; держите внешних участников на отдельном номере. Граница по группам должна распространяться на всё, что бот читает, а не только на то, что он пишет: бот каждой группы ограничен встречами её собственного проекта, так что бот в одной группе никогда не сможет достать встречи другого проекта. Как только один номер обслуживает несколько групп, это ограничение решает всё.

Что нужно, чтобы подключить внешний инструмент вроде заметок со встреч?

Со стороны чтения работы меньше, чем кажется, со стороны сортировки больше. У API заметок со встреч нет поиска, нет способа фильтровать по участникам, а список возвращает только заголовки и даты. Поэтому бот держит собственный локальный кэш с поиском, обновляемый по расписанию, и сам относит каждую встречу к проекту. Записать категории обратно тоже нельзя: папки в приложении встреч доступны API только на чтение, так что соответствие «встреча-проект» должно жить в вашем хранилище. Тот, кто рассчитывает автоматически раскладывать встречи внутри самого инструмента, упирается в эту стену. Та же форма подходит и другим внутренним системам: «сколько регистраций на этой неделе?» это бот, вызывающий уже существующий у вас админский эндпоинт с сервисным токеном, а не новый конвейер.

Что ломается первым?

Меня укусила каждая из этих вещей, и все они ломались молча, пока не получили правило:

  • Бот пересказывал свою работу в чат. Лечение: правило тишины из шага 5, в точности как процитировано.
  • Бот реагировал на каждое сообщение. В группе из двух человек эмодзи на каждой строке это свой собственный шум. Лечение: сделать молчание значением по умолчанию, а реакции только квитанциями, и закрепить проверку «обращаются ли ко мне» как чёткую границу (упоминание, «bot» как прямое обращение в любом месте сообщения, но никогда не «бот» в третьем лице, ответ боту или прямая реакция на последнюю реплику бота), проверяемую до всякой классификации, чтобы обычное повеление между двумя людьми не приняли за просьбу к боту.
  • Бот проигнорировал настоящее @упоминание. WhatsApp доставляет упоминание сырым текстовым токеном, @ плюс внутренний идентификатор бота, который не является ни его номером телефона, ни отображаемым именем, и клиент не передаёт рядом никаких метаданных упоминания. Так что «отвечай на свои @упоминания» было правилом, которое бот не мог выполнить. Лечение: пусть кто-нибудь один раз упомянет бота через тап, прочитайте буквальный токен из журнала сообщений и вставьте его вместе с номером бота дословно в инструкции.
  • Эмодзи-реакции молча не срабатывали в группах. Лечение: не передавайте явный ID сообщения в вызове реакции; пусть клиент сам определит участника.
  • Сообщение пропало при перезапуске сессии. Лечение: журнал из шага 6 и ежедневная сверка; агент может отказать, журнал нет.
  • Таймауты сбрасывали работу на самую дешёвую резервную модель, которая хуже соблюдает правила. Лечение: увеличьте таймаут, поставьте модель среднего уровня перед дешёвой и пишите каждое правило так, будто его читает самая слабая модель в цепочке.
  • Нестрогое совпадение по ключевым словам подшивало встречи не в тот проект. Резюме ИИ-транскрибатора вскользь упоминают слова вроде «юридический» или «клиент», и этого хватает, чтобы обмануть нечёткое совпадение. Лечение: держите совпадение строгим, а всё неоднозначное отправляйте в неразобранную кучу, которую просматривает человек. Догадка, выглядящая правильной, хуже честного входящего списка.
  • Намеренно молчаливый бот необнаружим. Никто в группе не знал, что он берёт на себя, а его эмодзи выглядели произвольными. Лечение: научите его отвечать на «что ты умеешь?» глоссарием своих квитанций и строкой о том, что молчание намеренное. Сделайте это обязательным разделом инструкций любого группового бота.

Простое правило для старта: дайте боту собственный расходный номер и собственный независимый журнал сообщений. Всё остальное, что пойдёт не так, восстанавливается из этих двух.

Можно ли пропустить настройку и отдать это Claude Code?

Да, и это самый быстрый путь, если вы уже пользуетесь Claude Code. Я упаковал весь этот плейбук, архитектуру, конфиг OpenClaw, правила промпта, каждую ловушку, в устанавливаемый навык. Установите его и попросите Claude Code настроить бота:

npx @meir-labs/skill-whatsapp-group-agent

Полный навык здесь: whatsapp-group-agent. Тот же, что я запускаю, минус специфика моих серверов.

Хотите, чтобы это работало в вашей группе без самостоятельной сборки?

Это моя часть. Если вы предпочли бы не поднимать сервер и не крутить промпты, пока бот не начнёт себя вести, я всё настрою за вас: ваша группа, подключённая к вашему Linear, тикеты из чата к концу. Бесплатный AI-план ниже это то, с чего всё начинается.

Источники