
AI 智能体的计算机使用工具是一种让智能体能够通过屏幕、鼠标和键盘而非 API 来操作软件的能力。2026 年,添加此功能有两种方式。你可以为智能体提供来自 Anthropic、OpenAI 或 Google 的底层原语(截图、点击、输入),并自行构建环境和执行循环;或者,你可以为其提供一个任务级操作器:即 Sai API 来自 Simular 的工具。通过该工具,只需一次 HTTP 调用,即可将整个 GUI 任务交给一个已配备 Windows 或 Linux 计算机的计算机使用智能体。它会以事件形式报告进度,并在执行任何敏感操作前征求你的批准。本指南介绍了这两种模式,展示了 Sai 计算机使用 API 的端到端工作流程,提供了适用于 OpenAI Agents SDK、LangGraph、Vercel AI SDK 和 MCP 的集成代码,并从构建难度、成本和可靠性等方面对这四种方案进行了对比。
以下所有内容均已根据各供应商截至 2026 年 10 月 10 日的最新文档进行了核对。Sai 的框架集成代码片段是基于其公共 REST API 编写的,对于 Simular 尚未发布官方示例的部分,已标注供工程审查。
计算机使用工具是一种函数调用意义上的工具,它赋予语言模型智能体查看计算机屏幕并进行操作的能力:截屏、移动光标、点击、滚动、输入和按键。有了它,智能体无需 API 即可操作任何具有图形界面的应用程序,包括桌面软件、供应商门户以及完全不提供集成的管理控制台。如果没有它,智能体只能通过其可访问的 API 和代码与世界交互。
该术语涵盖了两种截然不同的产品。模型供应商提供 计算机使用原语:这是一种模型能够理解的工具定义(如 Anthropic 的 computer_toolset_20260801、OpenAI 的 computer tool、Gemini 的 computer_use),它会返回操作指令,供你的代码在你提供的显示环境中执行。第二种是 作为工具的计算机使用智能体:这是一种托管式智能体,拥有自己的计算机,能够接收任务描述并返回结果,因此你的智能体只需委托整个 GUI 任务,而无需驱动每一次点击。Sai 就是本指南中第二种类型的示例。
你需要哪种方式,取决于你是在构建计算机使用智能体,还是在使用它。
原语:由你的智能体控制鼠标和键盘。 你将供应商的工具添加到模型调用中。在每一轮交互中,模型会返回一个或多个操作(在坐标处左键点击、输入字符串、截图),你的代码会在你托管的显示环境(如带有 Xvfb 的 Docker 容器、Playwright 浏览器或虚拟机)中执行这些操作,捕获新截图并将其发回。你需要负责环境维护、循环控制、坐标缩放、错误处理、安全检查以及每一张截图的费用。当屏幕推理必须在你的智能体内部完成,或者用于研究、自定义 UI,亦或是你自己正在构建计算机使用产品时,这是正确的选择。
任务级操作器:由你的智能体委托任务。 你只需为智能体添加一个函数工具,例如 run_on_computer(task)。调用时,它会将任务发布给 Sai,Sai 会配置或唤醒一台云端计算机(或运行 Sai 桌面应用的你自己的机器),利用其自身的模型栈操作屏幕,流式传输进度,在需要运行命令或登录时暂停以等待批准,最后返回最终文本。你的智能体无需查看任何截图。当 GUI 工作只是更大工作流中的一个步骤,当任务的可靠性比单次点击的控制权更重要,或者当你不想运行桌面基础设施时,这是正确的选择。
使用计算机使用工具的场景通常是 API 无法覆盖的任务。Simular 自身提供的示例就很具代表性:在真实浏览器中端到端测试阶段性注册流程;从仅提供网页登录的供应商门户中提取本月发票;将 CSV 中的行输入到没有导入功能的内部表单中;在 Windows 机器上逐步跟踪错误报告并捕获发生的情况;在管理控制台中查找非活跃账户并导出。对于人类来说,这些任务只需几分钟的点击,但对于仅支持 API 的智能体来说,却是无法解决的问题。
同样的原则也适用于何时不应使用该工具。如果存在已记录的 API 或 SDK,如果数据已在本地,或者如果你需要精确的字节级输出,请编写代码。计算机使用比函数调用更慢、更昂贵;它的价值在于它能在函数调用无法触及的地方发挥作用。
对于基础工具而言,可靠性取决于你的循环所能达到的效果,而你只有在实际构建后才能知晓。Sai 公布了其数据。在标准计算机使用基准测试的长期版本 OSWorld 2.1 上,Simular 报告显示 Sai 的部分得分为 77.3%,每项任务成本为 14.34 美元,与 Claude Opus 5 持平且成本更低,并附带 已发布的轨迹和方法论。这些是供应商报告的数据,但它们是本次对比中唯一针对任何计算机使用工具所发布的任务级完成度和成本数据;模型供应商发布的是模型评分,而非产品评分,且从未公布过单项任务的成本。
单项任务成本也会显示在你自己的遥测数据中。每个 /events 响应都包含 usage.costUsd 以及当前任务和会话的模型调用次数,因此框架工具可以在无需配置屏幕截图循环的情况下,记录每项委托工作的成本。对于重复性工作,Sai 的“运行一次,代码回放”模型是关键所在:任务运行一次后,你可以要求 Sai 将工作流保存为已命名的参数化技能;后续运行将回放代码,仅在屏幕内容发生变化时查询模型,并在 UI 变更导致步骤中断时由代理接管。Simular 的神经符号计算机使用研究报告显示,学习策略在所测试的基准测试中将单次运行成本降低了约 15 到 217 倍,延迟降低了 3.4 到 5.1 倍,这就是为什么第一次运行需要数美元的定时任务,后续运行只需几美分的原因。
计算机使用工具是你赋予代理的最强大工具,每家供应商都强调三点:在隔离环境中运行,将屏幕上的内容视为不可信输入(提示词注入在 LLM 应用的 OWASP 前 10 大风险中名列前茅),并对关键操作进行人工审核。Sai 的 API 将第三点融入了协议之中。命令执行会触发你需要响应的审批;登录、密码输入、Google 账户连接和手机验证属于仅限链接的审批,API 无法自行完成,因此代理永远不会被诱导输入凭据。 task 响应允许你针对某项任务预先批准一类操作,而无需预先批准所有内容,并且 POST /abort 可在任务执行中途将其停止。
运营限制已公布,值得在设计时予以考虑:每个账户每小时 60 条消息,每小时 1,200 次事件轮询(请使用 wait=30,不要使用紧密循环),每分钟 20 次审批,每小时 30 次上传,每次上限 25 MB。免费计划的计算机在每天首次请求时大约需要两分钟启动,并设有每日时间限制;付费计划则提供专用机器,在空闲时进入休眠状态,并在收到下一条消息时唤醒。
这三款供应商工具都非常出色,Sai 也可以在底层使用它们的模型;对比的重点在于你采用每种工具时所承担的责任。
Anthropic 的计算机使用工具 这是目前最成熟的原语集:包含 17 种操作,支持缩放、单轮批量调用,并针对显示尺寸和坐标缩放提供了详细指南。其采用成本在于环境配置。Anthropic 的参考实现是一个运行 Xvfb、窗口管理器、Firefox 和 LibreOffice 的 Docker 镜像,仅工具定义部分在发送任何截图前,每次请求就需要消耗约 4,500 个输入 Token。如果您正在基于 Claude 构建计算机使用产品,请从这里开始;如果您希望 Claude 模型在现有智能体内部执行 GUI 工作,Sai 允许您选择 anthropic/claude-sonnet-5或claude-opus-5-5 作为模型并跳过环境配置。
OpenAI 的计算机工具 已在 Responses API 中达到 GA(正式发布)状态,支持批量 actions[] 并能从以下内容平滑迁移: computer-use-preview;Agents SDK 将其封装为 ComputerTool 并带有安全检查回调。您仍需针对 Playwright 或虚拟机实现 Computer 接口,且 OpenAI 官方建议在 GPT-6 Astra 中优先使用代码执行,将计算机工具作为“替代方案”。
Gemini 计算机使用功能 是运行成本最低的原语,且支持最广泛的环境列表(浏览器、移动端、桌面端),其归一化坐标使缩放变得非常简单。目前它仍处于预览阶段,注入检测需手动开启,且 Google 官方文档建议将其运行在沙盒中,并避免用于关键任务。
Sai 是这四者中唯一一个在 API 后端提供完整计算机使用智能体的方案。其局限性在于它不暴露截图或点击原语:如果您的智能体需要自行分析像素,那么 Sai 并不适用。其设计理念在于,大多数智能体构建者更关注任务的完成,而非屏幕本身。
Sai API 是一个位于以下地址的小型 REST 接口: https://api.simular.ai/v1/agents,通过 Bearer 密钥进行身份验证(Authorization: Bearer sapi_...)。免费套餐包含一台共享的 Windows 云电脑和每日额度;付费套餐则增加了专用 Windows 或 Linux 电脑(50 美元的按需付费套餐最多可同时使用五台),并支持在您自己的 Mac 或 Windows 机器上运行。密钥在通过 Google 登录后的门户网站中创建;免费账户需先验证手机号码。
POST /v1/agents/message 以自然语言接收任务。设置 wait: false 以获取 sessionId 立即返回并轮询事件(默认 wait: true 则改为流式传输服务器发送的事件)。 machineId 在您只有一台电脑时是可选的; model 接受 auto 或来自 /models;attachments 用于携带您预先上传的文件。
curl -s "$SAI_API_URL/v1/agents/message" \
-H "Authorization: Bearer $SAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": "Open Notepad, type hello, save it to the desktop as hello.txt",
"wait": false
}'
{ "sessionId": "cs_01HZY", "machineId": "free-3fA9kQ2xYz", "queued": false }
GET /v1/agents/events?sessionId=...&since=...&wait=30 进行长轮询(最长 60 秒)并返回会话 状态(运行中,待审批,空闲或错误),新事件,一个不透明的 光标 作为...传回 自,迄今为止的助手文本,以及一个 使用情况 对象,包含令牌计数、模型调用和 costUsd 任务相关。进度事件(data-progress)是简短的叙述行,例如“正在打开记事本”,显示正在使用的工具;API 特意不返回屏幕截图,这正是保持您的代理上下文精简的原因。
{
"events": [
{ "type": "data-progress", "data": { "text": "Opening Notepad", "tool": "computer" } }
],
"cursor": "1790000012345:3",
"status": "running",
"text": ""
}
当 Sai 想要运行命令、执行您需要先查看的操作,或需要您做出选择时,会话状态将变为 needs_approval 并且响应中会携带一个 approval 对象。您需要通过 POST /v1/agents/approve 以及一个 响应 的 是,否,或者任务 (批准此请求及后续类似请求)。选择批准需要一个 选择 数组。部分批准仅限链接操作:例如关联 Google 账号、输入网站密码或进行手机验证。API 无法直接处理这些操作;它会向您提供一个 approvalUrl 交给账号所有者,待其完成后任务即可恢复。这是大多数手动构建的计算机操作循环中最容易出错的部分,而在这里,它被视为一等公民事件。
curl -s "$SAI_API_URL/v1/agents/approve" \
-H "Authorization: Bearer $SAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "approvalId": "ap_7Qw", "response": "yes" }'
当状态为 空闲,文本 时,其中包含 Sai 的回答。向同一 sessionId 发送后续消息可继续对话并保持桌面状态; POST /new-session 会开启新会话,而 POST /abort 会停止正在运行的任务。文件通过 POST /upload 上传(原始字节,25 MB,支持 PDF、图像、CSV、代码等格式),并作为附件引用。一个完整的 Python 循环(包含启动任务、打印进度、自动批准命令提示并返回文本)大约只需 60 行代码;Simular 已将其发布在 快速入门与示例,以下版本是我们将在下一节中封装到框架工具中的版本。
创建一个免费 API 密钥,发送一个 POST /v1/agents/message,您的智能体就拥有了一台计算机。您可以将其作为函数工具封装到 OpenAI Agents SDK、LangGraph 或 Vercel AI SDK 中,或者将 MCP 服务器添加到 Claude Code、Codex 或 Cursor。免费套餐包含一台云端计算机;50 美元的按需付费套餐则增加了专用的 Windows 或 Linux 机器,支持五台并行运行。