FIELDNOTES / AGENT SYSTEMSRESEARCH EDITION 01
COMPUTER USE · 技术实地调查22 SEP 2026

Computer
Use.

从桌面,走向终端。

拆开那些替我们点击、输入、观察的 AI 应用。
看清它们如何工作,哪些真正开源,以及如何做一个自己的 Computer Use。

先看:能否全部搬进 Terminal?
OBSERVE → ACT → VERIFY
● ● ●Application / AX tree
[42] 确认
element_id: 42
LOCAL DRIVER$ observe → act → observe
Accessibility + pixels
MODEL ≠ HARNESS ≠ DRIVERFIG. 01

源码核查 × 本地静态分析 × CLI 实验
所有结论标明验证边界;Stars 只代表调查时的仓库快照。

向下阅读 ↓
01 / THE FINDINGS

先回答,最重要的三个问题。

A

Computer Use
不是 Desktop 的专属能力。

桌面窗口是交互入口。真正执行操作的是本地驱动或远端电脑;CLI 通过 MCP 或 SDK,也能接上同一类能力。

看迁移路线 ↗
B

开源了 agent,
不等于开源了全部执行器。

Codex 的公开 CLI 与本机 @oai/cua 原生链路要分开看。ZCode 的公开仓库则明确保留了底层 CU 包的占位边界。

看逐层拆解 ↗
C

可以开始自己做,
先复用已有的开源驱动。

macOS 桌面可研究 Cua Driver,网页优先 Playwright MCP / Browser Use。自己负责工具循环、动作策略、日志与验证。

看开源选择 ↗
先消除一个同名误会

社区 trycua/cua 与 Codex 安装包中的 @oai/cua 是不同项目。本次未发现 Codex 依赖前者的证据。CUA 是常见缩写,名称相近不能证明共享实现。

02 / THE ANATOMY

屏幕背后,是一个反馈循环。

选择一层,看看它到底负责什么。工具读到的状态,会再次成为模型的输入。

语义路线

“点击这个按钮”

AX / DOM 读取控件角色、名称与状态。元素编号指向最近观察中的目标,再通过 AXPress、setValue 或浏览器协议执行。

视觉路线

“点击这里的坐标”

模型在截图上定位目标,执行器换算缩放、裁剪与 DPI,再发送鼠标和键盘事件。Canvas 等界面常常需要这条路线。

可靠性工作

“这一步真的完成了吗”

动作之后重新观察,验证目标与结果。处理过期元素、窗口变化、抢占和超时,往往比实现一次点击更难。

03 / UNDER THE HOOD

六种产品,六条执行链。

公开源码与本地安装包交叉阅读。下列调用链是观察到的实现,不是厂商内部架构的完整复原。

本地样本:Codex 26.915.31945 · Claude 1.40609.0 · ZCode 3.14.1 · WorkBuddy AI 5.5.2 · Grok Bot 0.47.0。此处 ZCode 指智谱产品,与 Apple Xcode 不同。

04 / THE OPEN-SOURCE MAP

选实现,先选你要操作的环境。

高 Stars 不代表桌面执行能力,也不代表我们测过成功率。浏览器、原生桌面、视觉感知需要分别比较。

项目 / 仓库STARS¹核心机制在 Terminal 中使用

建议源码阅读顺序

最小 agent loop Cua 原生驱动 ZCode 状态与可靠性 DeepSeek provider 接入

05 / TERMINAL FIRST

可以搬进 Terminal。
执行环境,仍然要存在。

你可以不打开 AI Desktop,
直接让命令行 agent 操作应用。

终端负责接受任务,模型负责决策,本地驱动负责读界面和执行。macOS 原生应用通常仍需要已登录的图形会话、辅助功能与屏幕录制权限;网页则可以用无头浏览器,远端桌面可以放在虚拟机里。

BUILT WITH THIS REPORT

我们自己的 CLI 实验

已写好 Python 标准库封装,项目内固定 Cua Driver 0.28.2(预发布)并校验 SHA-256。版本、manifest、工具清单、3 个 schema 查询及 7 项封装 smoke 均通过。尚未启动 MCP 服务或验证桌面动作;实际操作前需安装并授权后台 helper。

阅读完整 CLI 指南 ↗
LOCAL / CLI LAB · 已验证
python3 cli-lab/cu.py inspect
python3 cli-lab/cu.py list-tools
python3 cli-lab/cu.py describe click

可以替代的部分

聊天入口、任务编排、工具调用、动作日志,以及通过同一个 CLI 串联代码和 GUI 工作。MCP 让执行器与 agent 宿主解耦。

还要自己补的部分

应用授权、目标白名单、异常恢复、操作录像或回放,以及后台输入的适配。接通工具,不等于获得 Desktop 的全部产品体验。

需要保留的部分

模型服务或本地模型、可用的执行环境、受支持的驱动与系统权限。移到 Terminal 不会自动消除推理费用或系统限制。

06 / EVIDENCE & LIMITS

让结论,有可追溯的边界。

我们实际做了什么

  1. 01

    公开源码核对固定仓库 commit,读取实际 provider、驱动、许可和文档;记录 GitHub Stars 快照。

  2. 02

    本地安装包分析查看 ASAR、构建后的 JavaScript、原生依赖与符号;ZCode 还提取了 SEA 内的 Helper,并核对局部反汇编。

  3. 03

    区分观察与推断文件、包版本与调用点是直接证据;未还原的原生流程和云服务只给限定结论。

  4. 04

    验证能够验证的部分对提取 JS 做语法和哈希检查,对 CLI 做元数据与封装实验。没有做跨产品模型任务成功率测试。

公开来源与进一步阅读 +
术语速查:AX、MCP、CDP、Harness… +