Configuration

QA-канал

qa-channel — це вбудований синтетичний транспорт повідомлень для автоматизованого QA OpenClaw. Це не production-канал - він існує, щоб перевіряти ту саму межу Plugin каналу, яку використовують реальні транспорти, зберігаючи стан детермінованим і повністю доступним для інспекції.

Що він робить

  • Граматика цілей класу Slack:
    • dm:<user>
    • channel:<room>
    • group:<room>
    • thread:<room>/<thread>
  • Спільні розмови channel: і group: передаються агентам як ходи кімнати групи/каналу, тож вони перевіряють ту саму політику видимих відповідей і маршрутизації message-tool, яку використовують Discord, Slack, Telegram та подібні транспорти.
  • Синтетична шина на базі HTTP для ін’єкції вхідних повідомлень, захоплення вихідного транскрипту, створення тредів, реакцій, редагувань, видалень і дій пошуку/читання.
  • Хостовий runner самоперевірки, який записує 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 - allowlist відправників (ідентифікатори користувачів або "*"). Прямі повідомлення та allowlisted політика груп обидві використовують ці синтетичні ідентифікатори відправників.
  • groupPolicy - політика спільної кімнати: "open" (типово), "allowlist" або "disabled".
  • groupAllowFrom - необов’язковий allowlist відправників спільної кімнати. Якщо його пропущено під "allowlist", QA Channel повертається до allowFrom.
  • groups.<room>.requireMention - вимагати згадку бота перед відповіддю в конкретній кімнаті групи/каналу. groups."*" задає типове значення.
  • defaultTo - резервна ціль, коли жодну не вказано.
  • actions.messages / actions.reactions / actions.search / actions.threads - gating інструментів для кожної дії.

Ключі кількох облікових записів на верхньому рівні:

  • accounts - запис іменованих перевизначень для кожного облікового запису, індексований за ідентифікатором облікового запису.
  • defaultAccount - бажаний ідентифікатор облікового запису, коли налаштовано кілька.

Runners

Хостова самоперевірка (записує Markdown-звіт у .artifacts/qa-e2e/):

bash
pnpm qa:e2e

Це маршрутизується через qa-lab, запускає QA-шину всередині репозиторію, завантажує вбудований runtime-зріз qa-channel і виконує детерміновану самоперевірку.

Повний набір сценаріїв на базі репозиторію:

bash
pnpm openclaw qa suite

Запускає сценарії паралельно проти QA lane Gateway. Див. Огляд QA щодо сценаріїв, профілів і режимів провайдерів.

QA-сайт на базі Docker (Gateway + UI налагоджувача QA Lab в одному стеку):

bash
pnpm qa:lab:up

Збирає QA-сайт, запускає Gateway на базі Docker + стек QA Lab і виводить URL QA Lab. Звідти можна вибирати сценарії, обирати lane моделі, запускати окремі прогони та переглядати результати наживо. Налагоджувач QA Lab окремий від поставленого bundle Control UI.

Пов’язане

Was this useful?