在Crabbox上复现并录制真实Telegram交互以验证行为证据
该技能材料显示其用于在 Crabbox 中驱动真实 Telegram 用户会话并生成录屏证明,涉及共享账号租赁、远程下载组件、WebVNC 观察以及本地产物写入。虽为开源且社区信号很强,但其能力超出纯提示词,包含真实账户操作与外部服务交互,整体应评为需留意而非高风险。
材料声明“无”本地密钥输入,但 README 明确写到会从 Convex 租赁共享的 `telegram-user` 凭证,并恢复同一真实 Telegram 用户账号会话。说明技能会间接使用敏感账户凭证;虽有“不要把凭证放入仓库/提示词/产物”的约束,但共享 burner 账号仍存在会话滥用与越权操作留痕风险。
系统元数据写“无远程端点”,但 README 明确出现 `http://artifacts.openclaw.ai/tdlib-v1.8.0-linux-x64.tgz` 下载,以及与 Convex 凭证租赁、Telegram 会话本身、WebVNC 观察相关的外部通信。存在将测试内容、聊天数据与录屏相关数据暴露给声明服务的常规外发面,但未见发送到明显无关或不明端点的红旗。
README 指示运行 `openclaw-telegram-user-crabbox-proof`,启动 Telegram Desktop、TDLib、mock SUT、桌面录制,并允许代理在会话存活期间运行多条命令和使用 WebVNC。说明该技能具备本机/容器内进程启动与自动化控制能力;这属于同类工具的常规高权限面,材料未显示明显超声明功能的系统级越权请求。
材料显示其会从当前 OpenClaw checkout/branch 运行、读取本地 mock 响应文件、写入 `.artifacts/.../session.json` 与录制产物,并可检查 transcript。其数据访问范围至少覆盖工作区、测试产物目录以及 Telegram 会话内容;对该类 E2E 复现工具属常规范围,但应视为可接触敏感聊天与视觉证据数据。
正面证据包括 GitHub 开源、可审计、社区采用极强(377k+ star),这些都显著降低风险。需留意之处是许可证未声明、维护状态未知,且 README 指向远程下载 TDLib 压缩包;若未做校验,则存在常规依赖/产物完整性风险,但基于现有材料不足以上升为高风险。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "telegram-crabbox-e2e-proof" 技能: 1. 下载 https://raw.githubusercontent.com/openclaw/openclaw/main/.agents/skills/telegram-crabbox-e2e-proof/SKILL.md 2. 保存为 ~/.claude/skills/telegram-crabbox-e2e-proof/SKILL.md 3. 装好后重载技能,告诉我可以用了
请在 Crabbox 中使用真实 Telegram 用户会话,复现 OpenClaw 在指定聊天里的消息发送、接收与界面变化。通过 TDLib 用户驱动命令完成操作,开启 WebVNC 观察,并导出带动作裁剪的视频证据与关键步骤记录。
一份可复查的复现结果,包含操作日志、录屏证据、关键截图与结论说明。
请针对这个 PR 涉及的 Telegram 行为改动,使用 Crabbox 中的代理控制 Telegram Desktop 进行端到端验证。记录完整操作过程,标注预期与实际结果,并输出可用于代码评审的证据材料。
一套面向 PR 审核的验证报告,含步骤、结果对比、录屏片段和结论。
请使用 Convex 租赁的 Telegram 凭证在 Crabbox 中完成登录与会话验证,检查用户态驱动命令是否正常、界面是否可观察,并输出登录流程中的异常点与证据。
一份登录与凭证流程验证结果,包含会话状态、异常清单和对应证据。
Use this for Telegram PR review or bug reproduction when bot-to-bot proof is not enough. The goal is to let the agent keep a real Telegram user session open until it is satisfied, then attach visual proof.
Do not use personal accounts. Do not add credentials to the repo, prompt, or artifact bundle. The runner leases the shared burner account from Convex.
Run from the OpenClaw repo and branch under test:
proof_cmd="${OPENCLAW_TELEGRAM_USER_PROOF_CMD:-openclaw-telegram-user-crabbox-proof}"
"$proof_cmd" start \
--tdlib-url http://artifacts.openclaw.ai/tdlib-v1.8.0-linux-x64.tgz \
--output-dir .artifacts/qa-e2e/telegram-user-crabbox/pr-review
This starts one held session:
telegram-user Convex credential.artifacts/qa-e2e/telegram-user-crabbox/pr-review/session.jsonKeep the session alive while investigating. It is valid for the agent to test for minutes, run several commands, use WebVNC, inspect transcripts, and only finish once the behavior is understood.
For deterministic visual repros, put the exact mock-model reply in a file and
pass it to start:
proof_cmd="${OPENCLAW_TELEGRAM_USER_PROOF_CMD:-openclaw-telegram-user-crabbox-proof}"
"$proof_cmd" start \
--tdlib-url http://artifacts.openclaw.ai/tdlib-v1.8.0-linux-x64.tgz \
--mock-response-file .artifacts/qa-e2e/telegram-user-crabbox/reply.txt \
--output-dir .artifacts/qa-e2e/telegram-user-crabbox/pr-review
The runner defaults to --class standard, --record-fps 24,
--preview-fps 24, and --preview-width 1920. Keep those defaults unless the
proof needs something else.
For visual proof, first send or identify a bottom marker message, then open the group/topic directly by message id:
proof_cmd="${OPENCLAW_TELEGRAM_USER_PROOF_CMD:-openclaw-telegram-user-crabbox-proof}"
"$proof_cmd" view \
--session .artifacts/qa-e2e/telegram-user-crabbox/pr-review/session.json \
--message-id <message-id>
This uses Telegram Desktop directly with tg://privatepost, not xdg-open.
It also resizes Telegram to 650x1000 at the tested desktop position so
the crop can isolate the chat pane even if Telegram keeps a split/sidebar
layout. Do not press Escape after this; Escape can close the selected chat.
Bottom behavior matters:
Send as the real Telegram user:
proof_cmd="${OPENCLAW_TELEGRAM_USER_PROOF_CMD:-openclaw-telegram-user-crabbox-proof}"
"$proof_cmd" send \
--session .artifacts/qa-e2e/telegram-user-crabbox/pr-review/session.json \
--text /status
For slash commands, omit the bot username; the runner targets the SUT bot.
Run arbitrary commands on the Crabbox:
proof_cmd="${OPENCLAW_TELEGRAM_USER_PROOF_CMD:-openclaw-telegram-user-crabbox-proof}"
"$proof_cmd" run \
--session .artifacts/qa-e2e/telegram-user-crabbox/pr-review/session.json \
-- bash -lc 'source /tmp/openclaw-telegram-user-crabbox/env.sh && python3 /tmp/openclaw-telegram-user-crabbox/user-driver.py transcript --limit 20 --json'
Useful remote user-driver commands:
source /tmp/openclaw-telegram-user-crabbox/env.sh
python3 /tmp/openclaw-telegram-user-crabbox/user-driver.py status --json
python3 /tmp/openclaw-telegram-user-crabbox/user-driver.py chats --json
python3 /tmp/openclaw-telegram-user-crabbox/user-driver.py transcript --limit 20 --json
…
快速生成概念、架构、流程与白板图,支持 SVG、HTML 或 Excalidraw 格式
为 ClawHub 界面变更生成可视化证据、对比截图与录屏材料