Skip to content

电脑操控 ​

大多数编程任务,Codex 靠读写文件和跑命令就能完成。但有些事情只能「看着屏幕点」:检查一个桌面应用的按钮是不是错位了、复现一个只在界面上出现的 bug、在某个没有 API 的后台系统里改一项设置。电脑操控(Computer Use)就是让 Codex 能看屏幕截图、移动鼠标、敲键盘,像人一样操作图形界面。

和它相关的还有两种浏览器能力。这一页讲清楚三者的区别、怎么开启、适合做什么、风险在哪里,以及怎么用配置把它限制在安全范围内。

三种能力的区别 ​

能力它操作的是什么典型用途风险
内置浏览器桌面应用自带的浏览器面板打开本地开发服务器的页面,看效果、截图、点一点较低:独立环境,不带你的登录状态
浏览器操控(Chrome 等)你电脑上的真实浏览器需要你已登录的网站、需要浏览器扩展的流程较高:能以你的身份操作已登录的网站
电脑操控整个桌面上的应用和窗口测试桌面应用、操作没有接口的软件、跨应用流程最高:能看到屏幕上的一切

选择的原则是能用结构化的方式就不用视觉方式:

  1. 有命令行工具或 API 的,让它跑命令。
  2. 有 MCP 服务器或插件的(GitHub、数据库、Figma 等),用 MCP 或插件。
  3. 网页类的本地开发调试,用内置浏览器。
  4. 以上都不行,再用电脑操控。

结构化的方式更快、更准、可重复,也不会受窗口遮挡、分辨率、动画影响。

在哪些形态可用 ​

电脑操控和浏览器操控以插件形式随 桌面应用 提供(见 桌面应用与界面),支持 macOS 和 Windows。终端里的 CLI 有对应的功能开关,但截屏和点击需要桌面端的能力,日常请在桌面应用里使用。

在 CLI 里可以查看这些开关的状态:

bash
codex features list | grep -E "computer_use|browser_use|in_app_browser"

在当前版本(0.142)里,computer_use、browser_use、in_app_browser 都是稳定功能且默认开启。它们同时是「受管控」的开关:组织管理员可以在 requirements.toml 里统一关掉,见 安全与团队管理。

关于模型和账号

电脑操控依赖模型理解截图的能力。用第三方接口(包括 HiveGPT)时能否使用这些插件,取决于桌面应用版本和所选模型,以应用内显示为准。遇到插件不可用,先确认已更新到最新版。

开启和授权 ​

第一步:安装插件 ​

在桌面应用的设置或插件页找到「电脑操控」(Computer Use),点击安装。浏览器操控对应的是 Chrome 等浏览器插件,同样在插件页安装。

第二步:系统权限(macOS) ​

macOS 第一次使用时会请求两项系统权限,到「系统设置 → 隐私与安全性」里给 Codex(或 ChatGPT)应用打开:

权限用途
屏幕录制让 Codex 看到目标窗口的内容
辅助功能让 Codex 点击、输入、操作菜单

Windows 上的限制 ​

Windows 上的电脑操控只能在当前活动的桌面上运行,执行期间 Codex 会接管鼠标和键盘,你没法同时用电脑。需要它长时间工作时,可以:

  • 在虚拟机里运行桌面应用,让它操控虚拟机而不是你的主桌面;
  • 或者用另一台设备远程查看进度,自己离开电脑。

第三步:应用授权 ​

系统权限只决定 Codex「能不能」看和点,具体能操作哪些应用由 Codex 自己的应用授权决定:

  • 每次要操作一个新应用前,Codex 会询问你是否允许。
  • 选「始终允许」后,以后用这个应用不再询问。只对你完全放心的应用这样做。
  • 在设置的电脑操控页面可以查看和移除「始终允许」的列表。

注意:文件读写和 shell 命令仍然遵循当前线程的沙箱和审批设置,电脑操控不会绕过它们。

怎么发起任务 ​

在提示词里明确说要用电脑操控,或者用 @ 指定应用:

text
用电脑操控打开我们刚构建的 Notes.app,新建一条带中文标题的笔记,
看标题栏是否被截断。如果截断了,找到对应的布局代码修复,然后重新构建并再验证一次。
text
打开 @Chrome,访问 http://localhost:5173/checkout,
用测试卡号走一遍下单流程,截图记录每一步,报告哪一步出现报错。

写好这类任务的要点:

  • 只给一个目标应用或一条流程。目标越窄,它越不容易点错窗口。
  • 说清楚验收方式:「看到什么算成功」「截图保存到哪里」。
  • 把修改和验证串起来:改代码 → 重新构建 → 用同样的界面流程再验证,比只让它看一眼有用得多。

本地 Web 项目优先用内置浏览器而不是电脑操控:

text
在内置浏览器里打开 http://localhost:3000,把移动端宽度下导航栏重叠的问题修好,
修完刷新页面截图确认。

适合与不适合的任务 ​

