




























@@ -29,26 +29,26 @@ Current pieces:
2929Every QA flow runs under `pnpm openclaw qa <subcommand>`. Many have `pnpm qa:*`
3030script aliases; both forms are supported.
313132-| Command | Purpose |
33-| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
34-| `qa run` | Bundled QA self-check; writes a Markdown report. |
35-| `qa suite` | Run repo-backed scenarios against the QA gateway lane. Aliases: `pnpm openclaw qa suite --runner multipass` for a disposable Linux VM. |
36-| `qa coverage` | Print the markdown scenario-coverage inventory (`--json` for machine output). |
37-| `qa parity-report` | Compare two `qa-suite-summary.json` files and write the agentic parity report. |
38-| `qa character-eval` | Run the character QA scenario across multiple live models with a judged report. See [Reporting](#reporting). |
39-| `qa manual` | Run a one-off prompt against the selected provider/model lane. |
40-| `qa ui` | Start the QA debugger UI and local QA bus (alias: `pnpm qa:lab:ui`). |
41-| `qa docker-build-image` | Build the prebaked QA Docker image. |
42-| `qa docker-scaffold` | Write a docker-compose scaffold for the QA dashboard + gateway lane. |
43-| `qa up` | Build the QA site, start the Docker-backed stack, print the URL (alias: `pnpm qa:lab:up`; `:fast` variant adds `--use-prebuilt-image --bind-ui-dist --skip-ui-build`). |
44-| `qa aimock` | Start only the AIMock provider server. |
45-| `qa mock-openai` | Start only the scenario-aware `mock-openai` provider server. |
46-| `qa credentials doctor` / `add` / `list` / `remove` | Manage the shared Convex credential pool. |
47-| `qa matrix` | Live transport lane against a disposable Tuwunel homeserver. See [Matrix QA](/concepts/qa-matrix). |
48-| `qa telegram` | Live transport lane against a real private Telegram group. |
49-| `qa discord` | Live transport lane against a real private Discord guild channel. |
50-| `qa slack` | Live transport lane against a real private Slack channel. |
51-| `qa mantis` | Before and after verification runner for live transport bugs, with Discord status-reactions evidence and a Crabbox desktop/browser smoke. See [Mantis](/concepts/mantis). |
32+| Command | Purpose |
33+| --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
34+| `qa run` | Bundled QA self-check; writes a Markdown report. |
35+| `qa suite` | Run repo-backed scenarios against the QA gateway lane. Aliases: `pnpm openclaw qa suite --runner multipass` for a disposable Linux VM. |
36+| `qa coverage` | Print the markdown scenario-coverage inventory (`--json` for machine output). |
37+| `qa parity-report` | Compare two `qa-suite-summary.json` files and write the agentic parity report. |
38+| `qa character-eval` | Run the character QA scenario across multiple live models with a judged report. See [Reporting](#reporting). |
39+| `qa manual` | Run a one-off prompt against the selected provider/model lane. |
40+| `qa ui` | Start the QA debugger UI and local QA bus (alias: `pnpm qa:lab:ui`). |
41+| `qa docker-build-image` | Build the prebaked QA Docker image. |
42+| `qa docker-scaffold` | Write a docker-compose scaffold for the QA dashboard + gateway lane. |
43+| `qa up` | Build the QA site, start the Docker-backed stack, print the URL (alias: `pnpm qa:lab:up`; `:fast` variant adds `--use-prebuilt-image --bind-ui-dist --skip-ui-build`). |
44+| `qa aimock` | Start only the AIMock provider server. |
45+| `qa mock-openai` | Start only the scenario-aware `mock-openai` provider server. |
46+| `qa credentials doctor` / `add` / `list` / `remove` | Manage the shared Convex credential pool. |
47+| `qa matrix` | Live transport lane against a disposable Tuwunel homeserver. See [Matrix QA](/concepts/qa-matrix). |
48+| `qa telegram` | Live transport lane against a real private Telegram group. |
49+| `qa discord` | Live transport lane against a real private Discord guild channel. |
50+| `qa slack` | Live transport lane against a real private Slack channel. |
51+| `qa mantis` | Before and after verification runner for live transport bugs, with Discord status-reactions evidence, Crabbox desktop/browser smoke, and Slack-in-VNC smoke. See [Mantis](/concepts/mantis). |
52525353## Operator flow
5454@@ -121,6 +121,23 @@ pnpm openclaw qa slack
121121122122They target a pre-existing real channel with two bots (driver + SUT). Required env vars, scenario lists, output artifacts, and the Convex credential pool are documented in [Telegram, Discord, and Slack QA reference](#telegram-discord-and-slack-qa-reference) below.
123123124+For a full Slack desktop VM run with VNC rescue, run:
125+126+```bash
127+pnpm openclaw qa mantis slack-desktop-smoke \
128+ --gateway-setup \
129+ --scenario slack-canary \
130+ --keep-lease
131+```
132+133+That command leases a Crabbox desktop/browser machine, runs the Slack live lane
134+inside the VM, opens Slack Web in the VNC browser, captures the desktop, and
135+copies `slack-qa/` plus `slack-desktop-smoke.png` back to the Mantis artifact
136+directory. Reuse `--lease-id <cbx_...>` after logging in to Slack Web manually
137+through VNC. With `--gateway-setup`, Mantis leaves a persistent OpenClaw Slack
138+gateway running inside the VM on port `38973`; without it, the command runs the
139+normal bot-to-bot Slack QA lane and exits after artifact capture.
140+124141Before using pooled live credentials, run:
125142126143```bash
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。