E4|Computer Use:看、点、打的是本机 GUI,不是 Seatbelt 里的 shell
先别把「能看屏幕」当成一种沙箱模式
读完 B3 和 C3,下一件错事是把 Computer Use 理解成 danger-full-access,或理解成 Chronicle 的主动版。然后在 sandboxing/ 里找点击事件,找不到就给 exec_command 开显示器。
判断先说清楚:Computer Use 是桌面插件让 agent 像人一样操作 GUI——看窗口、点按钮、打字。 官方用途:测桌面应用、复现只在 GUI 里出现的 bug、用没有 MCP/插件的数据源(Computer Use)。它的权限模型是 OS 辅助功能 + 应用白名单,和 cwd 上的 Seatbelt/bwrap 并列,不是替换。文件读写和 shell 仍走线程的沙箱与审批。
本仓库没有点击循环。插件 id 是 computer-use@openai-bundled(core-plugins/src/discoverable.rs:46-47)。feature computer_use 默认开(features/src/lib.rs:1453-1456),打开的是「允许这条产品能力」,不是 CLI TUI 里已经能点 Slack。真正看/点发生在 macOS/Windows 的 Codex App 壳里。
1. 适用:CLI 够不着的图形界面
官方点名的场景:检查桌面应用、用浏览器、改应用设置、没有结构化集成的数据源、只在 GUI 里能复现的 bug。Use case 页的起手是 @Computer 或 @Slack / @Messages。
不该用它的:能 exec_command / apply_patch / MCP 解决的事。多一层屏幕,就多一层 prompt injection 和误点。Record & Replay(把你演示的流程收成 Skill)也依赖 Computer Use 已开,那是 D1 的生成器,不是又一套沙箱。
和 C3 切开:
| Chronicle / Computer History | Computer Use | |
|---|---|---|
| 方向 | 被动采上下文进 Memories | 主动看、点、打 |
| 产物 | 扩展目录里的笔记 | GUI 副作用 |
| 本仓库 | feature chronicle + 扩展槽 | 捆绑插件 + requirements |
Appshots(前台窗口当上下文)是 E5 的感知通道:一次快照进 thread,不是持续操作 GUI。
2. 两套权限:系统级看见/动手,应用级允不允许碰谁
官方写得很白:macOS 的 Screen Recording + Accessibility 让 Codex 看见并操作应用;App approvals 决定允许碰哪些应用。shell / 文件仍跟线程沙箱走。Windows 要求目标应用在活动桌面可见;Computer Use 在前台跑,Remote(E3)时最好把 host 桌面让给它。
企业闸在 config requirements,不是 Seatbelt profile:
- 总开关
allow_browser_and_computer_use(config_requirements.rs:1043) ComputerUseRequirementsToml(browser_computer_use_requirements.rs:90-96):allow_locked_computer_use、allow_persistent_approval、default_app_access- macOS:
bundle_ids的 Allow/Deny - Windows:
aumids+ 按 publisher/product/exe 的白名单
这些经 app-server 暴露给桌面设置 UI(app-server-protocol/.../computer_use_config.rs,config_processor.rs:528-534)。管理员能否锁机操作、能否持久批准、默认允不准,都在这里拧,拧的不是 SandboxMode。
Guardian 把 Computer Use 当成独立 scope(GuardianScope::ComputerUse,openai_models/guardian.rs:48, 63)。MCP 服务器名 node_repl / cua_repl 走 ComputerUse 而不是普通 Mcp(protocol/src/mcp.rs:38-40,guardian.rs:73-76)。自动审批策略可以按「点 GUI」和「跑 shell」分开——B3 的同意链在这里多了一条轨。
没有「OS 权限 ≠ 应用批准 ≠ 沙箱」会怎样?开了 workspace-write 被理解成能点系统设置;或 Accessibility 一开,所有 app 默认能点。三道闸必须分开。
3. 地区与企业:feature 开着不等于你能用
官方:Computer Use 在 支持地区 的 Codex App 上,macOS 和 Windows。Record & Replay 初始排除 EEA / 英国 / 瑞士。具体名单以当时产品为准,不要把 features.computer_use = true 当成全球已开。
CLI/Linux TUI:没有 Screen Recording 对话框,也没有捆绑插件的 GUI 驱动。Remote 可以在 host 上启用 Computer Use(E3),点的是 host 的屏幕,不是手机屏幕。
企业 allow_browser_and_computer_use = false 可以从 requirements 层关掉(测试里就有这个键)。那是托管约束,用户 toml 拧不回来(B5 origins)。
4. 和宠物画中画:吸附的是状态灯,不是第三套权限
桌面 Pets overlay 让你在别的 app 里仍能看见 thread 在跑、在等输入、还是就绪(官方 Settings / Pets)。Computer Use 在前台点应用时,这只画中画 吸在边上看状态,避免你找不到 Codex 窗口。
它不是 Computer Use 的一部分:
- Pets 不准进 ToolRouter(C4 / E8)
hatch-pet是 Skill(D1),教怎么孵宠物皮肤- overlay 不授予 Accessibility,也不进
bundle_ids白名单
TUI /pet 是终端里的 Sixel/Kitty 精灵,更不是 GUI 自动化。不要把「宠物跟着点」理解成 agent 在操作宠物窗口。
5. 实现落点:插件 + requirements,不是 linux-sandbox
抄 Computer Use 不要抄 Seatbelt。本仓库能抄的是:
- 能力做成 可安装插件,走 D2 市场(
computer-use@openai-bundled) - 企业政策做成 requirements,按 bundle id / exe 身份 Allow-Deny
- Guardian 单独 scope,别和 shell 审批混成一个 bool
- 看屏幕的字节当 不可信(和 C3 同一条 prompt injection 纪律)
点击、录屏、辅助功能桥在闭源 App。F3 周末切片明确第一周不做 Computer Use。
6. 结语:带走一句话
Computer Use 是桌面插件对 GUI 的看、点、打:OS 辅助功能管能不能看见,应用白名单管能点谁,线程沙箱仍然管文件和 shell——它不是 danger-full-access,也不是 Chronicle,更不是那只吸在角落里的宠物。