vercel-labs/open-agents 完全指南:在 Vercel 上运行你自己的云上 Coding Agent
📅 2026年5月8日 · 📝 Sakura · ⏱ 阅读约 12 分钟
AI 编码 Agent 越来越强了 但大多数人还在本地跑
Claude Code 在终端里用 Cursor 装个插件用 电脑一关 Agent 就停了 想让它后台跑个任务 窗口都不敢关
Vercel Labs 注意到了这个需求 他们开源了一个叫 Open Agents 的项目 是一个完整的云端编码 Agent 参考应用 GitHub 发布后迅速冲到 5000+ Stars
简单说 它让你能在 Vercel 上部署一个 AI Coding Agent 发一个消息 Agent 就在云端沙箱里写代码 跑测试 甚至自动提交 PR 你可以关掉浏览器去做别的事 Agent 跑完会通知你
为什么 Open Agents 不一样
市面上已经有很多 AI 编码工具了 它们大多是本地运行的 IDE 插件或 CLI Open Agents 换个思路——把 Agent 搬到云端
- Agent 不绑定你的电脑 — 发一个 prompt 就可以关浏览器 后台继续跑
- 沙箱隔离 — 每个 Agent 运行在独立的 Vercel Sandbox 里 不会搞乱你的本地环境
- 持久化工作流 — 多轮对话 跨步骤状态保持 Agent 可以反复执行直到完成
- GitHub 深度集成 — 自动 clone 仓库 建分支 改代码 提交 PR 全自动
- 开箱即用 — Fork -> Deploy -> 配置 OAuth 就能用了 不需要自己搭基础设施
三层架构:Web -> 工作流 -> 沙箱
─────────────────────────────
用户发消息 → Vercel 持久化执行 → 沙箱里操作文件/shell/git
Open Agents 的核心设计是三层分离 每一层各司其职
| 层级 | 职责 | 关键技术 |
|---|---|---|
| Web 应用 | 认证 / 会话管理 / 聊天界面 / 流式响应 | Next.js, Better Auth |
| Agent 工作流 | 多步推理 / 工具调用 / 状态持久化 / 流式更新 | Vercel Workflow SDK |
| 沙箱环境 | 文件系统 / Shell 命令 / Git 操作 / 开发服务器 / 预览端口 | Vercel Sandbox, 快照恢复 |
最关键的设计决策是:Agent 不在沙箱里运行
Agent 执行在工作流层 沙箱只是它的执行环境 Agent 通过文件读写、Search、Shell 命令等工具和沙箱交互 这样做带来了几个好处
- Agent 执行不依赖单个请求的生命周期 可以跨多次工作流步骤持续运行
- 沙箱可以休眠和恢复 不浪费资源
- 模型选择和沙箱实现可以各自独立演进
- 沙箱保持纯粹的执行环境 不用充当控制平面
核心能力详解
多轮对话驱动
每一个聊天请求会启动一个Workflow 运行 而不是直接执行 Agent Agent 的每一次"思考—行动—观察"循环都是一次工作流步骤 跨步骤的状态由 Vercel 持久化
你断开连接重连后 可以继续看到运行中的工作流输出 不会丢失上下文
沙箱直接可操作
Sandbox 提供完整的类开发环境
- 文件系统读写 支持大文件
- Shell 命令执行 可以运行编译、测试、lint
- Git 操作 clone、checkout、commit、push
- 开发服务器 暴露端口 3000、5173、4321、8000
- 快照机制 用基础快照启动 休眠后快速恢复
自动 Git 工作流
Open Agents 可以帮你完成从 clone 到 PR 的全链路
- 自动 clone 目标仓库到沙箱
- 在独立分支上修改代码
- 修改完成后自动 commit + push
- 可选的自动 PR 创建(偏好设置 不是强制行为)
这意味着你可以在手机上说"帮我把这个 issue 修了" 然后 Open Agents 在云端完成改代码、提 PR 的全过程
工具集
| 工具 | 用途 |
|---|---|
| 文件读写 | 读取和修改沙箱中的文件 |
| 搜索 | 全文搜索代码库 |
| Shell | 在沙箱中执行命令 |
| Task | 任务规划和分解 |
| Skill | 加载预定义的编码技能 |
| Web | 网页内容获取和搜索 |
额外功能
- 会话共享 — 生成只读链接 分享 Agent 的运行过程给同事
- 语音输入 — 通过 ElevenLabs 语音转文字 API 可以直接用语音发指令(可选)
- Auto-commit / Auto-PR — 按偏好配置 不是默认行为
手把手部署教程
部署 Open Agents 很简单 因为 Vercel 一站式托管
第一步:Fork + 一键部署
Fork 仓库 github.com/vercel-labs/open-agents
使用项目的 Deploy 按钮导入到 Vercel Neon Postgres 会自动创建
第二步:配置基础环境变量
生成一个随机密钥用于会话签名
openssl rand -base64 32
在 Vercel 项目设置中添加
POSTGRES_URL=<Neon 提供的地址> BETTER_AUTH_SECRET=<刚才生成的密钥>
部署一次获取稳定的生产 URL
第三步:配置 Vercel OAuth
创建一个 Vercel OAuth App
回调 URL 填
https://YOUR_DOMAIN/api/auth/callback/vercel
添加环境变量并重新部署
NEXT_PUBLIC_VERCEL_APP_CLIENT_ID=<OAuth App Client ID> VERCEL_APP_CLIENT_SECRET=<OAuth App Secret>
第四步:配置 GitHub App(可选 推荐)
想用 GitHub 登录和完整的 coding agent 功能 需要创建一个 GitHub App
Homepage URL: https://YOUR_DOMAIN Callback URL: https://YOUR_DOMAIN/api/auth/callback/github Setup URL: https://YOUR_DOMAIN/api/github/app/callback
添加环境变量
NEXT_PUBLIC_GITHUB_CLIENT_ID=<GitHub App Client ID> GITHUB_CLIENT_SECRET=<GitHub App Secret> GITHUB_APP_ID=<App ID> GITHUB_APP_PRIVATE_KEY=<私钥 PEM> NEXT_PUBLIC_GITHUB_APP_SLUG=<App Slug> GITHUB_WEBHOOK_SECRET=<Webhook Secret>
第五步:本地开发(可选)
git clone https://github.com/vercel-labs/open-agents.git cd open-agents bun install cp apps/web/.env.example apps/web/.env # 编辑 .env 填入所需变量 bun run web
和本地 Agent 怎么选
| 场景 | 本地 Agent | Open Agents 云端 |
|---|---|---|
| 快速原型 / 探索性编码 | ✅ 顺手 | ⚡ 也支持 但要多几秒启动 |
| 长时间后台任务 | ❌ 电脑不能关 | ✅ 关掉浏览器就行 |
| 需要隔离环境 | ❌ 可能会搞乱本地依赖 | ✅ 沙箱隔离 互不影响 |
| 团队协作 | ❌ 只看得到自己的输出 | ✅ 共享会话链接 随时查看 |
| 自动化流水线 | ❌ 需要额外编排 | ✅ 内置 Workflow + GitHub 集成 |
| 隐私 / 数据本地化 | ✅ 数据不出本机 | ⚠️ 数据在 Vercel |
两者不是替代关系 更适合的场景不同 一个负责日常快速迭代 一个负责自动化后台任务
注意事项
- 隐私 — 代码会送到 Vercel Sandbox 执行 如果你有敏感代码 要谨慎使用
- 沙箱有状态 — 沙箱会休眠 但不会自动清理 长时间不用建议手动销毁
- API 成本 — Agent 的多轮推理会消耗大量 LLM Token 注意模型选择
- Auto-PR 慎重 — 建议先审核 Agent 的改动再合并 不要完全信任自动 PR
想要一个 24/7 在线的 Coding Agent?试试 Open Agents
👉 GitHub: vercel-labs/open-agents
Fork 部署 15 分钟就能拥有自己的云上 Agent