Конфигурация
Broadcast Groups
Статус: Экспериментальная функция
Версия: Добавлена в 2026.1.9
Обзор
Broadcast Groups позволяют нескольким агентам обрабатывать и отвечать на одно и то же сообщение одновременно. Это позволяет создавать специализированные команды агентов, которые работают вмест е в одной группе WhatsApp или личном чате — все с использованием одного номера телефона. Текущая область применения: только WhatsApp (веб-канал). Группы рассылки оцениваются после списков разрешенных каналов и правил активации групп. В группах WhatsApp это означает, что рассылка происходит, когда OpenClaw обычно ответил бы (например, при упоминании, в зависимости от настроек группы).
Примеры использования
1. Специализированные команды агентов
Разверните несколько агентов с атомарными, сфокусированными обязанностями:
Group: "Development Team"
Agents:
- CodeReviewer (рецензирует фрагменты кода)
- DocumentationBot (генерирует документацию)
- SecurityAuditor (проверяет на уязвимости)
- TestGenerator (предлагает тестовые сценарии)
Каждый агент обрабатывает одно и то же сообщение и предоставляет свою специализированную точку зрения.
2. Поддержка нескольких языков
Group: "International Support"
Agents:
- Agent_EN (отвечает на английском)
- Agent_DE (отвечает на немецком)
- Agent_ES (отвечает на испанском)
3. Процессы контроля качества
Group: "Customer Support"
Agents:
- SupportAgent (предоставляет ответ)
- QAAgent (проверяет качество, отвечает только при обнаружении проблем)
4. Автоматизация задач
Group: "Project Management"
Agents:
- TaskTracker (обновляет базу данных задач)
- TimeLogger (логирует затраченное время)
- ReportGenerator (создает сводки)
Конфигурация
Базовая настройка
Добавьте раздел верхнего уровня broadcast (рядом с bindings). Ключами являются идентификаторы пиров WhatsApp:
- групповые чаты: group JID (например,
120363403215116621@g.us) - личные сообщения: номер телефона в формате E.164 (например,
+15551234567)
{
"broadcast": {
"120363403215116621@g.us": ["alfred", "baerbel", "assistant3"]
}
}
Результат: Когда OpenClaw должен ответить в этом чате, он запустит всех трех агентов.
Стратегия обработки
Управляйте тем, как агенты обрабатывают сообщения:
Параллельная (по умолчанию)
Все агенты обрабатывают сообщения одновременно:
{
"broadcast": {
"strategy": "parallel",
"120363403215116621@g.us": ["alfred", "baerbel"]
}
}
Последовательная
Агенты обрабатывают сообщения по порядку (один ждет завершения предыдущего):
{
"broadcast": {
"strategy": "sequential",
"120363403215116621@g.us": ["alfred", "baerbel"]
}
}
Полный пример
{
"agents": {
"list": [
{
"id": "code-reviewer",
"name": "Code Reviewer",
"workspace": "/path/to/code-reviewer",
"sandbox": { "mode": "all" }
},
{
"id": "security-auditor",
"name": "Security Auditor",
"workspace": "/path/to/security-auditor",
"sandbox": { "mode": "all" }
},
{
"id": "docs-generator",
"name": "Documentation Generator",
"workspace": "/path/to/docs-generator",
"sandbox": { "mode": "all" }
}
]
},
"broadcast": {
"strategy": "parallel",
"120363403215116621@g.us": ["code-reviewer", "security-auditor", "docs-generator"],
"120363424282127706@g.us": ["support-en", "support-de"],
"+15555550123": ["assistant", "logger"]
}
}
Как это работает
Поток сообщений
- Входящее сообщение поступает в группу WhatsApp
- Проверка на рассылку: Система проверяет, находится ли ID пира в
broadcast - Если в списке рассылки:
- Все перечисленные агенты обрабатывают сообщение
- Каждый агент имеет свой собственный ключ сессии и изолированный контекст
- Агенты обрабатывают сообщения параллельно (по умолчанию) или последовательно
- Если не в списке рассылки:
- Применяется обычная маршрутизация (первое подходящее привязка)
Примечание: группы рассылки не обходят списки разрешенных каналов или правила активации групп (упоминания/команды и т.д.). Они меняют только то, какие агенты запускаются, когда сообщение подходит для обработки.
Изоляция сессий
Каждый агент в группе рассылки поддерживает полностью отдельные:
- Ключи сессий (
agent:alfred:whatsapp:group:120363...vsagent:baerbel:whatsapp:group:120363...) - Историю разговоров (агент не видит сообщения других агентов)
- Рабочее пространство (отдельные песочницы, если настроены)
- Доступ к инструментам (разные списки разрешений/запретов)
- Память/контекст (отдельные IDENTITY.md, SOUL.md и т.д.)
- Буфер контекста группы (последние сообщения группы, используемые для контекста) является общим для каждого пира, поэтому все агенты рассылки видят один и тот же контекст при срабатывании
Это позволяет каждому агенту иметь:
- Разные личности
- Разный доступ к инструментам (например, только чтение vs чтение-запись)
- Разные модели (например, opus vs sonnet)
- Разные установленные навыки
Пример: Изолированные сессии
В группе 120363403215116621@g.us с агентами ["alfred", "baerbel"]: Контекст Alfred:
Session: agent:alfred:whatsapp:group:120363403215116621@g.us
History: [user message, alfred's previous responses]
Workspace: /Users/pascal/openclaw-alfred/
Tools: read, write, exec
Контекст Bärbel:
Session: agent:baerbel:whatsapp:group:120363403215116621@g.us
History: [user message, baerbel's previous responses]
Workspace: /Users/pascal/openclaw-baerbel/
Tools: read only
Рекомендации
1. Сохраняйте фокус агентов
Спроектируйте каждого агента с одной четкой ответственностью:
{
"broadcast": {
"DEV_GROUP": ["formatter", "linter", "tester"]
}
}
✅ Хорошо: У каждого агента одна задача
❌ Плохо: Один общий агент "dev-helper"