对话稍微一长就断开连接,打开个网页界面都卡顿,处理复杂任务时电脑风扇呼呼作响,更别提指望它帮你克隆代码、自动提交PR了——光是打通本地环境和线上流程就让人头疼。
现在,一个开源项目直接帮你把“云端AI开发助手”的整套架子搭好了。你不用从零开始研究架构,只需要专注于你的智能体(Agent)逻辑本身。
这就是Vercel团队开源的 Open Agents。
它不是一个封装好的黑盒SaaS服务,而是一个可以供你参考、任你拆解和自由定制的模板项目。
它能解决什么问题?Open Agents概览
简单来说,Open Agents 是一个专门用于在Vercel上构建和运行“后台编码智能体”的参考应用。
你可以把它想象成一个Web聊天界面:你输入指令,背后的智能体就在云端开始工作。它能在隔离的沙箱环境里读写文件、运行命令、安装依赖、启动服务,最终还能帮你把修改好的代码提交回GitHub仓库。
从用户指令到代码变更的整个流程,Open Agents帮你实现了前后端交互、运行时管理、沙箱调度以及与GitHub的集成。
它的核心采用了三层架构:
Web层(负责聊天界面和用户交互) -> Agent工作流层(执行业务逻辑和工具调用) -> 沙箱VM层(提供安全、隔离的代码执行环境)
这其中最关键的一个设计是:智能体本身并不运行在沙箱内部。
Agent是外部的“决策大脑”,它通过调用一系列“工具”(比如文件读写、代码搜索、执行Shell命令等),来远程操作沙箱这个“执行身体”。
这种设计带来了几个明显的好处:
- 解耦与稳定
:Agent的执行不再受单次HTTP请求生命周期的限制,可以支持长时间运行的任务。 - 灵活调度
:沙箱可以独立地被唤醒、休眠或恢复,而不会中断或影响Agent的核心逻辑。 - 易于迭代
:你可以灵活地更换底层的AI模型或沙箱的实现方案,两者互不干扰。 - 安全保障
:VM始终只是一个纯净、受控的执行环境,而不是拥有高级权限的控制中心。
具体能做什么?几个直接可用的场景
基于上述架构,Open Agents已经实现了一些非常实用的功能,能直接应对开发中的常见痛点:
场景一:用对话驱动复杂的编码任务
这不仅仅是一个聊天机器人。它集成了文件编辑、代码搜索、执行Shell命令、管理子任务等一系列工具。你可以直接对它说:“给这个项目添加一个用户登录功能”,它就能在沙箱里开始分析、创建文件、编写代码。
场景二:任务持久化,不怕中断
任务由Vercel的Workflow SDK驱动,每一步的执行状态都会被持久化保存。这意味着即使网络断开、浏览器页面关闭,任务进度也不会丢失。重新连接后,可以从上次中断的地方继续,不用担心前功尽弃。
场景三:独立沙箱,资源按需使用
代码在一个基于快照的Vercel沙箱中运行,里面预装了Node.js等常见开发环境,并开放了3000、5173等常用端口。任务执行时沙箱被唤醒,闲置一段时间后会自动休眠,有效节省云端资源。
场景四:无缝对接GitHub,自动化工作流
它能将你的GitHub仓库克隆到沙箱,并在一个独立的分支上工作。任务成功后,可以根据你的设置自动提交更改、推送分支,甚至直接创建Pull Request,实现了从想法到代码提交流程的闭环。
场景五:便捷分享与协作回顾
每次AI助手工作的完整会话都可以生成一个只读链接。你可以把这个链接分享给同事,一起回顾AI的工作步骤和最终结果,方便进行代码审查或方案讨论。
想自己搭一个?最清晰的部署路径
这个项目鼓励你Fork后自行部署和修改。以下是根据官方文档梳理的最清晰部署步骤:
第一步:准备好基础资源
将这个仓库Fork到你自己的GitHub账号下。 创建一个PostgreSQL数据库(推荐使用Vercel平台集成的Neon服务),获取数据库连接字符串( POSTGRES_URL)。生成两个必需的密钥: # 生成 JWE_SECRET
openssl rand -base64 32 | tr '+/' '-_' | tr -d '=\n'
# 生成 ENCRYPTION_KEY
openssl rand -hex 32
第二步:将项目部署到Vercel
在Vercel控制台,通过“Import Git Repository”导入你Fork的仓库。 在项目设置的环境变量页面,至少添加以下三个核心变量: POSTGRES_URL=你的数据库连接字符串
JWE_SECRET=刚才生成的第一串密钥
ENCRYPTION_KEY=刚才生成的第二串密钥点击“Deploy”进行部署。首次部署成功后,你会获得一个生产环境域名(例如 xxx.vercel.app)。
第三步:配置用户登录功能
目前项目默认使用Vercel账号登录。你需要:
在Vercel后台创建一个OAuth应用。 在回调URL(Callback URL)中填写: https://你的域名/api/auth/vercel/callback创建成功后,记录下生成的 Client ID和Client Secret。将这两个值添加到Vercel项目的环境变量中,并重新部署: NEXT_PUBLIC_VERCEL_APP_CLIENT_ID=你的Client ID
VERCEL_APP_CLIENT_SECRET=你的Client Secret
至此,你的应用就支持用户使用Vercel账号登录了。
第四步:配置GitHub集成(实现编码能力的核心)
要让智能体真正能读写代码并提交PR,你需要创建一个GitHub App。
前往GitHub的开发者设置页面,创建新的GitHub App。 进行关键配置: - 主页URL
:填写 https://你的域名 - 回调URL
和 安装后设置URL:均填写 https://你的域名/api/github/app/callback - 权限
:根据你的需要授予权限,通常需要代码、Pull Request等的读写权限。 在“用户授权”部分,务必勾选“在安装过程中请求用户授权(OAuth)”。 如果希望支持安装到组织,建议将应用设置为公开。 创建应用后,在设置页面找到一系列密钥,将它们填入环境变量: NEXT_PUBLIC_GITHUB_CLIENT_ID=GitHub App的Client ID
GITHUB_CLIENT_SECRET=GitHub App的Client Secret
GITHUB_APP_ID=GitHub App的ID
GITHUB_APP_PRIVATE_KEY=生成的私钥(PEM格式,注意处理好换行符)
NEXT_PUBLIC_GITHUB_APP_SLUG=你的应用名称(如“my-open-agent”)
GITHUB_WEBHOOK_SECRET=生成的Webhook密钥再次部署项目。现在,用户登录后就可以将这个GitHub App安装到他自己的仓库,智能体便获得了读写代码并创建PR的权限。
完成以上所有步骤,一个功能完整的云端AI编码助手平台就搭建完毕了。你可以登录系统,连接一个仓库,开始用自然语言驱动开发任务。
总结与展望
Open Agents的核心价值在于,它把一个复杂的云端智能体系统进行了清晰的模块化拆解,并将一个可直接运行的参考实现开源。
你既可以按照教程直接部署使用,亲身体验AI辅助编程的流畅感;更值得深入的是,你可以研究其架构设计,特别是“外部Agent控制内部沙箱”这一模式。
对于希望在自己的产品中集成类似能力,或打算构建定制化AI工作流的团队来说,这是一个非常理想的起点。
项目的代码结构清晰,核心逻辑主要集中在 packages/agent 和 packages/sandbox 这两个目录中,你可以基于此快速迭代出适合自身业务场景的智能体。
如果你也对本地AI助手的种种限制感到困扰,不妨花些时间,按照上面的步骤亲手部署一个属于自己的云端助手试试看。
夜雨聆风