qa-channel — локальный для репозитория синтетический транспорт сообщений для автоматизированного QA OpenClaw (extensions/qa-channel, закрытый пакет, исключённый из устанавливаемых сборок). Это не промышленный канал — он предназначен для проверки той же границы плагина канала, которую используют реальные транспорты, при этом сохраняя состояние детерминированным и полностью доступным для проверки.
Что он делает
- Грамматика целей класса Slack:
dm:<user>channel:<room>group:<room>thread:<room>/<thread>
- Общие беседы
channel:иgroup:представляются агентам как ходы групповой беседы или комнаты канала, поэтому они проверяют ту же политику маршрутизации видимых ответов и инструмента сообщений, которая используется Discord, Slack, Telegram и аналогичными транспортами. - Синтетическая шина на базе HTTP для внедрения входящих сообщений, захвата исходящих транскриптов, создания веток, реакций, редактирования, удаления, а также операций поиска и чтения.
- Запускаемый на стороне хоста модуль самопроверки, который записывает отчёт Markdown в
.artifacts/qa-e2e/.
Конфигурация
enabled— главный переключатель этой учётной записи.name— необязательная отображаемая метка.baseUrl— URL синтетической шины. После его задания учётная запись считается настроенной.botUserId— идентификатор пользователя синтетического бота, используемый в грамматике целей (по умолчанию:openclaw).botDisplayName— отображаемое имя для исходящих сообщений (по умолчанию:OpenClaw QA).pollTimeoutMs— интервал ожидания длительного опроса. Целое число от 100 до 30000 (по умолчанию: 1000).allowFrom— список разрешённых отправителей (идентификаторы пользователей или"*"; по умолчанию:["*"]). К личным сообщениям всегда применяется политикаopen; групповая политика со списком разрешённых отправителей также использует эти синтетические идентификаторы отправителей.groupPolicy— политика общей комнаты:"open"(по умолчанию),"allowlist"или"disabled".groupAllowFrom— необязательный список разрешённых отправителей общей комнаты. Если он не указан при"allowlist", QA Channel используетallowFrom.groups.<room>.requireMention— требовать упоминания бота перед ответом в определённой комнате группы или канала (по умолчанию: false).groups."*"задаёт значение по умолчанию; параметры отдельных комнатtools/toolsBySenderпереопределяют политику инструментов.defaultTo— резервная цель, если цель не указана.actions.messages/actions.reactions/actions.search/actions.threads— управление доступностью инструментов для отдельных действий.
accounts— набор именованных переопределений для отдельных учётных записей, индексированный по идентификатору учётной записи.defaultAccount— предпочтительный идентификатор учётной записи, если настроено несколько учётных записей.
Средства запуска
Самопроверка на стороне хоста (записывает отчёт Markdown в каталог.artifacts/qa-e2e/):
qa-lab, запускает шину QA из репозитория, загружает срез среды выполнения qa-channel и выполняет детерминированную самопроверку.
Полный набор сценариев на базе репозитория:
Связанные материалы
- Обзор QA — общий стек, адаптеры транспорта, профили Matrix и создание сценариев
- Сопряжение
- Группы
- Обзор каналов