os-ai-computer-use
让 AI 直接操控桌面操作系统的开源 Agent,支持 OpenAI GPT-5.4 和 Anthr
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 AI 直接操控桌面操作系统的开源 Agent,支持 OpenAI GPT-5.4 和 Anthr
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你对着一台电脑下达指令——"打开浏览器,搜索今天的天气,然后帮我发一封邮件"——然后你就可以去泡咖啡了,因为这一切正在自动发生。这不是科幻,而是 OS AI Computer Use 正在做的事情:给大语言模型装上「操作系统级」的操控能力,让它像真人一样在你的电脑桌面上点点鼠标、打字输入。
这个项目在 OSWorld 基准测试中拿到了 75.0% 的准确率,超过了人类基准,被开发者社区评价为"当前最具实用价值的开源桌面 Agent 实现之一"。
2024 年,Anthropic 推出了 Claude Computer Use API,让 Claude 能够通过截图理解屏幕内容并执行点击、输入等操作。这开启了一个新方向:让 AI Agent 突破浏览器的限制,直接操控整个操作系统。
OS AI Computer Use 正是在这一背景下诞生的开源实现。它不仅仅复现了 Anthropic 的方案,还做了两件关键扩展:其一,同时支持 OpenAI GPT-5.4 和 Anthropic Claude 两家大模型,用户可以在设置中自由切换;其二,提供跨平台 Flutter 桌面客户端,无需编程即可使用。
项目的技术架构采用清晰的四层设计,体现了对「解耦」和「可扩展性」的追求:
第一层:LLM 适配层(packages/llm)
这是整个系统最核心的抽象。LLM 层定义了一套统一的接口(LLMClient),将不同 Provider(Anthropic/OpenAI)的 SDK 封装在各自的 Client 中。目前已实现 AnthropicClient 和 OpenAIClient。接口统一意味着:未来新增一个模型供应商,只需实现新的 Client,无需改动上层代码。数据模型(DTO)也做了统一:消息、工具调用、Token 使用量都抽象为标准结构。
第二层:Agent 编排层(packages/core)
Orchestrator 负责任务循环(Agent Loop):向 LLM 发送带历史消息的请求,解析 LLM 返回的工具调用,执行工具,记录结果,循环直到任务完成。ToolRegistry 则负责将工具名称路由到具体处理器,保持了工具系统的可插拔性。
第三层:操作系统抽象层(packages/os)
这是项目最有技术含量的部分之一。采用 Ports & Adapters 架构(六边形架构):os_ai_os 定义了一套与具体操作系统无关的抽象接口(Mouse、Keyboard、Screen、Overlay、Sound、Permissions),而具体的实现被隔离在 os-macos、os-windows、os-linux 等子包中。每个平台包通过 PyPI entry points 注册自己的驱动,系统运行时通过 get_drivers() 自动加载对应平台的实现。
这种设计的精妙之处在于:Core 层的代码完全不依赖任何特定平台的 API。PyObjC(macOS)、PyAutoGUI(Windows/Linux)的代码都在驱动层,Core 只调用抽象接口。这使得代码可以在不同操作系统间无缝迁移。
第四层:桌面客户端层(frontend_flutter)
Flutter 构建的跨平台 UI(macOS/Windows/Linux/Web),提供对话式聊天界面、API Key 管理(存储在系统 Keychain 中)、实时费用追踪、多会话管理等功能。生产构建通过 PyInstaller 打包成独立可执行文件。
截图 → 视觉理解 → 动作执行:这是 Computer Use 的核心循环。系统定期截取屏幕截图,以 Base64 编码发送给 VLM(视觉语言模型),VLM 返回结构化的动作指令(点击坐标、输入文本、滚动方向等),系统解析指令后调用对应平台的驱动执行。
PyAutoGUI 跨平台操控:Windows 和 Linux 平台的鼠标/键盘操控由 PyAutoGUI 实现。macOS 则使用 PyObjC 直接调用 Quartz 和 AppKit 框架,实现更底层的系统控制。
MCP(Model Context Protocol)扩展:项目提供 os_ai_mcp 包,通过 MCP SDK 暴露 OS AI 的能力,可作为 MCP Server 接入更大的 Agent 生态。
FastAPI 后端:开发模式下的后端服务基于 FastAPI + Uvicorn,提供 SSE 实时推送能力,前端 Flutter 通过 WebSocket/SSE 与之通信。
适合的场景:
局限性需要注意:
OS AI Computer Use 代表着 AI Agent 从「问答助手」向「执行助手」演进的趋势。它证明了在开放环境(而非受限的浏览器沙箱)中部署 Computer Use Agent 的可行性。75.0% 的 OSWorld 得分说明,当前 VLM 的视觉-动作映射能力已经接近实用门槛。
对于开源社区而言,这个项目的价值还在于:它是少数几个同时提供 完整多平台桌面客户端 + 插件化 Agent 架构 + MCP 扩展 的开源实现,为开发者提供了从使用到二次开发的完整参考路径。
分析基于 GitHub 仓库 v1.1.0 版本,数据截至 2026-06-27