Configuration

Канал контроля качества

qa-channel — это локальный для репозитория синтетический транспорт сообщений для автоматизированного контроля качества OpenClaw (extensions/qa-channel, приватный пакет, исключённый из устанавливаемых сборок). Это не рабочий канал — он предназначен для тестирования той же границы плагина канала, которую используют реальные транспорты, при сохранении детерминированного и полностью доступного для проверки состояния.

Что он делает

  • Грамматика целей класса Slack:
    • dm:<user>
    • channel:<room>
    • group:<room>
    • thread:<room>/<thread>
  • Общие беседы channel: и group: предоставляются агентам как реплики в групповых и канальных комнатах, поэтому для них проверяется та же политика видимых ответов и маршрутизации инструментов сообщений, которая используется в Discord, Slack, Telegram и аналогичных транспортах.
  • Синтетическая шина на базе HTTP для внедрения входящих сообщений, захвата стенограммы исходящих сообщений, создания веток обсуждений, реакций, правок, удалений, а также действий поиска и чтения.
  • Средство самопроверки на стороне хоста, которое записывает отчёт Markdown в .artifacts/qa-e2e/.

Конфигурация

json
{  "channels": {    "qa-channel": {      "baseUrl": "http://127.0.0.1:43123",      "botUserId": "openclaw",      "botDisplayName": "OpenClaw QA",      "allowFrom": ["*"],      "pollTimeoutMs": 1000    }  }}

Ключи учётной записи:

  • 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/):

bash
pnpm qa:e2e

Команда выполняется через qa-lab, запускает встроенную в репозиторий шину контроля качества, загружает срез среды выполнения qa-channel и выполняет детерминированную самопроверку.

Полный набор сценариев на базе репозитория:

bash
pnpm openclaw qa suite

Сценарии выполняются параллельно в контуре Gateway для контроля качества. Сценарии, профили и режимы провайдеров описаны в обзоре контроля качества.

Сайт контроля качества на базе Docker (Gateway и интерфейс отладчика QA Lab в одном стеке):

bash
pnpm qa:lab:up

Собирает сайт контроля качества, запускает стек Gateway и QA Lab на базе Docker и выводит URL QA Lab. В нём можно выбирать сценарии, выбирать контур модели, запускать отдельные прогоны и наблюдать результаты в реальном времени. Отладчик QA Lab не входит в поставляемую сборку Control UI.

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

Was this useful?
On this page

On this page