Open Computer Use 安装、使用方法详细全解
项目仓库:https://github.com/coasty-ai/open-computer-use 官网:https://coasty.ai 协议:Apache License 2.0
一、项目概述
1.1 项目简介
Open Computer Use 是一个开源的 AI 计算机控制平台,让 AI Agent 像人类一样实际控制电脑。与仅能"谈论"任务的聊天机器人不同,这里的 Agent 真正执行操作——浏览网页、运行命令、点击 UI、编排多步骤工作流。
定位类似于 Anthropic 的 Claude Computer Use,但完全开源且可扩展。在 OSWorld 基准测试中达到 82% 的 SOTA 水平。
1.2 核心能力
平台提供三大核心能力:
- 浏览器自动化:基于 Selenium/Playwright 的 Web 导航、搜索、表单填写和数据提取
- 终端访问:在隔离的 Linux 环境中执行命令、管理文件、运行脚本
- 桌面控制:通过 PyAutoGUI、OCR(Tesseract)和窗口管理实现 GUI 自动化
1.3 多 Agent 架构
平台通过 Planner Agent 编排多个专用 Agent:
| Planner | 分解复杂请求为子任务,分配给专用 Agent,管理步骤间的上下文传递 |
| Browser | Web 导航、搜索(Google Custom Search API)、表单填写、多标签管理、截图 |
| Terminal | 命令执行、文件操作、脚本运行、包管理、输出流式传输 |
| Desktop | 鼠标/键盘控制、窗口管理、截图分析、UI 元素检测(计算机视觉) |
1.4 技术栈
| 前端框架 | Next.js 15 (App Router), React 19, TypeScript |
| 样式 | Tailwind CSS 4, Radix UI, shadcn/ui |
| 状态管理 | Zustand (chat, messages, user, session, credits, preferences) |
| AI 集成 | Vercel AI SDK (多供应商支持) |
| 后端框架 | FastAPI (Python 3.10+), asyncio, uvicorn |
| WebSocket | Python websockets (VM 通信) |
| 数据库 | Supabase (PostgreSQL + RLS) |
| 缓存 | IndexedDB (客户端), Redis (可选服务端) |
| 认证 | Supabase Auth + Google OAuth |
| 支付 | Stripe |
| VM 运行时 | Docker, Ubuntu 22.04 LTS, XFCE 桌面 |
| 浏览器自动化 | Selenium WebDriver, Chrome CDP (端口 9222) |
| 桌面自动化 | PyAutoGUI, python-xlib, OCR (Tesseract) |
| 云部署 | Azure Container Instances, AWS EC2 (可选) |
二、系统架构
2.1 架构图(文字描述)
┌─────────────────────────────────────────────────────┐
│ Frontend Layer │
│ Next.js 15 App (app/*) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Chat UI │ │ VM Mgmt │ │ Account │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ └─────────────┼───────────┘ │
│ Zustand Stores │
│ Chat Store │ Message Store │ User Store │ Session │
└─────────────┬───────────────────────────────────────┘
│ HTTP/SSE/WebSocket
┌─────────────▼───────────────────────────────────────┐
│ Backend Layer │
│ FastAPI (Python) – backend/ │
│ ┌────────────────────┐ ┌──────────────────────┐ │
│ │ Next.js API Routes │ │ FastAPI Application│ │
│ │ app/api/* │ │ backend/main.py │ │
│ └────────────────────┘ └──────────┬───────────┘ │
│ │ │
│ ┌───────────────────────┼──┐ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────────┐ │
│ │ Multi-Agent │ │ VM Control │ │
│ │ Executor │ │ Service │ │
│ └──────┬───────┘ └────────┬─────────┘ │
│ │ │ │
│ ┌──────┴───────┐ ┌──────┴───────┐ │
│ │ Planner Agent│ │ Connection │ │
│ │ Browser Agent│ │ Pool + Lock │ │
│ │ Terminal Agent│ │ + Reconnect │ │
│ │ Desktop Agent│ └──────────────┘ │
└──────┼─────────────────────────────────────────────┘
│ WebSocket
┌──────▼─────────────────────────────────────────────┐
│ VM Infrastructure │
│ Docker Container (docker/ai-desktop/) │
│ ┌──────────────────┐ ┌──────────────┐ │
│ │ Chrome + CDP │ │ VNC Server │ │
│ │ (Port 9222) │ │ (Port 5900) │ │
│ └──────────────────┘ └──────────────┘ │
│ │ │
│ WebSocket Agent Server │
│ (Port 8080) │
└────────────────────────────────────────────────────┘
2.2 数据流示例(典型用户交互)
整个流程通常在 10-60 秒内完成,取决于任务复杂度。
三、安装方法
3.1 环境要求
- Node.js 20+
- Python 3.10+
- Docker(用于 VM 容器)
- Supabase 账号(用于数据库和认证)
- 首次设置大约需要 15-30 分钟
3.2 快速开始(Web 版本)
只需一个 API Key。在 coasty.ai/developers 获取免费的沙箱 Key。
# 1. 克隆仓库
git clone https://github.com/coasty-ai/open-computer-use.git
cd open-computer-use
# 2. 安装前端依赖
npm install
# 3. 配置环境变量
cp .env.oss.example .env.local
编辑 .env.local,填入你的 API Key:
COASTY_API_KEY=sk-coasty-test-your-key-here
然后运行:
npm run dev
打开 http://localhost:3000 即可开始对话。
3.3 桌面应用安装
Electron 桌面应用是一个轻量级覆盖层,直接在本地机器上运行 AI Agent 命令。
cd electron
npm install
npm run dev
支持 Windows、macOS 和 Linux 的原生自动化。浮动置顶胶囊 UI,可展开聊天面板。
桌面应用安装包也在 GitHub Releases 中提供(如 v4.3.0 Windows & Mac installer)。
3.4 MCP Server 安装
使用同一个 API Key,通过 MCP 协议接入 Claude Desktop、Cursor 或 Windsurf:
npx -y @coasty/mcp
详细见 mcp/ 目录。
3.5 开发环境完整配置
需要以下环境变量:
# Coasty API
COASTY_API_KEY=sk-coasty-test-…
# Supabase 连接
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_ROLE=your-service-role-key
# 加密
ENCRYPTION_KEY=your-encryption-key
CSRF_SECRET=your-csrf-secret
# AI 供应商 API Key(可选)
OPENAI_API_KEY=sk-…
ANTHROPIC_API_KEY=sk-ant-…
GOOGLE_API_KEY=…
AZURE_OPENAI_API_KEY=…
XAI_API_KEY=…
MISTRAL_API_KEY=…
PERPLEXITY_API_KEY=…
OPENROUTER_API_KEY=…
# Google 搜索 API
GOOGLE_SEARCH_API_KEY=…
GOOGLE_SEARCH_ENGINE_ID=…
# Azure 云(可选)
AZURE_RESOURCE_GROUP=…
AZURE_SUBSCRIPTION_ID=…
# Stripe(可选)
STRIPE_SECRET_KEY=…
STRIPE_WEBHOOK_SECRET=…
开发模式下:
- 前端:localhost:3000(Next.js Dev Server)
- 后端:localhost:8001(FastAPI Dev Server,交互文档在 /docs)
- VM:docker-compose 本地运行
四、使用方法详解
4.1 基本使用流程
方式一:Web 界面
方式二:MCP Server
在 Claude Desktop 的 claude_desktop_config.json 中配置:
{
"mcpServers": {
"coasty": {
"command": "npx",
"args": ["-y", "@coasty/mcp"],
"env": { "COASTY_API_KEY": "sk-coasty-test-…" }
}
}
}
兼容:Claude Desktop、Claude Code、Cursor、Windsurf、VS Code Copilot(Agent 模式),以及任何实现 MCP 规范 2025-06-18 或更新版本的客户端。
方式三:Electron 桌面应用
4.2 MCP Server 工具详解(25 个工具)
预测工具(3 个)
| coasty_predict | 截图 + 目标 → 返回 Agent 动作列表 |
| coasty_ground | 元素描述 → (x, y) 坐标 |
| coasty_parse | pyautogui 代码 → 结构化动作记录 |
机器管理工具(9 个)
| coasty_list_machines | 列出所有虚拟机(只读) |
| coasty_get_machine | 获取单个 VM 详情(只读) |
| coasty_take_machine_screenshot | 截取 VM 屏幕(只读) |
| coasty_provision_machine | 创建 VM(真实 EC2/Azure 或沙箱模拟) |
| coasty_terminate_machine | 终止 VM |
| coasty_start_machine | 启动 VM(恢复) |
| coasty_stop_machine | 停止 VM(暂停) |
| coasty_execute_machine_action | 万能分发器,支持 40+ 白名单动作(click, type, scroll, browser_, file_, terminal_*) |
| coasty_run_terminal_command | Shell 执行,支持持久化会话 |
定时任务工具(11 个)
| coasty_list_schedules | 列出定时任务(只读) |
| coasty_get_schedule | 获取定时任务详情(只读) |
| coasty_list_schedule_runs | 列出任务执行历史(只读) |
| coasty_create_schedule | 创建定时任务 |
| coasty_update_schedule | 更新定时任务 |
| coasty_delete_schedule | 删除定时任务 |
| coasty_run_schedule_now | 立即运行一次定时任务 |
| coasty_pause_schedule | 暂停定时任务 |
| coasty_resume_schedule | 恢复定时任务 |
| coasty_add_trigger | 添加触发器(webhook / email / chain) |
| coasty_remove_trigger | 移除触发器 |
账号工具(1 个)
| coasty_get_credits | 余额 + 等级 + 周期用量 |
发现工具(2 个,零消耗,推荐预检)
| coasty_get_pricing | 获取最新定价快照(订阅包、boost 包、按调用/按分钟费率) |
| coasty_get_capabilities | 一次性服务描述:列出所有工具的成本和范围,链接 OpenAPI 规范 |
预设 Prompt(2 个)
| start_automation_session | 预填目标驱动的 Agent 会话 |
| debug_failed_run | 调查定时任务为何失败 |
4.3 虚拟机管理
VM 生命周期状态机
creating → starting → running → stopping → stopped
↓
error
↓
deleting
VM 操作详解
创建 VM:
运行 VM:
- VMControlService 建立 WebSocket 连接
- 执行健康检查
- 执行 Agent 命令(带 per-machine 锁序列化)
- 自动重连(指数退避)
清理 VM:
- 免费层 VM 默认 2 小时后自动删除(MachineCleanupService 定时任务)
- 付费用户可永久保留机器
VM 规格
- 基础镜像:Ubuntu 22.04 + XFCE 桌面
- 内置组件:Chrome(CDP 端口 9222)、VNC Server(端口 5900)、WebSocket Agent Server(端口 8080)
- 支持本地 Docker、AWS EC2、Azure Container Instances 三种部署方式
- 资源隔离:Docker 容器沙箱,限制 CPU、内存、磁盘
4.4 Agent 执行详解
Browser Agent
- 搜索优先的 Web 导航
- 使用 Google Custom Search API 进行搜索
- 表单自动填写
- 多标签页管理
- 截图捕获
- 基于 Selenium/Playwright 的元素交互
Terminal Agent
- Shell 命令执行
- 文件操作(创建、读取、编辑、删除)
- 脚本运行(Python、Bash 等)
- 包管理(pip、npm 等)
- 输出流式传输(实时查看终端输出)
- 支持持久化会话
Desktop Agent
- 鼠标控制(移动、点击、双击、拖拽)
- 键盘控制(按键、输入文本)
- 窗口管理(打开、关闭、切换、最大化/最小化)
- 截图分析
- UI 元素检测(通过计算机视觉/OCR)
- 基于 PyAutoGUI 和 python-xlib
Planner Agent
- 分析用户请求
- 创建任务计划(分解为子任务序列)
- 根据子任务类型分配给专用 Agent
- 管理步骤间的上下文传递
- 处理错误和重试
4.5 安全与审批系统
四级审批模式
| full_control | 自动执行所有操作(用于可信自动化) |
| smart_approve | 自动批准 26 个只读命令(截图、列表等),破坏性操作需确认 |
| approve_all | 每个操作都需用户确认 |
| off | Agent 暂停,所有操作需手动恢复 |
API Key 权限范围
每个 API Key 都有作用域限制(machines:write、terminal:exec、browser:execute 等),Agent 可锁定为只读或沙箱写入 Key。
安全防护
| 认证 | Supabase Auth + JWT 会话 + RLS 策略 |
| 授权 | 所有数据库表的行级安全 |
| API Key 存储 | AES-256 加密(ENCRYPTION_KEY) |
| CSRF 保护 | 所有状态变更操作需 Token 验证(CSRF_SECRET) |
| VM 隔离 | Docker 容器沙箱 + 网络隔离 |
| 速率限制 | API 端点限流 + WebSocket 连接限制 |
| 输入验证 | Pydantic 模型(后端)+ TypeScript 严格模式(前端) |
| SQL 注入防护 | Supabase 客户端参数化查询 |
| XSS 防护 | React 自动转义 + 输出消毒 |
4.6 计费系统
订阅层级
| Free | $0 | 10 分钟 |
| Starter | $19/月 | 20 分钟 |
| Professional | $50/月 | 60 分钟 |
| Enterprise | $100/月 | 150 分钟 |
消耗机制
- Agent 时间按 6 秒增量计费(1 credit = 6 秒)
- 余额通过侧边栏 useCredits hook 显示剩余 Agent 时间
MCP 计费
- 沙箱 Key(sk-coasty-test-*):永久免费,返回模拟 VM 和合成结果
- 正式 Key:20 cr 最低(创建 VM),10 cr/分钟(Agent 运行),50 cr/小时(原始 VM 租赁)
4.7 路由与 API 端点
前端路由
| / | app/page.tsx | 首页或聊天界面(认证相关) |
| /c/[chatId] | app/c/[chatId]/page.tsx | 聊天会话 |
| /machines | app/machines/page.tsx | VM 管理仪表板 |
| /account | app/account/page.tsx | 用户设置、计费、API Keys |
| /share/[chatId] | app/share/[chatId]/page.tsx | 公开聊天回放(无需认证) |
| /api/machines | app/api/machines/route.ts | VM CRUD 操作 |
| /api/chat | app/api/chat/route.ts | 聊天流式端点 |
| /api/subscription/* | app/api/subscription/ | Stripe 集成 API |
| /auth | app/auth/page.tsx | 认证页面 |
| /terms | app/terms/page.tsx | 服务条款 |
| /privacy | app/privacy/page.tsx | 隐私政策 |
| /changelog | app/changelog/page.tsx | 更新日志 |
后端 API
- 开发环境:http://localhost:8001
- 交互文档:http://localhost:8001/docs
- OpenAPI 规范:https://coasty.ai/.well-known/openapi.json
- MCP Server Card (SEP-1649):https://coasty.ai/.well-known/mcp/server-card.json
- 定价 JSON:https://coasty.ai/api/pricing
- llms.txt:https://coasty.ai/llms.txt 和 https://coasty.ai/llms-full.txt
4.8 部署架构
开发环境
Next.js Dev Server (localhost:3000)
FastAPI Dev Server (localhost:8001)
Local Docker VMs (docker-compose)
生产环境
Vercel / 自托管 Next.js 构建
FastAPI (uvicorn main:app)
VM Control Workers(多进程)
Azure Container Instances / AWS EC2
Supabase Cloud (Database + Auth)
Stripe API
Google Search API
支持多种部署模式:
- 全开发:本地 Next.js + FastAPI + Docker Compose
- 全生产:Next.js on Vercel + FastAPI 自托管 + VM 在 Azure/AWS
- 混合:前端 Vercel + 后端自托管 + VM 云端
4.9 实际应用案例
项目中展示了以下实际应用场景:
五、项目结构与关键文件
open-computer-use/
├── app/ # Next.js 前端
│ ├── api/ # API 路由
│ ├── c/[chatId]/ # 聊天会话页面
│ ├── machines/ # VM 管理页面
│ ├── account/ # 用户设置页面
│ ├── auth/ # 认证页面
│ ├── components/ # UI 组件
│ │ ├── landing/ # 落地页组件
│ │ ├── chat/ # 聊天组件
│ │ ├── machines/ # VM 组件
│ │ └── layout/ # 布局组件
│ └── page.tsx # 入口页面
├── backend/ # FastAPI 后端
│ ├── main.py # 入口
│ ├── app/
│ │ ├── agents/ # Agent 实现
│ │ │ ├── planner_agent.py
│ │ │ ├── browser_agent.py
│ │ │ ├── terminal_agent.py
│ │ │ └── desktop_agent.py
│ │ ├── services/ # 服务层
│ │ │ ├── multi_agent_executor.py
│ │ │ └── vm_control_service.py
│ │ └── api/routes/ # API 路由
├── docker/ai-desktop/ # VM Docker 镜像
│ ├── Dockerfile # 基础镜像配置
│ └── websocket_agent.py # VM 内 WebSocket Agent 服务
├── electron/ # 桌面应用
├── mcp/ # MCP Server
│ ├── src/ # MCP 实现
│ ├── tests/ # 测试
│ ├── README.md # 文档
│ └── llms.txt # AI 发现文档
├── lib/ # 状态管理
│ ├── chat-store/ # 聊天存储
│ ├── user-store/ # 用户存储
│ └── …
├── supabase/ # 数据库
│ └── schema.sql # 数据库模式
├── .env.oss.example # 环境变量示例
├── CONTRIBUTING.md # 贡献指南
├── SECURITY.md # 安全策略
├── RESPONSIBLE_USE.md # 负责任使用指南
└── LICENSE # Apache 2.0
六、路线图
- 多 VM 并行编排
- 可视化工作流构建器
- Agent 市场与模板
- 插件系统(自定义工具)
- 协同会话
- 语音控制与视频理解
七、与其他方案的对比
| 开源 | 是 | 否 | 部分 | 部分 |
| 桌面控制 | 是 | 是 | 否 | 否 |
| 终端访问 | 是 | 是 | 否 | 是 |
| 浏览器自动化 | 是 | 是 | 是 | 否 |
| 定时任务 | 是 | 否 | 否 | 否 |
| Webhook 触发 | 是 | 否 | 否 | 否 |
| 本地执行 | 是(Electron) | 否 | 否 | 否 |
| MCP 集成 | 是 | 内置 | 否 | 否 |
| 审批系统 | 四级审批 | 基础 | 无 | 无 |
| 沙箱测试 | 免费沙箱 Key | 无 | 无 | 无 |
八、总结
Open Computer Use 是目前功能最全面的开源 Computer Use 平台之一,其核心优势在于:
适合用于自动化重复性任务、测试、研究和内容创作。不适合用于违反服务条款、垃圾邮件或未经授权的数据抓取。
参考链接
- GitHub 仓库:https://github.com/coasty-ai/open-computer-use
- 官网:https://coasty.ai
- API 文档:https://coasty.ai/api-docs
- 开发者页面(获取 API Key):https://coasty.ai/developers
- 定价:https://coasty.ai/pricing
- Discord:https://discord.gg/gppEfsVt
- Twitter:https://x.com/llmhub_dev
- DeepWiki 架构文档:https://deepwiki.com/coasty-ai/open-computer-use
- MCP Server npm:https://www.npmjs.com/package/@coasty/mcp
- MCP Server GitHub:https://github.com/coasty-ai/coasty-mcp
- OpenAPI 规范:https://coasty.ai/.well-known/openapi.json
- YouTube 演示视频:
- Reddit 营销:https://www.youtube.com/watch?v=icxgLDephHE
- GTM 外展:https://www.youtube.com/watch?v=qTvmGfg3HVw
- QA 测试:https://www.youtube.com/watch?v=Wbo2o74hVIo
- 求职申请:https://www.youtube.com/watch?v=mH-csaCa508
- 表单填写:https://www.youtube.com/watch?v=AnHJuRMLCnE
- 社交媒体:https://www.youtube.com/watch?v=A_OvNh51Npg



