---
read_when:
    - Ви підключаєте синтетичний транспорт QA до локального запуску тестів або запуску тестів у CI
    - Вам потрібна вбудована поверхня конфігурації qa-channel
    - Ви працюєте над наскрізною автоматизацією QA
summary: Синтетичний плагін каналу класу Slack для детермінованих QA-сценаріїв OpenClaw
title: Канал QA
x-i18n:
    generated_at: "2026-04-27T17:44:06Z"
    model: gpt-5.4
    provider: openai
    source_hash: e1de1f52da1a14c845cf2a536ddc6f36ab52ed6364f68d9ece32ce272e2a2f96
    source_path: channels/qa-channel.md
    workflow: 15
---

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

## Що він робить

- Цільова граматика класу Slack:
  - `dm:<user>`
  - `channel:<room>`
  - `thread:<room>/<thread>`
- Синтетична шина на основі 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` — список дозволених відправників (ідентифікатори користувачів або `"*"`).
- `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. Див. [Огляд QA](/uk/concepts/qa-e2e-automation), щоб дізнатися про сценарії, профілі та режими провайдерів.

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

```bash
pnpm qa:lab:up
```

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

## Повʼязане

- [Огляд QA](/uk/concepts/qa-e2e-automation) — загальний стек, адаптери транспорту, написання сценаріїв
- [Matrix QA](/uk/concepts/qa-matrix) — приклад засобу запуску для живого транспорту, який працює з реальним каналом
- [Сполучення](/uk/channels/pairing)
- [Групи](/uk/channels/groups)
- [Огляд каналів](/uk/channels)
