Vercel 开源 Open Agents:把 Claude Code 搬上云,关机也能干活
用 Claude Code 或 Cursor 的人都有个痛点:Agent 跑到一半,合上笔记本,断了。大任务不敢让它跑,因为本地 Agent 是"人走茶凉"——你一离线它就停。
Vercel Labs 开源的 Open Agents 就是来解决这个问题的。它把 AI 编程 Agent 整个搬到云端,你关机、断网、换设备都不影响,Agent 在 Vercel 的基础设施上接着干。醒来打开浏览器,代码已经写好、测试已经跑完、PR 已经提好了。
这不是一个产品,是一个开源参考实现。Vercel 的意思是:拿去改,改完就是你的。
本文提纲
- Open Agents 到底是什么
- 三层架构:Web → Workflow → Sandbox
- Agent 和 Sandbox 为什么必须分开
- 实际能干什么
- 技术栈一览
- 怎么部署
Open Agents 到底是什么
Open Agents 是一个云端后台编程 Agent的完整参考应用。GitHub 仓库在 vercel-labs/open-agents,目前 5.3k stars,668 forks,MIT 协议。
核心能力:
- 通过浏览器聊天界面给 Agent 下任务
- Agent 在云端沙箱里自动 clone 仓库、写代码、跑测试
- 自动创建分支、commit、推送、提 PR
- 任务可以是多步骤的,中间断了能恢复
- 支持多模型(通过 Vercel AI Gateway 路由)
和 Claude Code、Codex CLI 这类本地 Agent 的根本区别:Open Agents 跑在 Vercel 的服务器上,不依赖你的电脑。
三层架构:Web → Workflow → Sandbox
Open Agents 的架构分三层,这是理解它的关键:
MERMAID_BLOCK_0
第一层:Web 层——Next.js 应用,处理认证、会话管理、聊天 UI 和流式输出。用户通过浏览器和 Agent 交互。
第二层:Agent Workflow 层——Agent 的"大脑"跑在这里,使用 Vercel Workflow SDK 实现。它负责调用 LLM 做推理、管理任务状态、编排工具调用。关键点:Agent 本身不跑在沙箱里。
第三层:Sandbox VM 层——一个完全隔离的 Vercel Sandbox,有自己的文件系统、shell、git、开发服务器和预览端口(3000、5173、4321、8000)。沙箱支持休眠和恢复,长时间任务也不怕。
Agent 和 Sandbox 为什么必须分开
这是 Open Agents 架构设计里最值得学的决策。
很多 Agent 实现(包括大部分开源项目)是把 Agent 和执行环境塞在一起的——Agent 直接在沙箱里跑。Open Agents 偏不。Agent 跑在 Workflow 层,通过工具调用(文件读写、shell 命令、搜索)远程控制 Sandbox。
分开有三个好处:
1. 生命周期独立。Agent 的推理过程不需要一直占用 VM 资源。LLM 思考的时候 Sandbox 可以休眠,省资源省钱。反过来,Sandbox 跑长任务的时候 Agent 不会被卡住。
2. 模型和沙箱解耦。你可以换 LLM(GPT → Claude → DeepSeek)不影响 Sandbox 实现,也可以升级 Sandbox(换个运行环境)不影响 Agent 逻辑。两边独立演化。
3. 安全隔离更干净。Sandbox 就是个纯粹的执行环境,没有控制面逻辑。即使 Sandbox 被攻破,攻击者拿不到 Agent 的模型调用凭据和任务状态。
实际能干什么
根据 README 和实测,Open Agents 目前支持的场景:
代码生成和修改:给 Agent 一个 GitHub 仓库地址和任务描述,它会 clone 仓库、理解代码结构、修改文件、跑测试。
自动 PR 工作流:创建分支 → 写代码 → commit → push → 提 PR。完整的一条龙。
多步骤任务:因为是 durable workflow,Agent 可以执行需要几十个步骤的复杂任务,中间挂了能恢复。
Explorer + Executor 子 Agent:支持并行工作模式,一个 Agent 负责探索代码库,另一个负责执行修改,提高效率。
Session 分享:可以生成只读链接分享给同事看 Agent 的工作过程。
语音输入(可选):集成了 ElevenLabs 语音转录,可以直接说话给 Agent 下指令。
一个典型的使用流程:你在浏览器里输入"给这个项目加个暗黑模式,用 CSS 变量实现",然后关掉电脑。半小时后打开,发现 Agent 已经提了一个 PR,改了 12 个文件,跑了测试全绿。
技术栈一览
| 组件 | 技术选型 |
|---|---|
| 前端 | Next.js |
| Agent 核心 | Vercel AI SDK |
| 沙箱 | Vercel Sandbox |
| 认证 | Better Auth + Vercel OAuth + GitHub App |
| 数据库 | Neon PostgreSQL |
| 缓存 | Upstash KV / Redis(可选) |
| 工作流 | Vercel Workflow SDK |
| 运行时 | Bun |
项目结构:
open-agents/
├── apps/web → Next.js 应用、工作流、认证、聊天 UI
├── packages/agent → Agent 实现、工具定义、子 Agent、Skills
├── packages/sandbox → Sandbox 抽象层和 Vercel Sandbox 集成
├── packages/shared → 共享工具
└── .agents/skills → 预定义 Agent Skills(如 code-review)
Agent 工具集包括:文件操作(读写搜索)、Shell 执行、任务管理、Skills 调用、Web 搜索。
怎么部署
两种方式:一键部署到 Vercel,或者本地开发。
一键部署(推荐):
- Fork 仓库
vercel-labs/open-agents - 在 Vercel 模板页面点"Deploy",自动创建 Neon PostgreSQL 数据库
- 生成密钥:
openssl rand -base64 32,填入BETTER_AUTH_SECRET - 创建 Vercel OAuth App,回调地址设为
https://你的域名/api/auth/callback/vercel - 创建 GitHub App 用于仓库访问、推送和 PR
- 在 Vercel 项目设置里配好所有环境变量
本地开发:
git clone https://github.com/vercel-labs/open-agents
cd open-agents
bun install
cp apps/web/.env.example apps/web/.env
# 编辑 .env 填入配置
bun run web
需要的环境变量:
| 变量 | 用途 |
|---|---|
POSTGRES_URL |
Neon 数据库连接 |
BETTER_AUTH_SECRET |
Session 签名 |
NEXT_PUBLIC_VERCEL_APP_CLIENT_ID |
Vercel OAuth |
NEXT_PUBLIC_GITHUB_CLIENT_ID |
GitHub App |
GITHUB_CLIENT_SECRET |
GitHub 密钥 |
部署完成后访问你的域名,用 Vercel 账号登录,就可以开始给 Agent 下任务了。
Open Agents 的意义不在于它本身是个多成熟的产品——它是个参考实现。真正的价值是 Vercel 把"云端 AI Agent"的架构设计完整地展示了出来:三层分离、durable workflow、可休眠沙箱、多模型路由。如果你在做类似的东西,这套架构值得认真研究。Fork 一份,改改成自己的。
作者: itech001
来源: 公众号:AI人工智能时代
主页: https://www.theaiera.cn(每日分享最前沿的AI新闻和技术)
本文首发于 AI人工智能时代,转载请注明出处。
