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/.
Конфигурация
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/):
qa-lab, запускает QA-шину из репозитория, загружает встроенный срез runtime qa-channel и выполняет детерминированную самопроверку.
Полный набор сценариев на базе репозитория:
Связанное
- Обзор QA - общий стек, транспортные адаптеры, создание сценариев
- Matrix QA - пример раннера для живого транспорта, который управляет реальным каналом
- Связывание
- Группы
- Обзор каналов