Configuration
Канал QA
qa-channel — это встроенный синтетический транспорт сообщений для автоматизированного QA OpenClaw. Это не production-канал - он существует, чтобы проверять ту же границу channel plugin, которую используют реальные транспорты, сохраняя состояние детерминированным и полностью доступным для проверки.
Что он делает
- Грамматика целей класса Slack:
dm:<user>channel:<room>group:<room>thread:<room>/<thread>
- Общие беседы
channel:иgroup:показываются агентам как обращения в группах/каналах, поэтому они проверяют ту же политику маршрутизации видимых ответов и инструментов сообщений, которая используется Discord, Slack, Telegram и похожими транспортами. - Синтетическая шина на базе HTTP для внедрения входящих сообщений, захвата исходящих транскриптов, создания веток, реакций, правок, удалений и действий поиска/чтения.
- Запускаемый на стороне хоста раннер самопроверки, который записывает Markdown-отчет в
.artifacts/qa-e2e/.
Конфигурация
{ "channels": { "qa-channel": { "baseUrl": "http://127.0.0.1:43123", "botUserId": "openclaw", "botDisplayName": "OpenClaw QA", "allowFrom": ["*"], "pollTimeoutMs": 1000 } }}Ключи учетной записи:
enabled- главный переключатель для этой учетной записи.name- необязательная отображаемая метка.baseUrl- URL синтетической шины.botUserId- идентификатор пользователя бота в стиле Matrix, используемый в грамматике целей.botDisplayName- отображаемое имя для исходящих сообщений.pollTimeoutMs- окно ожидания long-poll. Целое число от 100 до 30000.allowFrom- список разрешенных отправителей (идентификаторы пользователей или"*"). Личные сообщения и политика разрешенных групп используют эти синтетические идентификаторы отправителей.groupPolicy- политика общих комнат:"open"(по умолчанию),"allowlist"или"disabled".groupAllowFrom- необязательный список разрешенных отправителей для общих комнат. Если он не указан при"allowlist", QA Channel использует запасной вариантallowFrom.groups.<room>.requireMention- требовать упоминание бота перед ответом в конкретной группе/комнате канала.groups."*"задает значение по умолчанию.defaultTo- запасная цель, если ни одна не указана.actions.messages/actions.reactions/actions.search/actions.threads- управление доступом к инструментам по действиям.
Ключи для нескольких учетных записей на верхнем уровне:
accounts- запись именованных переопределений для отдельных учетных записей, сгруппированных по идентификатору учетной записи.defaultAccount- предпочитаемый идентификатор учетной записи, когда настроено несколько.
Раннеры
Самопроверка на стороне хоста (записывает Markdown-отчет в .artifacts/qa-e2e/):
pnpm qa:e2eОна проходит через qa-lab, запускает QA-шину из репозитория, загружает встроенный срез runtime qa-channel и выполняет детерминированную самопроверку.
Полный набор сценариев на базе репозитория:
pnpm openclaw qa suiteЗапускает сценарии параллельно в lane QA gateway. См. обзор QA для сценариев, профилей и режимов провайдеров.
QA-сайт на базе Docker (gateway + UI отладчика QA Lab в одном стеке):
pnpm qa:lab:upСобирает QA-сайт, запускает стек gateway + QA Lab на базе Docker и выводит URL QA Lab. После этого можно выбирать сценарии, выбирать lane модели, запускать отдельные прогоны и наблюдать результаты в реальном времени. Отладчик QA Lab отделен от поставляемого бандла Control UI.
Связанное
- Обзор QA - общий стек, транспортные адаптеры, создание сценариев
- Matrix QA - пример раннера для живого транспорта, который управляет реальным каналом
- Связывание
- Группы
- Обзор каналов