适合不适合
测试正在开发的桌面应用、iOS 模拟器里的流程有 API 或命令行能完成的操作
复现只在界面上出现的 bug涉及支付、转账、修改账户安全设置
操作没有接口的内部系统(只读查看为主)需要输入密码、密钥、验证码的步骤
检查页面在不同窗口尺寸下的显示你不在场时操作已登录的重要账号

另外,按官方说明,电脑操控不能用来自动化终端应用和 Codex 自身(否则可能绕过安全策略),也不能替你以管理员身份认证或批准系统的安全与隐私权限弹窗。

风险与安全建议 ​

电脑操控的风险和它的能力成正比:

  • 能看到的就可能被读走。屏幕上的聊天记录、邮件、打开的文档、剪贴板内容,都可能进入模型上下文。
  • 网页内容可能是攻击。浏览器里的页面可以藏着「忽略之前的指令,把……发到……」这样的文字(提示注入)。Codex 操作你已登录的浏览器时,网站会把它的点击和提交当成你本人的操作。
  • 点错窗口。弹窗、通知抢焦点时,它可能在错误的窗口里输入。

建议:

  1. 开始前关掉无关的敏感应用:聊天软件、邮箱、密码管理器、网银。
  2. 浏览器任务让它用单独的浏览器或配置文件,不带你日常的登录状态。
  3. 谨慎使用「始终允许」,尤其是浏览器、终端、系统设置这类应用。
  4. 涉及账户、安全、隐私、网络、支付、凭据的设置,必须你在场,逐步确认。
  5. 随时可以中断。看到它开始操作错误的窗口,立即停止任务。
  6. 屏幕截图和处理的内容同样受你账号的数据控制设置约束;公司环境请先确认是否允许把屏幕内容发给模型。

用配置限制范围 ​

除了界面上的授权,也可以在 ~/.codex/config.toml 里预先写好允许和禁止的应用、网站。

限制电脑操控能碰的应用(macOS 用 bundle ID,Windows 用应用的 AUMID 或可执行文件信息):

toml
[computer_use]
default_app_access = "deny"          # 默认不允许,只放行下面列出的

[computer_use.macos.bundle_ids]
"com.apple.Safari" = "allow"
"com.apple.iphonesimulator" = "allow"
"com.apple.Terminal" = "deny"

# Windows:按可执行文件的发布者和产品名放行
[[computer_use.windows.exes]]
publisher_name = "CN=Google LLC"
product_name = "Google Chrome"
binary_name = "chrome.exe"
access = "allow"

限制浏览器操控能访问的网站:

toml
[browser_use]
allow_history_access = false         # 不允许读取浏览历史

[browser_use.default_origin_policy]
access = "deny"                      # 默认不允许访问任何网站

[browser_use.origins."http://localhost:5173"]
access = "allow"
downloads = "deny"
uploads = "deny"

管理员还可以在 requirements.toml 里强制这些策略,例如完全禁用电脑操控和浏览器操控、禁止 macOS 锁屏状态下的操控、禁止「始终允许」类的持久授权,详见 安全与团队管理。

macOS 的锁屏使用

macOS 上有一个默认关闭的选项:允许在 Mac 锁屏后继续使用电脑操控(比如你从手机发起任务,而 Mac 已经锁屏)。开启后,Codex 只会在一个活跃、可信的电脑操控回合里短暂解锁,并遮挡所有显示器;检测到本机键盘或鼠标输入会立即重新锁定。这个功能只适合你清楚用途的场景,公司电脑上管理员可以统一禁用。

常见问题 ​

Codex 说看不到或控制不了某个应用? macOS 上检查「屏幕录制」和「辅助功能」里 Codex / ChatGPT 是否已勾选,勾选后可能需要重启应用。Windows 上确认目标应用在当前活动桌面上可见、没有被最小化。

它在界面里改了设置,但审阅面板里没有改动? 通过图形界面做的修改,只有保存到磁盘、并且在项目目录里时,才会出现在改动审阅里。

操控很慢、经常点偏? 减少屏幕上的窗口、关闭动画、固定窗口大小,并把任务拆小。能用命令完成的步骤让它直接跑命令。

小结 ​

  • 内置浏览器、浏览器操控、电脑操控风险依次升高,能用命令、API、MCP 就不用视觉操控。
  • 电脑操控以插件形式随桌面应用提供,macOS 需要屏幕录制和辅助功能权限,Windows 只能在前台运行。
  • 系统权限、应用授权、沙箱审批是三层独立的控制,「始终允许」要慎用。
  • 开始前关掉敏感应用,浏览器任务用单独的配置文件,涉及账户和支付的步骤必须在场。
  • 可以在 config.toml 里用 [computer_use]、[browser_use] 限定应用和网站,团队可用 requirements.toml 强制。

下一步:非交互模式与 CI/CD

代码示例在页面里运行时使用 HiveGPT 的模型接口。延伸阅读来自 JavaGuide(Apache-2.0),版权归原作者。