跳到主要内容

开源项目示例:OpenVibeCoding

OpenVibeCoding 是一个基于 CloudBase 的开源 Vibe Coding 平台,完整实现了本解决方案中描述的核心架构。你可以基于它快速搭建自己的 Vibe Coding 平台。


项目概览

OpenVibeCoding fork 自 Vercel 的 coding-agent-template,进行了深度重构:

维度上游(Vercel)OpenVibeCoding(CloudBase)
架构Next.js 全栈Monorepo 前后端分离(React + Vite / Hono)
部署平台Vercel腾讯云 CloudBase
沙盒Vercel SandboxCloudBase SandBox
多租户一租户一环境,通过腾讯云 CAM 策略进行隔离

已实现的功能

Agent 运行(对应 Agent 运行

  • 多模型支持:内置 GLM、DeepSeek、Kimi、MiniMax 等模型,通过 CodeBuddy SDK 统一调用,可动态切换
  • Agent Loop:完整的 Prompt 编排 → LLM 调用 → Tool Calls 解析 → 工具执行 → 结果反馈循环
  • 会话管理:对话历史持久化到 CloudBase 数据库(vibe_agent_messages 集合),支持跨设备恢复
  • ACP 协议:基于 JSON-RPC 2.0 的 Agent Communication Protocol,前端通过 SSE 流式接收 Agent 输出(文本、思考过程、工具调用、Artifact 等)
  • 定时任务:支持 cron 表达式定义定时 Agent 任务,基于分布式锁的多实例安全调度

Sandbox 沙盒(对应 Agent 运行 - Sandbox

  • SCF 容器沙盒:基于 CloudBase 云函数(SCF)创建隔离容器,每个会话独立或共享实例
  • 完整编程能力:文件读写(兼容 e2b 协议)、Bash 执行、Git 操作
  • MCP 工具代理:沙盒内运行 CloudBase MCP Server,动态注册数据库 CRUD、云函数部署、存储管理、域名配置等工具
  • 工作区持久化:通过 Git Archive 将工作区变更推送到远端仓库,按 envId/conversationId 分支目录管理
  • 生命周期管理:创建/复用/健康检查/凭证注入/归档的完整流程

应用后端(对应 应用后端与托管

  • CloudBase 数据库:Agent 可通过 MCP 工具自动创建集合、插入数据、执行 SQL
  • 云函数部署:支持代码包和容器镜像两种部署方式,自动配置 HTTP 路由
  • 静态托管:Agent 构建产物一键部署到 CDN 加速的静态托管
  • 云存储操作:文件上传/下载/删除,支持静态托管部署
  • Web 部署 Artifact:部署成功后自动生成访问链接,以 Artifact 事件推送到前端
  • 小程序部署:支持微信小程序的 CI 构建和发布,返回预览二维码

租户隔离(对应 多租户架构

  • 两种隔离模式
    • shared 模式:所有用户共享一个 CloudBase 支撑环境(适合快速体验)
    • isolated 模式:每个用户自动分配独立 CloudBase 环境 + CAM 子用户(适合生产)
  • 凭证隔离:系统级密钥仅用于支撑环境操作,用户级操作通过 STS 签发临时凭证,scope 限定在用户自己的 envId 内
  • 临时密钥管理:有效期 2 小时,提前 5 分钟自动刷新,内存缓存

安全与管理

  • 受控信任边界:Agent Loop 持有凭证,Sandbox 无平台级密钥,所有敏感数据 AES-256-CBC 加密存储
  • 多种认证方式:本地账密、GitHub OAuth、CloudBase 身份源、API Key(Bearer sak_xxx
  • 管理后台:用户管理(创建/禁用/角色设置)、任务巡检、环境概览、资源代理访问、审计日志

技术栈

技术
前端React 19 + Vite + Tailwind CSS 4 + shadcn/ui + Jotai
后端Hono + Node.js + Drizzle ORM
数据库CloudBase 文档数据库(主)/ SQLite(本地备选)
AICodeBuddy SDK(@tencent-ai/agent-sdk)+ MCP
沙盒CloudBase SCF + TCR 容器镜像
认证JWE Session + bcrypt + Arctic(OAuth)

快速开始

# 克隆项目
git clone https://github.com/TencentCloudBase/OpenVibeCoding.git
cd OpenVibeCoding

# 一键初始化(交互式引导配置 CloudBase、CodeBuddy、TCR 等)
./init.sh

# 启动开发环境
pnpm dev

初始化流程会依次完成:Node.js 检查 → pnpm 安装 → 环境变量配置 → CloudBase 环境绑定 → CodeBuddy 认证 → TCR 镜像仓库配置 → 数据库初始化。

详细部署指南见 Setup 文档