T3 Code 非官方中文翻译不是官方产品,也不是 T3 Tools 官方文档。源提交 d2c25950b4d9英文原文GitHub 源文件
Skip to content

设备 ​

设备面板在对话线程(thread)旁边显示一台实时的 iOS 模拟器或 Android 仿真器,这样你可以看着智能体验证移动端的工作,也可以自己点按这台设备。智能体通过 device_* 工具和 agent-device 命令行使用同一台设备,这些都由 T3 Code 为它们准备好。

打开设备 ​

在项目(project)的对话线程(thread)里打开右侧面板,选择 设备。第一次使用时,面板会带你走完三步:启动设备中枢(device hub)、检查 iOS 与 Android 支持,以及选择智能体是否可以控制设备。仅仅打开面板,不会下载或启动任何东西。如果中枢已经安装,设置界面会说明这一点,并直接复用它。

选择一台正在运行的设备来观看;或者在已停止的设备旁边选择 启动,把它开机。你或智能体启动设备时,面板都会显示出来。每台设备在自己的标签页里打开。再用 + → 设备 打开另一台;双击标签名,或从它的上下文菜单里选择 重命名,即可改名。只有当前可见的标签页会传输视频;切换标签页时,两台设备都继续运行。在工具栏里选择 将设备悬浮在聊天上方,就可以在右侧面板改去显示别的内容时,仍在一个小窗口里观看并点按设备;拖动窗口的手柄来移动它,从任意一条边调整大小,再用 在右侧面板中打开 把它放回去。 在 设置 → 设备 里关闭 使用设备,即可停掉辅助进程;模拟器和仿真器会一直运行,直到你把它们关机。

模拟器运行在托管环境(environment)服务器的那台机器上。iOS 需要带有 Xcode 的 macOS。Android 需要 SDK Platform-Tools、Android Emulator 和 Command-line Tools(最新版),以及在 Android Studio 的设备管理器(Device Manager)里创建好的虚拟设备。T3 Code 会识别标准的 SDK 位置;自定义位置请设置 ANDROID_HOME。面板会说明缺少哪些依赖。安装 SDK 工具之后,请重启环境服务器并刷新设备。

Android 仿真器的视频还需要设备主机的 PATH 上有带 libx264 编码器的 ffmpeg,或者由该主机上的 SERVE_EMU_FFMPEG 选定一个可执行文件。如果打开仿真器时报告 ffmpeg 有问题,请安装或修好这个可执行文件,然后重新打开。更改 PATH 或 SERVE_EMU_FFMPEG 之后,本地设备要重启环境服务器,SSH 设备则要把设备支持关掉再打开,这样正在运行的工具才会继承新的环境变量。实体 Android 设备和 iOS 不需要 ffmpeg。

屏幕可以交互:点击并拖动就是触摸,屏幕获得焦点时可以打字;工具栏提供 Android 上的主页、返回和最近任务,iOS 上的旋转,以及关机。关闭标签页即停止观看;除非你关机,设备会继续运行。已经关闭的标签页在重新加载之后仍然关闭。要再次观看,请从 + → 设备 里选择它。

选择 3D 视图,可以在实时屏幕保持可交互的同时查看受支持的设备。在 iPhone Duo 上,用折叠和站姿控件改变它的物理姿态,或者在设备上捏合来调整铰链。把模型转到另一块屏幕,实时画面和触摸输入就会切到那一块屏幕。恢复 3D 视图 会把设备放回屏幕朝前的位置。在受支持的 Android 折叠设备上,使用屏幕旁边的 折叠设备 和 展开设备,可以在任一视图里改变它的姿势。

工具 ​

工具栏上的 工具 按钮会为当前打开的设备拉出一个抽屉。它显示前台应用,并让你切换浅色与深色模式、更改文字大小、翻转无障碍设置、把无障碍元素的边框叠加到屏幕上、设置模拟位置,以及授予或撤销应用权限。iOS 还会提供 Liquid Glass、色彩滤镜、VoiceOver,以及发送一条测试推送通知;Android 则另外提供屏幕方向和网络开关。抽屉里只出现该平台做得到的项,而且每一次更改之后,每个控件显示的都是从设备回读到的值。

智能体与设备 ​

智能体打开设备时,它会在连接到该对话线程(thread)的 Web 客户端与桌面客户端(client)里悬浮在聊天上方,方式和由智能体驱动的浏览器一样。在 设置 → 浏览器 里关闭 自动显示悬浮预览,则会改为打开右侧面板中的标签页。在移动应用里,打开智能体的对话线程,点按 Composer(编写器)上方的设备按钮,即可观看实时屏幕并控制它。在带有检查器的 iOS 布局中,设备在对话线程旁边打开。把它最大化可以铺满屏幕;关闭全屏视图会回到检查器。如果这个对话线程打开了多台设备,请在查看器里选一台。关闭查看器会停止串流,设备仍然可供智能体使用。设备活动也会出现在对话线程的时间线里。

智能体通过 agent-device 命令行驱动设备。只有打开 智能体可以使用设备 之后,T3 Code 才会安装并启动它。iOS 上的点按会在第一次使用时构建一个小型测试运行器,每台服务器只需一次,大约要几分钟。授予访问权限之后,请重启已有的智能体提供方会话(session),让它收到设备命令行的环境变量。

