Статус: Экспериментальная функция. Добавлена в версии 2026.1.9. Только для WhatsApp (веб-канал).
Обзор
Группы рассылки запускают несколько агентов для одного входящего сообщения. Каждый агент обрабатывает сообщение в собственном изолированном сеансе и публикует свой ответ, поэтому один номер WhatsApp может обслуживать команду специализированных агентов в одном групповом чате или личной переписке. Группы рассылки проверяются после списков разрешённых каналов и правил активации групп. В группах WhatsApp рассылка выполняется, когда OpenClaw обычно должен ответить (например, при упоминании — в зависимости от настроек группы). Она изменяет только то, какие агенты запускаются, но не определяет, допускается ли сообщение к обработке. Активный контур контроля качества WhatsApp включаетwhatsapp-broadcast-group-fanout, который проверяет, что одно сообщение с упоминанием в группе может привести к появлению разных видимых ответов от двух настроенных агентов.
Конфигурация
Базовая настройка
Добавьте раздел верхнего уровняbroadcast (рядом с bindings). Ключи — идентификаторы собеседников WhatsApp, значения — массивы идентификаторов агентов:
- групповые чаты: JID группы (например,
120363403215116621@g.us) - личные сообщения: номер телефона отправителя в формате E.164 (например,
+15551234567)
agents.list: проверка конфигурации сообщает о неизвестных идентификаторах, а среда выполнения пропускает их с предупреждением Broadcast agent <id> not found in agents.list; skipping.
Стратегия обработки
broadcast.strategy определяет, как агенты обрабатывают сообщение:
Полный пример
Принцип работы
Поток сообщений
1
Поступает входящее сообщение
Поступает сообщение из группы WhatsApp или личной переписки.
2
Маршрутизация и допуск
OpenClaw применяет списки разрешённых каналов, правила активации групп и настроенное владение привязкой ACP.
3
Проверка рассылки
Если маршрут не принадлежит настроенной привязке ACP, OpenClaw проверяет наличие идентификатора собеседника в
broadcast.4
Если применяется рассылка
- Все указанные агенты обрабатывают сообщение.
- У каждого агента есть собственный ключ сеанса и изолированный контекст.
- Агенты обрабатывают сообщение параллельно (по умолчанию) или последовательно.
- Аудиовложения расшифровываются один раз перед разветвлением, поэтому агенты используют общую расшифровку вместо отдельных вызовов STT.
5
Если рассылка не применяется
OpenClaw направляет сообщение по обычному маршруту или по настроенному маршруту сеанса ACP, выбранному при маршрутизации.
Группы рассылки не обходят списки разрешённых каналов или правила активации групп (упоминания, команды и т. д.). Они изменяют только то, какие агенты запускаются, когда сообщение допущено к обработке.
Изоляция сеансов
Для каждого агента в группе рассылки полностью разделены:- Ключи сеансов (
agent:alfred:whatsapp:group:120363...иagent:baerbel:whatsapp:group:120363...) - История переписки (агент не видит ответы других агентов)
- Рабочее пространство (отдельные песочницы, если они настроены)
- Доступ к инструментам (разные списки разрешений и запретов)
- Память и контекст (отдельные
IDENTITY.md,SOUL.mdи т. д.)
Пример: изолированные сеансы
В группе120363403215116621@g.us с агентами ["alfred", "baerbel"]:
- Контекст Alfred
- Контекст Baerbel
Сценарии использования
- Команды специализированных агентов: группа разработчиков, в которой
code-reviewer,security-auditor,test-generatorиdocs-checkerотвечают на одно сообщение каждый со своей точки зрения. - Многоязычная поддержка: один чат поддержки, в котором
support-en,support-deиsupport-esотвечают на своих языках. - Контроль качества:
support-agentотвечает, аqa-agentпроверяет ответ и отвечает только при обнаружении проблем. - Автоматизация задач:
task-tracker,time-loggerиreport-generatorполучают одно и то же обновление состояния.
Рекомендации
1. Сосредоточьте каждого агента на одной задаче
1. Сосредоточьте каждого агента на одной задаче
Назначайте каждому агенту одну чёткую обязанность (
formatter, linter, tester) вместо одного универсального агента «помощник разработчика».2. Используйте понятные идентификаторы и имена
2. Используйте понятные идентификаторы и имена
3. Настройте разные права доступа к инструментам
3. Настройте разные права доступа к инструментам
reviewer имеет доступ только для чтения. fixer может читать и записывать.4. Отслеживайте производительность
4. Отслеживайте производительность
При большом количестве агентов предпочитайте
"strategy": "parallel" (по умолчанию), ограничивайте группы рассылки несколькими агентами и используйте более быстрые модели для простых агентов.5. Сбои остаются изолированными
5. Сбои остаются изолированными
Сбои агентов происходят независимо. Ошибка одного агента записывается в журнал (
Broadcast agent <id> failed: ...) и не блокирует остальных.Совместимость
Провайдеры
В настоящее время группы рассылки реализованы только для WhatsApp (веб-канал). Другие каналы игнорируют конфигурациюbroadcast.
Маршрутизация
Группы рассылки работают вместе с существующей маршрутизацией:GROUP_A: отвечает только alfred (обычная маршрутизация).GROUP_B: отвечают agent1 И agent2 (рассылка).
Приоритет:
broadcast имеет приоритет над обычными привязками маршрутов. Настроенные привязки ACP (bindings[].type="acp") являются эксклюзивными: при совпадении OpenClaw направляет сообщение в настроенный сеанс ACP вместо разветвлённой рассылки.Устранение неполадок
Агенты не отвечают
Агенты не отвечают
Проверьте:При успешном разветвлении в журнал записывается
- Идентификаторы агентов существуют в
agents.list(проверка конфигурации отклоняет неизвестные идентификаторы). - Формат идентификатора собеседника корректен (JID группы, например
120363403215116621@g.us, или номер E.164, например+15551234567, для личных сообщений). - Сообщение прошло обычные проверки допуска (правила упоминаний и активации по-прежнему применяются).
Broadcasting message to <n> agents (<strategy>).Отвечает только один агент
Отвечает только один агент
Причина: идентификатор собеседника может находиться в обычных привязках маршрутов, но отсутствовать в
broadcast, либо он может соответствовать эксклюзивной настроенной привязке ACP.Исправление: добавьте собеседников с обычной привязкой маршрута в конфигурацию рассылки или удалите либо измените настроенную привязку ACP, если требуется разветвлённая рассылка.Проблемы с производительностью
Проблемы с производительностью
Если при большом количестве агентов работа замедляется: сократите число агентов в группе, используйте более лёгкие модели и проверьте время запуска песочницы.
Примеры
Пример 1. Команда проверки кода
Пример 1. Команда проверки кода
Пример 2. Многоязычный конвейер
Пример 2. Многоязычный конвейер
Справочник API
Схема конфигурации
Поля
"parallel" | "sequential"
по умолчанию:"\"parallel\""
Способ обработки агентами.
parallel запускает всех агентов одновременно; sequential запускает их в порядке массива.string[]
JID группы WhatsApp или номер телефона в формате E.164. Значение — массив идентификаторов агентов, каждый из которых должен обрабатывать сообщения от этого собеседника.
Ограничения
- Максимальное количество агентов: жёсткого ограничения нет, но большое количество агентов (10+) может замедлить работу.
- Общий контекст: агенты не видят ответы друг друга (это предусмотрено архитектурой).
- Порядок сообщений: параллельные ответы могут поступать в любом порядке.
- Ограничения частоты запросов: все ответы отправляются из одной учётной записи WhatsApp, поэтому ответ каждого агента учитывается в общих ограничениях частоты запросов WhatsApp.