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/.

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

json
{  "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/):

bash
pnpm qa:e2e

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

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

bash
pnpm openclaw qa suite

Запускает сценарии параллельно в lane QA gateway. См. обзор QA для сценариев, профилей и режимов провайдеров.

QA-сайт на базе Docker (gateway + UI отладчика QA Lab в одном стеке):

bash
pnpm qa:lab:up

Собирает QA-сайт, запускает стек gateway + QA Lab на базе Docker и выводит URL QA Lab. После этого можно выбирать сценарии, выбирать lane модели, запускать отдельные прогоны и наблюдать результаты в реальном времени. Отладчик QA Lab отделен от поставляемого бандла Control UI.

Связанное

Was this useful?
On this page

On this page