# 电脑查看与人工接管 Web 和 macOS 共用电脑面板;iOS、Android 使用相同的账号 API。只对当前会话成员和当前目标的临时助手显示电脑入口,旧服务不声明 `computerControl` 时不显示入口。模型没有人工接管工具,也不接收控制凭据。 ## 行为 1. 打开面板先查看画面,不获得输入权。只读截图走独立通道,不排在长时间终端命令之后。 2. 用户明确点击接管后,控制面签发限时控制凭据。Runner 暂停模型进程并等待已经提交的工具结束;这期间显示“正在等待当前操作结束”,输入保持禁用。 3. 原电脑确认没有在途工具后,以递增的租约代次转交给人工;保留同一容器、桌面应用和工作区。已经启动的浏览器等后台应用继续运行。 4. 输入必须携带本页面控制凭据、当前租约代次及最近画面 ID。坐标越界、旧画面、旧代次和其他页面的请求会被拒绝。重复操作 ID 不会再次输入。 5. 交还说明与现有会话、工具结果一起传入新的模型段,保留原工作标识,继续原任务。交还是模型的续跑段,不是复用已终止的模型进程。 6. 无任务时可直接打开电脑。结束该控制会话会停止电脑并保留持久工作区。 ## 权限与故障 控制凭据仅由接管接口返回,不出现在状态接口;服务端保存其散列及加密副本,用于同一请求的安全重试。有效期为 30 秒,前台页面约每 8 秒续期。Runner 每 5 秒检查授权;到期、账号撤权、Agent 退役后停止所属工作,不自动恢复。移动端进入后台和 Web 页面隐藏后停止续期。再次操作需要新接管。 每次操作仍经过账号、Agent 来源、Runner 能力、授权版本和环境归属检查。模型无法选择真实账号、Runner、环境 ID 或读取人工凭据。Runner 的控制能力为 `computer-control-v1`,不支持时明确拒绝,不回退宿主电脑。 接管请求编号在响应不确定时保留,允许同一页面重试;其他页面等待原会话结束或到期。模型已提交但没有回执的工具,会在续跑上下文中注明结果不确定,不能假装未执行。停止未确认时保留资源占用,不能交给下一使用者。 当前交互为定期 PNG 画面、点击、文字和常用按键;不宣称视频串流、音频或完整系统远程桌面。CUA 接受输入只能证明命令已送达,界面效果由下一帧确认。 ## 验证 - 控制面测试:只读状态不返回凭据、其他账号/页面拒绝、令牌和授权版本校验、同一接管请求重试。 - Runner 测试:查看不调用输入、代次/画面/坐标校验、输入去重、撤权停止、原电脑租约转交。 - 真实 Docker + 打包 Runner + Hermes 模型循环:执行中接管、原任务转为等待、真实截图、点击打开终端、输入命令生成文件、错误令牌拒绝、交还后原任务完成。模型响应来自本地确定性测试服务,未调用付费模型。 - Web 浏览器测试覆盖只读、接管、输入、交还和窄屏;iOS 28 项 Workspace 测试通过,包含授权/画面代次和撤权清理;Android 模型测试与 Debug Kotlin 编译通过。iOS 和 Android 的原生电脑面板已通过模拟器 UI/HTTP 往返,实际截图已核对,见 `docs/shared-computers.md`。