跳到主要内容
项目档案模板 / Starter

Open Agents 开源编码代理模板 - Vercel 云代理构建指南:架构、部署与使用教程

vercel-labs/open-agents:Open Agents 是 Vercel 上的开源编码代理模板,提供 Web-Agent-Sandbox 三层架构,实现从自然语言提示到代码更改本页整理它解决什么问题、适用场景、安装方式和使用方法。

5,822TypeScriptStar 于 2026年4月15日2026年9月19日 更新

AI 总结

Open Agents 是 Vercel 上的开源编码代理模板,提供 Web-Agent-Sandbox 三层架构,实现从自然语言提示到代码更改的全流程自动化,无需本地参与。

中文项目介绍

Open Agents 是一个专为云环境设计的开源编码代理参考模板,旨在简化 AI 驱动自动化编码的构建与部署。项目由 Vercel Labs 维护,采用清晰的三层分离架构:Web 层处理用户界面与会话管理,Agent 层作为持久化工作流运行代理逻辑,Sandbox 层提供隔离的执行环境。这种设计使代理执行不依赖单次请求,沙盒可独立休眠与恢复,同时允许灵活选择 AI 模型和云后端。 核心特性包括聊天驱动的编码代理,支持文件操作、代码搜索、Shell 命令、任务委派和 Web 工具;基于 Vercel Workflow SDK 的持久多步执行,具备流式输出与取消能力;隔离的 Vercel 沙盒,采用快照机制实现会话恢复;集成 GitHub 实现仓库克隆、分支操作、自动提交与 PR 创建;以及可选的语音输入(通过 ElevenLabs)和会话共享功能。 部署需配置 PostgreSQL 数据库、JWE 与加密密钥、Vercel OAuth 凭证,以及可选的 GitHub App 以实现完整仓库交互。项目使用 Bun 包管理器和 Turborepo 构建,代码严格遵循 TypeScript 规范,适合作为构建自主编码助手的起点。

详细信息与使用说明

1. 项目定位与用途

Open Agents 是 Vercel 提供的开源参考模板,用于快速构建和部署云端的编码代理(coding agent)。它并非一个封闭的黑盒应用,而是设计为可 fork 和适配的基础,帮助开发者跳过底层基础设施的重复造轮子,直接聚焦于代理逻辑与业务场景的实现。项目提供完整的 Web 界面、代理运行时、沙盒编排和 GitHub 集成,实现从用户提示到代码变更的全流程自动化,无需本地机器持续参与。适用于希望将 AI 编码能力产品化的团队或个人,也适合作为研究代理系统架构的实验平台。

2. 解决的问题

传统编码代理往往紧密耦合执行环境与请求生命周期,导致会话难以持久化、资源无法独立管理、模型迁移成本高。Open Agents 通过三层分离架构(Web-Agent-Sandbox)解决这些问题:代理在沙盒外运行,通过工具调用与沙盒交互,使代理执行不绑定单次请求;沙盒生命周期可独立休眠与恢复,降低成本;模型与沙盒实现可分别演进,避免锁定。此外,项目解决了云上安全隔离、预览端口暴露、Git 操作集成等工程难题,提供可复用的解决方案。

3. 适用场景

Open Agents 适用于多种自动化编码场景:作为 AI 编程助手,根据自然语言描述生成或修改代码;在 CI/CD 流程中自动修复测试失败或执行代码审查;响应 GitHub 事件(如 issue 创建)自动生成修复 PR;构建自定义的代码生成工具链。其设计也适合研究代理系统架构、实验不同 AI 模型或云执行后端。由于采用模板形式,开发者可基于此扩展至文档生成、测试编写、性能优化等特定领域。

4. 安装与部署要求

部署 Open Agents 需满足分层环境变量要求。最低运行时仅需数据库连接:POSTGRES_URL(如 Neon 提供的连接串)和 JWE_SECRET(用于令牌加密)。完整可用版本还需 ENCRYPTION_KEY、NEXT_PUBLIC_VERCEL_APP_CLIENT_ID 和 VERCEL_APP_CLIENT_SECRET 以启用 Vercel OAuth 登录。若需 GitHub 仓库访问、分支推送或 PR 创建,必须配置 GitHub App 相关参数:GITHUB_APP_ID、GITHUB_APP_PRIVATE_KEY、NEXT_PUBLIC_GITHUB_APP_SLUG、GITHUB_WEBHOOK_SECRET 以及 OAuth 客户端 ID/密钥。可选集成包括 Redis/KV 缓存、生产环境 URL 和 ElevenLabs 语音服务。推荐通过 Vercel 一键部署按钮快速启动,随后在项目设置中补充环境变量。

