用途:test-t3-mobile 用于验证 T3 Code 的原生移动客户端,适用于 iOS 和 Android。它通过 T3 的 Device 面板与返回的 AgentDevice 命令驱动设备操作,并围绕本地开发环境完成构建、启动、配对与验证。
主要能力与流程:
- 设备准备:先调用 device_list,再用 device_open 传入选定的 host 与 device ID。T3 会启动设备并在 Device 面板显示实时流;后续操作应遵循其返回的 quickStart,使用完整的 agentDevice.command 与全部 targetArgs,并通过 device_screenshot 检查屏幕。若 T3 设备工具或所选设备不可用,应报告阻塞并停止验证,不切换到其他自动化系统。
- 隔离后端:复用当前任务的健康后端,或在仓库根目录运行 vp run dev 并保留终端会话,从 dev-runner 输出读取实际后端端口。使用 worktree 中被忽略的 .t3 状态,不得针对 ~/.t3/userdata 运行。该流程不需要 Browser 面板。测试应使用有意义的项目与线程数据;仅在检查或填充 SQLite 时参考共享 SQLite fixture,写入前停止测试服务器。
- 启动原生客户端:在被测 checkout 与所选设备主机上运行 node scripts/mobile-native-client.ts ensure <ios|android> <device-id>,复用匹配的原生客户端或构建并安装一个。除非用户禁止,授权范围内的移动验证包含该构建步骤。随后从 apps/mobile 运行 vp run dev:client,或复用属于该 checkout 的健康 Metro,并用 AgentDevice open com.t3tools.t3code.dev <url> 打开打印的开发客户端 URL,携带全部返回的 target 参数。设备必须能访问 Metro 与隔离后端。若开发者工具会遮挡截图或点击,可在开发客户端 URL 查询后追加 &disableAutoLaunch=1&disableFab=1;SDK 58 dev client 会在应用加载前应用这些偏好。
- 配对与验证:从仓库根目录使用配对脚本,配合 agent_device_command 与 Bash 数组 agent_device_target_args 中保存的可执行文件与 target 参数:.agents/skills/test-t3-mobile/scripts/pair-client.sh <server-port> <base-dir> <device-reachable-backend-origin> "$agent_device_command" "${agent_device_target_args[@]}"。脚本会签发新凭据,并通过 AgentDevice 打开 T3 Code Dev 现有配对路由。后端在设备主机上时,iOS 使用 http://127.0.0.1:<server-port>,Android 使用 http://10.0.2.2:<server-port>;远程后端使用其可达 origin。确认目标项目出现、执行受影响流程并采集证据。迭代期间保留应用与环境。清理时移除一次性连接、关闭 AgentDevice 会话、调用 device_close,并只停止自己的后端与 Metro 进程。
适用场景:需要对 T3 Code 的 iOS 或 Android 原生应用做移动端验证、原生客户端构建、Metro 开发客户端连接与配对后功能检查时使用。
限制与注意事项:必须使用隔离后端与 worktree 的 .t3 状态,禁止针对 ~/.t3/userdata;不安装或切换其他自动化系统;设备需能访问 Metro 与后端;构建步骤默认包含,除非用户禁止。