2.4 KiB
title, summary, read_when
| title | summary | read_when | |||
|---|---|---|---|---|---|
| QA Channel | Synthetic Slack-class channel plugin for deterministic OpenClaw QA scenarios |
|
QA Channel
qa-channel is a bundled synthetic message transport for automated OpenClaw QA.
It is not a production channel. It exists to exercise the same channel plugin boundary used by real transports while keeping state deterministic and fully inspectable.
What it does today
- Slack-class target grammar:
dm:<user>channel:<room>thread:<room>/<thread>
- HTTP-backed synthetic bus for:
- inbound message injection
- outbound transcript capture
- thread creation
- reactions
- edits
- deletes
- search and read actions
- Bundled host-side self-check runner that writes a Markdown report
Config
{
"channels": {
"qa-channel": {
"baseUrl": "http://127.0.0.1:43123",
"botUserId": "openclaw",
"botDisplayName": "OpenClaw QA",
"allowFrom": ["*"],
"pollTimeoutMs": 1000
}
}
}
Supported account keys:
baseUrlbotUserIdbotDisplayNamepollTimeoutMsallowFromdefaultToactions.messagesactions.reactionsactions.searchactions.threads
Runner
Current vertical slice:
pnpm qa:e2e
This now routes through the bundled qa-lab extension. It starts the in-repo
QA bus, boots the bundled qa-channel runtime slice, runs a deterministic
self-check, and writes a Markdown report under .artifacts/qa-e2e/.
Private debugger UI:
pnpm qa:lab:up
That one command builds the QA site, starts the Docker-backed gateway + QA Lab stack, and prints the QA Lab URL. From that site you can pick scenarios, choose the model lane, launch individual runs, and watch results live.
Full repo-backed QA suite:
pnpm openclaw qa suite
That launches the private QA debugger at a local URL, separate from the shipped Control UI bundle.
Scope
Current scope is intentionally narrow:
- bus + plugin transport
- threaded routing grammar
- channel-owned message actions
- Markdown reporting
- Docker-backed QA site with run controls
Follow-up work will add:
- provider/model matrix execution
- richer scenario discovery
- OpenClaw-native orchestration later