若要让智能体不接触模拟器,请在 设置 → 设备 里关闭 智能体可以使用设备。此后启动的智能体将看不到设备工具;你自己的设备面板不受影响。

远程连接 ​

设备串流经过环境(environment)服务器,因此在本地网络、Tailscale 和 T3 Connect 上都可以用。实时视频需要安全页面(HTTPS 或 localhost);在纯 HTTP 的远程源站上,iOS 会回退到较慢的静态图像流,Android 无法显示视频,EAS Simulator 除外。

SSH 设备主机 ​

在设置 → 设备中,选择应当使用这台主机的环境(environment),然后选择 添加来源 → 通过 SSH 的机器。输入一个 SSH 别名或 user@host,身份文件和端口可以不填。这些都在环境服务器上解析,所以请使用那台服务器上可用的 SSH 配置和密钥。不支持密码提示。

主机菜单里的 测试连接 会检查 SSH、Node、npm 和平台工具,并且什么都不安装,每个所选环境各有一项结果。解析到该环境自己那台机器的目标会被跳过,因为其上的设备本来就是本地的。第一次列出设备时,会在主机上安装版本已固定的设备工具。SSH 设备主机目前需要 macOS 或 Linux。要在 Windows 机器上使用设备,请在那台机器上运行 T3 Code,并连接到它的环境。Node 22 或更新版本以及 npm,必须能被非交互式的 SSH 命令用到。T3 会检查常见的 Homebrew 和 Android SDK 位置;自定义安装需要在主机上配好相应的 PATH 和 ANDROID_HOME。这台主机上的 Android 仿真器视频需要带 libx264 的 ffmpeg;实体 Android 设备使用 scrcpy,不需要 ffmpeg。

配置了多台主机时,选择器会按主机区分设备。连接中断之后会自行恢复。移除主机会关闭它的设备会话,并在能够连上时停掉它的 T3 辅助进程;模拟器继续运行。

T3 提供的是发现、串流和控制。应用的构建、安装,以及到 Metro 这类开发服务器的连通,需要另外安排。另一台机器上的模拟器,无法借由你这个环境的 localhost 访问 Metro,除非做了转发,或改用别的可达地址。

Simlock 主机(alpha) ​

Simlock 在多台机器之间池化 iOS 模拟器和 Android 仿真器。如果你运行着 Simlock 网关,T3 可以从中租用设备。Simlock 还很新,也尚未发布,因此这一集成是 alpha:它可能发生变化,也可能在更新的 Simlock 上无法继续工作。T3 不会安装或管理 Simlock;网关和它的工作节点需要你自己搭建。它需要用 Simlock 的 main 在 6316e10 或更新的提交上构建的网关和工作节点,这是第一个带有租约持有者屏幕与输入的版本。

打开 设置 → 实验室 → Simlock 设备主机(alpha),并在设置 → 设备中打开 使用设备,然后选择 添加来源 → Simlock 池,填入一个 智能体令牌(simlock --gateway token create --role agent)。每台 T3 服务器使用各自的令牌:Simlock 会把用同一个令牌创建的每一次租约都记在同一个请求方名下,并且同一时间只允许一个,除非把网关的 lease.maxPerRequester 提高到该主机的 同时设备数。这个令牌可以租用设备,并且只能访问它自己的租约,但在已租设备上执行的命令会跑在它的工作节点上,所以请把它当作对你的工作节点的 shell 访问。T3 每次请求都会带上它,因此请使用 HTTPS 网关 URL;只有在 Tailscale 这类加密网络上,才使用纯 HTTP。网关和工作节点需要 capabilities.stream.enabled 和 capabilities.input.enabled,才能提供实时屏幕和输入。

选择器列出你的工作节点能够创建的机型。打开其中一台即取得租约;用 将设备归还到池 关闭它,或者移除主机,都会在擦除之后把它归还。面板会让正在观看的设备保持租用,直到达到该主机的租约上限。你可以点按、滑动、输入,以及按下主页;在 Android 上还可以按下返回和最近任务。Simlock 设备不提供旋转、外观、文字大小、设备工具和截图;智能体仍然可以通过 device_open 做这些事。在 iOS 27 模拟器上,用你的键盘输入不会有任何效果;请改为点按屏幕上的键盘。工作节点必须运行与 T3 相同的 agent-device 版本(参见「设备工具更新」),而且 agent-device 只接受从打开该租约时所在的文件夹为这次租约安装应用,这个文件夹由 device_open 指明。设备无法通过 localhost 访问你这台机器上的开发服务器;请使用它的工作节点能够访问的地址。

设备工具更新 ​

已连接的 T3 服务器负责管理自己这台机器以及已配置的 SSH 主机上的设备中枢(device hub)和智能体工具。所需版本会在下次使用这些工具时自动安装。在设置 → 设备中选择一个版本,再选择 检查版本,即可读取已安装的版本,而不会安装工具或启动设备。

要让远程环境(environment)得到更新的工具版本,请更新该环境的 T3 服务器。只更新浏览器或移动应用,并不会更新远程服务器。离线主机会保留已经安装的文件,但更新必须先有网络,设备支持才能启动;T3 不会回退到旧版本。如果安装失败,请重新连接这台主机并使用「重试」。已有的设备设置和智能体访问设置都会保留。

非官方译文 · 源提交 d2c25950b4d9 · 不代表 T3 Tools