Codex 控制电脑的能力边界
基于对 Codex CLI 的实测验证,其"控制电脑"的能力需分两层理解:终端内控制 ✅ vs GUI 界面控制 ❌。
一、控制原理
Codex 的控制模式是 NL → Command Pipeline:
用户自然语言需求
↓
LLM 理解并规划操作步骤
↓
通过 Codex Sandbox 安全执行终端命令
↓
读取 stdout/stderr 结果
↓
调整策略继续执行或报告完成
Codex 不直接操作屏幕像素或窗口句柄,而是作为一个"懂编程的终端用户",通过命令行与环境交互。
二、能控制的(终端内)
| 能力 | 说明 | 示例 |
|---|---|---|
| 文件系统操作 | 读/写/编辑任意工作目录下的文件 | cat file | grep pattern、编辑代码文件 |
| CLI 命令执行 | 运行任意终端命令(PowerShell/cmd/bash) | git commit、npm build、python script.py |
| 脚本/自动化 | 编写并执行自动化脚本 | PowerShell 批量处理、Python 自动化脚本 |
| 启动非交互程序 | 通过命令行拉起应用 | start chrome https://example.com |
| 构建与调试 | 编译、运行测试、读取日志 | dotnet build、pytest |
| Git 操作 | 完整 Git 工作流 | clone/commit/push/merge/rebase |
三、不能控制的(GUI 界面)
| 能力 | 原因 |
|---|---|
| 点击 GUI 按钮/菜单 | 无屏幕像素控制、无窗口句柄操作能力 |
| 拖拽 PPT 元素 | 不支持 COM/OLE/UI Automation |
| 微信登录界面交互 | 需要 GUI 交互的图形窗口无法访问 |
| Chrome 表单自动填写 | 不操作浏览器 DOM,无法注入 JavaScript 到外部页面 |
| 非终端 GUI 程序全流程 | 无鼠标/键盘事件模拟能力 |
四、间接控制电脑的路径(通过脚本扩展)
虽然 Codex 本身没有 GUI 自动化能力,但可以通过编写并执行脚本来间接控制 GUI:
-
PowerShell + COM 对象
Codex 可编写 PowerShell 脚本操作支持 COM 自动化的应用(如 Excel、Word):# 示例:Codex 编写并执行 $excel = New-Object -ComObject Excel.Application $excel.Visible = $true $workbook = $excel.Workbooks.Open("C:\path\to\file.xlsx") -
AutoIt / AutoHotkey 脚本
Codex 可生成 AutoIt 脚本实现窗口操作,然后通过 CLI 执行该脚本:codex 生成 → AutoIt 脚本文件 → cmd 执行脚本 → 操作 GUI -
Selenium/Playwright(仅限 Web)
对于浏览器内的 GUI 操作,Codex 可编写 Selenium/Puppeteer 脚本并执行:codex 编写 → Python Selenium 脚本 → python run.py → 操控网页 -
Python + pyautogui
通过 pyautogui 间接模拟鼠标键盘:codex 编写 → pyautogui 脚本 → python run.py → 模拟屏幕点击
⚠️ 注意:以上路径需要手动确认安全策略,Codex 的 sandbox 机制会对危险操作做拦截。
五、总结
Codex 本质是一个"终端里的 AI 编程助手",不是桌面自动化工具。它通过与系统 CLI 交互来间接"控制"电脑,真正的 GUI 操作能力为零。需要 GUI 自动化时,必须通过它编写并执行第三方自动化脚本(如 AutoIt/Selenium/pyautogui)来实现,且需要绕过或配置 sandbox 权限。
参考来源:Codex CLI (OpenAI)、codex windows手册 实测验证记录