Mantis Slack Desktop-QA ist die Real-UI-Lane für Fehler der Slack-Klasse, die einen Linux-Desktop, VNC-Rettung, Slack Web, ein echtes OpenClaw-Gateway, Screenshots, Videos und einen PR-Nachweiskommentar benötigen. Verwenden Sie sie, wenn Unit-Tests oder die headless Slack-Live-Lane den Fehler nicht belegen können.Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Speichermodell
Mantis verwendet drei verschiedene Speicherebenen:- Provider-Image: gehört Crabbox und wird im Cloud-Provider-Konto gespeichert. Es enthält Maschinenfähigkeiten wie Chrome/Chromium, ffmpeg, scrot, Node/corepack/pnpm, native Build-Tools und leere Cache-Verzeichnisse.
- Warmer Lease-Status: gehört der aktuellen Operator-Sitzung. Er kann ein
angemeldetes Browserprofil,
/var/cache/crabbox/pnpmund einen vorbereiteten Source-Checkout enthalten, solange die Lease aktiv ist. - Mantis-Artefakte: gehören dem OpenClaw-Lauf. Sie liegen unter
.artifacts/qa-e2e/mantis/...; anschließend lädt GitHub Actions sie hoch und die Mantis GitHub App kommentiert Inline-Nachweise im PR.
node_modules oder dist/ in einem vorgefertigten Provider-Image ab.
GitHub-Dispatch
Führen Sie den Workflow vonmain aus:
candidate_ref-Werte sind absichtlich eng gefasst, weil der Workflow
Live-Anmeldedaten verwendet: aktuelle main-Abstammung, Release-Tags oder ein offener PR-Head
aus openclaw/openclaw.
Der Workflow schreibt:
- hochgeladenes Artefakt:
mantis-slack-desktop-smoke-<run-id>-<attempt>; - Inline-PR-Kommentar von der Mantis GitHub App;
slack-desktop-smoke.png;slack-desktop-smoke.mp4;slack-desktop-smoke-preview.gif;slack-desktop-smoke-change.mp4;mantis-slack-desktop-smoke-summary.json;mantis-slack-desktop-smoke-report.md;- Remote-Protokolle wie
slack-desktop-command.log,openclaw-gateway.log,chrome.logundffmpeg.log.
<!-- mantis-slack-desktop-smoke -->-Markierung direkt aktualisiert.
Lokale CLI
Kalter Source-Nachweis:--hydrate-mode prehydrated nur, wenn der wiederverwendete Remote-Arbeitsbereich bereits
node_modules und ein gebautes dist/ enthält. Mantis schlägt geschlossen fehl, wenn diese
fehlen.
Hydrate-Modi
| Modus | Verwenden, wenn | Remote-Verhalten | Abwägung |
|---|---|---|---|
source | Normaler PR-Nachweis, kalte Maschinen, CI | Führt pnpm install --frozen-lockfile --prefer-offline und pnpm build in der VM aus | Am langsamsten, stärkster Source-Checkout-Nachweis |
prehydrated | Sie absichtlich eine wiederverwendete Lease vorbereitet haben | Erfordert vorhandene node_modules und dist/; überspringt Installation/Build | Schnell, aber nur gültig für operatorgesteuerte warme Leases |
/var/cache/crabbox/pnpm, wenn vorhanden.
Timing-Interpretation
mantis-slack-desktop-smoke-report.md enthält Phasen-Timings:
crabbox.warmup: Start des Cloud-Providers, Desktop-/Browser-Bereitschaft und SSH.crabbox.inspect: Nachschlagen der Lease-Metadaten.credentials.prepare: Erwerb der Convex-Anmeldedaten-Lease.crabbox.remote_run: Synchronisierung, Browserstart, OpenClaw-Installation/Build oder Hydrate-Validierung, Gateway-Start, Screenshot und Videoaufnahme.artifacts.copy: rsync zurück aus der VM.
crabbox.remote_run kann als accepted markiert werden, wenn Crabbox einen Remote-Status ungleich null
zurückgibt, nachdem Mantis Metadaten kopiert hat, die belegen, dass das OpenClaw-Gateway
aktiv ist und das Setup abgeschlossen wurde. Behandeln Sie accepted als bestanden mit Erklärung,
nicht als fehlgeschlagenes Szenario.
Wenn der Lauf langsam ist:
- warmup dominiert: backen Sie ein besseres Crabbox-Provider-Image vor oder bewerben Sie es;
- remote_run dominiert in
source: verwenden Sie eine warme Lease, verbessern Sie die Wiederverwendung des pnpm-Stores oder verschieben Sie Maschinenvoraussetzungen in das Provider-Image; - remote_run dominiert in
prehydrated: Der Remote-Arbeitsbereich war tatsächlich nicht bereit, oder das Gateway-/Browser-/Slack-Setup ist langsam; - Artefaktkopie dominiert: prüfen Sie Videogröße und Inhalte des Artefaktverzeichnisses.
Nachweis-Checkliste
Ein guter PR-Kommentar sollte Folgendes zeigen:- Szenario-ID und Candidate-SHA;
- GitHub-Actions-Lauf-URL;
- Artefakt-URL;
- Inline-Screenshot;
- Inline-animierte Vorschau, wenn verfügbar;
- Links zu vollständigem MP4 und zugeschnittenem MP4;
- Bestanden-/Fehlgeschlagen-Status;
- Timing-Zusammenfassung im angehängten Bericht.
Fehlerbehandlung
Wenn der Workflow vor dem VM-Lauf fehlschlägt, prüfen Sie zuerst den Actions-Job. Typische Ursachen sind ein nicht vertrauenswürdigercandidate_ref, fehlende Umgebungs-Secrets oder ein fehlgeschlagener Candidate-Installations-/Build-Vorgang.
Wenn der VM-Lauf fehlschlägt, aber Screenshots zurückkopiert wurden, prüfen Sie:
crabbox vnc ...-Befehl
aus dem Bericht. Stoppen Sie die Lease, wenn Sie fertig sind:
--lease-id aus. Backen Sie dieses Browserprofil nicht in ein Provider-Image.