概述

Mantis Slack 桌面 QA 是针对需要 Linux 桌面、VNC 救援、Slack Web、真实 OpenClaw Gateway、截图和视频的 Slack 类 Bug 的真实 UI 验证通道。当单元测试或无头 Slack live 通道无法证明 Bug 时使用。

核心要点

  • 三层存储模型:Provider 镜像(Crabbox 拥有,含 Chrome/Node/pnpm 等)、Warm lease 状态(当前操作员会话拥有)、Mantis artifacts(OpenClaw 运行拥有)
  • 两种水合模式:source(冷机器/CI,运行 install+build,最慢但最可靠);prehydrated(复用已准备好的 lease,跳过 install/build,仅限操作员控制的热 lease)
  • GitHub Actions 工作流:mantis-slack-desktop-smoke.yml,写入截图、MP4、GIF 预览、JSON 摘要、Markdown 报告
  • PR 评论:通过隐藏 <!-- mantis-slack-desktop-smoke --> 标记原地更新
  • 时间分析:报告包含各阶段耗时(warmup/inspect/credentials/remote_run/artifacts)

配置/使用

GitHub 工作流触发:

gh workflow run mantis-slack-desktop-smoke.yml \
  --ref main \
  -f candidate_ref=<trusted-ref-or-sha> \
  -f pr_number=<pr-number> \
  -f scenario_id=slack-canary \
  -f crabbox_provider=aws \
  -f hydrate_mode=source

本地 CLI(冷源码验证):

pnpm openclaw qa mantis slack-desktop-smoke \
  --provider aws \
  --class standard \
  --gateway-setup \
  --credential-source convex \
  --credential-role maintainer \
  --provider-mode live-frontier \
  --scenario slack-canary \
  --hydrate-mode source

保留 VM 用于 VNC 救援:

pnpm openclaw qa mantis slack-desktop-smoke \
  --provider aws --class standard \
  --gateway-setup --scenario slack-canary \
  --keep-lease
# 然后:
crabbox vnc --provider aws --id <cbx_id> --open

复用热 lease:

pnpm openclaw qa mantis slack-desktop-smoke \
  --provider aws \
  --lease-id <cbx_id-or-slug> \
  --gateway-setup \
  --scenario slack-canary \
  --hydrate-mode source

失败排查:

  • 工作流在 VM 运行前失败 → 检查 Actions job(untrusted ref、缺少 secrets、install/build 失败)
  • VM 运行失败但有截图 → 查看 mantis-slack-desktop-smoke-report.md、openclaw-gateway.log、chrome.log
  • Slack 登录过期 → 在 VNC 中手动修复,用 --lease-id 重新运行

相关页面

  • mantis — Mantis 端到端验证系统总览
  • qa-e2e-automation — QA 整体框架
  • concepts/channel-docking — 渠道对接机制
  • streaming — 流式输出(Slack 原生流)