Skip to main content
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 Gateway. Сценарии, профили и режимы провайдеров описаны в обзоре QA. Сайт QA на базе Docker (Gateway и отладочный интерфейс QA Lab в одном стеке):
Собирает сайт QA, запускает стек Gateway и QA Lab на базе Docker и выводит URL QA Lab. В нём можно выбирать сценарии и линию модели, запускать отдельные прогоны и наблюдать за результатами в реальном времени. Отладчик QA Lab не входит в поставляемый пакет Control UI.

Связанные материалы