5. 使用方式与交互流程

用户通过 Web 界面登录(或使用只读链接加入共享会话),创建新会话并输入编码提示。代理以工作流形式启动,每轮交互可能跨越多个持久化步骤。代理利用文件读取、编辑、代码搜索、Shell 命令等工具与沙盒环境交互,沙盒基于基础快照启动,暴露 3000、5173、4321、8000 端口用于预览。用户可实时查看流式输出与代码差异。任务完成后,可根据偏好自动提交更改、推送分支并创建 PR。语音输入功能在配置 ElevenLabs 后可用。整个过程中,沙盒在空闲时休眠,重新连接可恢复会话。

6. 实现特点与开发规范

项目采用 Turborepo 管理 monorepo,核心包包括 @open-harness/agent(代理逻辑与工具)、@open-harness/sandbox(沙盒抽象)、@open-harness/shared(共享工具)和 apps/web(Next.js 前端)。开发严格使用 Bun 包管理器,TypeScript 开启严格模式,格式化采用 Ultracite(oxfmt)。命名约定:文件 kebab-case,类型 PascalCase,变量 camelCase,常量 UPPER_SNAKE_CASE。代理采用子代理模式:explorer 子代理负责只读研究,executor 子代理负责实施。沙盒抽象层允许替换不同云后端,当前实现基于 Vercel。代码中避免使用 .js 扩展名导入,以确保 Next.js 模块解析正确。

思维导图

Open Agents
Web 界面
认证与会话管理
聊天 UI 与流式输出
只读链接共享
设置与偏好
Agent 核心
持久化工作流
子代理模式 (explorer/executor)
工具调用与上下文
流控制与取消
Sandbox 执行
隔离环境与快照
端口暴露 (3000,5173,4321,8000)
休眠与恢复机制
Git 操作集成
工具集
文件操作 (读/写/搜索)
Shell 命令
任务委派
Web 访问
语音输入 (ElevenLabs)
部署与配置
Vercel 一键部署
环境变量 (数据库/OAuth/GitHub)
GitHub App 安装
可选服务 (Redis/KV)

常见问题

Open Agents 是什么?

Open Agents 是 Vercel Labs 维护的开源模板,用于在云上构建和运行编码代理。它提供 Web 界面、代理运行时、沙盒编排和 GitHub 集成,实现从提示到代码变更的全流程自动化,无需本地参与。项目设计为可 fork 和适配的基础,而非黑盒应用。

如何部署 Open Agents?

推荐通过 Vercel 一键部署按钮快速创建项目。随后需配置必需环境变量:POSTGRES_URL(数据库连接)、JWE_SECRET(令牌加密)、ENCRYPTION_KEY、Vercel OAuth 客户端 ID/密钥以启用登录。若需 GitHub 功能,还需设置 GitHub App 参数。详细变量列表见 apps/web/.env.example。

代理如何与代码库交互?

代理在沙盒外部运行,通过文件读取、编辑、搜索、Shell 命令等工具与沙盒环境交互。沙盒提供隔离的文件系统与执行环境,支持仓库克隆、分支操作和预览服务。这种分离设计使代理执行不绑定单次请求,沙盒可独立休眠恢复,且模型与沙盒实现可灵活替换。

是否需要 GitHub App 配置?

GitHub App 配置是可选的,但若希望用户连接 GitHub、安装应用到仓库、克隆私有仓库、推送分支或创建 PR,则必须完整配置 GitHub App 参数,包括 APP ID、私钥、Webhook 密钥等。仅使用基础聊天功能则无需 GitHub 相关设置。

支持哪些 AI 模型?

项目基于 AI SDK 构建,默认支持 Anthropic 和 OpenAI 的模型(如通过 @ai-sdk/anthropic 和 @ai-sdk/openai 包)。开发者可根据需要替换或扩展模型提供商,因为代理逻辑与模型层解耦。具体可用模型取决于所配置的 API 密钥和 SDK 版本。