



























@@ -450,70 +450,7 @@ Payload shape for Telegram real-user kind:
450450- `{ groupId: string, sutToken: string, testerUserId: string, testerUsername: string, telegramApiId: string, telegramApiHash: string, tdlibDatabaseEncryptionKey: string, tdlibArchiveBase64: string, tdlibArchiveSha256: string, desktopTdataArchiveBase64: string, desktopTdataArchiveSha256: string }`
451451- `groupId`, `testerUserId`, and `telegramApiId` must be numeric strings.
452452- `tdlibArchiveSha256` and `desktopTdataArchiveSha256` must be SHA-256 hex strings.
453-- `kind: "telegram-user"` represents one Telegram burner account. Treat the lease as account-wide: the TDLib CLI driver and Telegram Desktop visual witness restore from the same payload, and only one job should hold the lease at a time.
454-455-Telegram real-user lease restore:
456-457-```bash
458-tmp=$(mktemp -d /tmp/openclaw-telegram-user.XXXXXX)
459-node --import tsx scripts/e2e/telegram-user-credential.ts lease-restore \
460- --user-driver-dir "$tmp/user-driver" \
461- --desktop-workdir "$tmp/desktop" \
462- --lease-file "$tmp/lease.json"
463-TELEGRAM_USER_DRIVER_STATE_DIR="$tmp/user-driver" \
464- uv run ~/.codex/skills/custom/telegram-e2e-bot-to-bot/scripts/user-driver.py status --json
465-node --import tsx scripts/e2e/telegram-user-credential.ts release --lease-file "$tmp/lease.json"
466-```
467-468-Use the restored Desktop profile with `Telegram -workdir "$tmp/desktop"` when a visual recording is needed. In local operator environments, `scripts/e2e/telegram-user-credential.ts` reads `~/.codex/skills/custom/telegram-e2e-bot-to-bot/convex.local.env` by default if process env vars are absent.
469-470-Agent-driven Crabbox session:
471-472-```bash
473-pnpm qa:telegram-user:crabbox -- start \
474- --tdlib-url http://artifacts.openclaw.ai/tdlib-v1.8.0-linux-x64.tgz \
475- --output-dir .artifacts/qa-e2e/telegram-user-crabbox/pr-review
476-pnpm qa:telegram-user:crabbox -- send \
477- --session .artifacts/qa-e2e/telegram-user-crabbox/pr-review/session.json \
478- --text /status
479-pnpm qa:telegram-user:crabbox -- finish \
480- --session .artifacts/qa-e2e/telegram-user-crabbox/pr-review/session.json
481-```
482-483-`start` leases the `telegram-user` credential, restores the same account into
484-TDLib and Telegram Desktop on a Crabbox Linux desktop, starts a local mock SUT
485-gateway from the current checkout, opens the visible Telegram chat, starts
486-desktop recording, and writes a private `session.json`. While the session is
487-alive, an agent can keep testing until satisfied:
488-489-- `send --session <file> --text <message>` sends through the real TDLib user and waits for the SUT reply.
490-- `run --session <file> -- <remote command>` runs an arbitrary command on the Crabbox and saves its output, for example `bash -lc 'source /tmp/openclaw-telegram-user-crabbox/env.sh && python3 /tmp/openclaw-telegram-user-crabbox/user-driver.py transcript --limit 20 --json'`.
491-- `screenshot --session <file>` captures the current visible desktop.
492-- `status --session <file>` prints the lease and WebVNC command.
493-- `finish --session <file>` stops the recorder, captures screenshot/video/motion-trim artifacts, releases the Convex credential, stops local SUT processes, and stops the Crabbox lease unless `--keep-box` is passed.
494-- `publish --session <file> --pr <number>` publishes a GIF-only PR comment by default. Pass `--full-artifacts` only when logs or JSON artifacts are intentionally needed.
495-496-For deterministic visual repros, pass `--mock-response-file <path>` to `start`
497-or to the one-command `probe` shorthand. The runner defaults to a standard
498-Crabbox class, 24fps recording, 24fps motion GIF previews, and 1920px GIF
499-width. Override with `--class`, `--record-fps`, `--preview-fps`, and
500-`--preview-width` only when the proof needs different capture settings.
501-502-One-command Crabbox proof:
503-504-```bash
505-pnpm qa:telegram-user:crabbox -- --text /status
506-```
507-508-The default `probe` command is shorthand for one start/send/finish cycle. Use
509-it for a quick `/status` smoke. Use the session commands for PR review,
510-bug-reproduction work, or any case where the agent needs minutes of arbitrary
511-experimentation before deciding the proof is complete. Use `--id <cbx_...>` to
512-reuse a warm desktop lease, `--keep-box` to keep VNC open after finish,
513-`--desktop-chat-title <name>` to pick the visible chat, and `--tdlib-url <tgz>`
514-when using a prebaked Linux `libtdjson.so` archive instead of building TDLib on
515-a fresh box. The runner verifies `--tdlib-url` with `--tdlib-sha256 <hex>` or,
516-by default, a sibling `<url>.sha256` file.
453+- `kind: "telegram-user"` is reserved for the Mantis Telegram Desktop proof workflow. Generic QA Lab lanes must not acquire it.
517454518455Broker-validated multi-channel payloads:
519456此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。