























@@ -452,19 +452,42 @@ node --import tsx scripts/e2e/telegram-user-credential.ts release --lease-file "
452452453453Use 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.
454454455+Agent-driven Crabbox session:
456+457+```bash
458+pnpm qa:telegram-user:crabbox -- start \
459+ --tdlib-url http://artifacts.openclaw.ai/tdlib-v1.8.0-linux-x64.tgz \
460+ --output-dir .artifacts/qa-e2e/telegram-user-crabbox/pr-review
461+pnpm qa:telegram-user:crabbox -- send \
462+ --session .artifacts/qa-e2e/telegram-user-crabbox/pr-review/session.json \
463+ --text /status
464+pnpm qa:telegram-user:crabbox -- finish \
465+ --session .artifacts/qa-e2e/telegram-user-crabbox/pr-review/session.json
466+```
467+468+`start` leases the `telegram-user` credential, restores the same account into
469+TDLib and Telegram Desktop on a Crabbox Linux desktop, starts a local mock SUT
470+gateway from the current checkout, opens the visible Telegram chat, starts
471+desktop recording, and writes a private `session.json`. While the session is
472+alive, an agent can keep testing until satisfied:
473+474+- `send --session <file> --text <message>` sends through the real TDLib user and waits for the SUT reply.
475+- `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'`.
476+- `screenshot --session <file>` captures the current visible desktop.
477+- `status --session <file>` prints the lease and WebVNC command.
478+- `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.
479+455480One-command Crabbox proof:
456481457482```bash
458483pnpm qa:telegram-user:crabbox -- --text /status
459484```
460485461-That command leases the `telegram-user` credential, restores the same account
462-into TDLib and Telegram Desktop on a Crabbox Linux desktop, starts a local mock
463-SUT gateway from the current checkout, sends the command as the real QA user,
464-records the visible Telegram Desktop session, trims the recording to the motion
465-window, writes artifacts under `.artifacts/qa-e2e/telegram-user-crabbox/`, then
466-releases the credential and stops the box. Use `--id <cbx_...>` to reuse a warm
467-desktop lease, `--keep-box` to keep VNC open after failure,
486+The default `probe` command is shorthand for one start/send/finish cycle. Use
487+it for a quick `/status` smoke. Use the session commands for PR review,
488+bug-reproduction work, or any case where the agent needs minutes of arbitrary
489+experimentation before deciding the proof is complete. Use `--id <cbx_...>` to
490+reuse a warm desktop lease, `--keep-box` to keep VNC open after finish,
468491`--desktop-chat-title <name>` to pick the visible chat, and `--tdlib-url <tgz>`
469492when using a prebaked Linux `libtdjson.so` archive instead of building TDLib on
470493a fresh box. The runner verifies `--tdlib-url` with `--tdlib-sha256 <hex>` or,
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。