字
字节笔记本
2026年6月9日
Butterbase:AI 原生开源后端即服务,Supabase 替代方案
API中转
¥120
Butterbase 是一个 AI 原生的开源后端即服务(BaaS)平台,提供 Postgres 数据库、认证、存储、Serverless 函数、AI 网关、实时订阅、KV 存储、RAG 以及内置 MCP 服务器。可以视为 Supabase 的 AI 增强替代方案,支持完全自托管。
项目简介
Butterbase 由 NetGPT Inc. 开发维护,采用 Apache-2.0 协议。截至目前在 GitHub 上已获得 1,800+ stars,主要使用 TypeScript 编写(91.1%),辅以 Python、PLpgSQL 等。
最新版本 v0.2.0(2026-05-25)新增了 KV 存储功能。
核心定位:为 AI 驱动的应用提供无锁定(no lock-in)的构建模块,让 Agent 通过 MCP 工具而非胶水代码操作后端。
核心特性
数据层
- Postgres 数据平面 — 每应用独立数据库,声明式 schema(
/schema)、自动 REST 端点(/auto-api)、迁移管理 - 行级安全(RLS) — 一等公民的 RLS 策略管理,带用户隔离助手(
/rls) - KV 存储 — 区域化、配额保护的键值存储,支持 TTL、审计日志和仪表板暴露规则(v0.2.0 新增)
- 文件存储 — S3/R2 对象存储,支持预签名 URL、ACL 和异步索引(
/storage)
计算层
- Serverless 函数 — 在 Deno 运行时执行的 TypeScript 函数(
/functions) - Durable Objects — 有状态的每键 Actor,适用于聊天室、多人游戏、速率限制器、长时间运行的 Agent(
/durable-objects) - 实时订阅 — WebSocket 订阅表变更,用于实时 UI 和在线状态(
/realtime) - Edge SSR — 从源码部署 Next.js / Remix / Astro 边缘处理器
- 前端托管 — zip 或源码构建的静态/SPA 部署,支持自定义域名
AI 层
- AI 网关 — 统一端点用于 chat、embeddings、模型列表,可插拔路由适配器(
/gateway) - RAG — 托管集合、文档摄取、语义搜索和综合回答(
/rag) - 第三方集成 — 通过 Composio 访问第三方工具(
/integrations)
认证与运维
- Auth — 邮箱 + OAuth(Google、GitHub、Apple、X 等)、JWT 调优、登录后钩子、服务密钥
- 审计日志 — 跨 KV 等表面的结构化请求审计跟踪
- Webhooks — 应用事件的外部 Webhook
- 多区域迁移 — 跨区域迁移应用,保留源副本
Agent 接口
- MCP 服务器 — 所有能力以 MCP 工具暴露在
/mcp(HTTP)或 stdio(@butterbase/mcp) - Claude Code 插件 — 30+ 引导式 Skill,覆盖从想法到计划到 schema 到 auth 到函数到部署的完整链路
技术栈
| 技术 | 用途 |
|---|---|
| TypeScript / Fastify | 主 API 服务(control-api) |
| Deno | Serverless 函数运行时 |
| Python (uv) | Agent 运行时 |
| Cloudflare Workers | 前端构建器和分派器 |
| Postgres(三平面) | 控制平面、运行时平面、数据平面 |
| Redis | KV 存储后端 |
| S3 / R2 | 对象存储 |
| Astro | 文档站点 |
架构
text
┌──────────────────────────────────────┐
│ Your app · Agent · MCP client · CLI │
└────────────────┬─────────────────────┘
│ REST · WebSocket · MCP
┌────────────────▼─────────────────────┐
│ control-api (Fastify) │
│ apps · auth · schema · auto-api · │
│ RLS · storage · functions · KV · │
│ realtime · AI gateway · RAG · DOs │
│ MCP at /mcp │
└──┬─────┬──────┬──────┬────────┬──────┘
│ │ │ │ │
PG S3 Redis Deno Python
3 planes / R2 KV runtime agent rt三个 Postgres 平面:
- 控制平面 — 平台元数据:用户、应用、计费、审计
- 运行时平面 — 热路径运行时表(KV 暴露规则、实时频道、会话)
- 数据平面 — 每应用用户数据,隔离 schema + RLS
安装指南
前置要求
- Docker
- Node.js 22+
- npm
安装步骤
bash
# 克隆(含子模块)
git clone --recurse-submodules https://github.com/butterbase-ai/butterbase.git
cd butterbase
# 安装依赖
npm ci
# 配置环境
cp .env.example .env
# 启动服务栈(首次构建较慢)
docker compose -f docker-compose.local.yml up -d
# 等待控制 API 就绪
curl -sf http://localhost:4000/health/ready
# 运行数据库迁移
export NEON_PLATFORM_PRIMARY_URL=postgresql://butterbase:butterbase_dev@localhost:5433/butterbase_control
export NEON_RUNTIME_PROJECT_ID_US_EAST_1=postgresql://butterbase:butterbase_dev@localhost:5437/butterbase_runtime_us
export BUTTERBASE_REGIONS=us-east-1
npm run migrate:all
# 初始化开发用户
npm run seed:dev快速验证
bash
# 创建应用
curl -X POST http://localhost:4000/init \
-H "Content-Type: application/json" \
-d '{"name": "my-app"}'
# 列出应用
curl http://localhost:4000/apps本地服务端口
| 服务 | 地址 |
|---|---|
| Control API | http://localhost:4000 |
| MCP(HTTP) | http://localhost:4000/mcp |
| Deno 运行时 | http://localhost:7133 |
| 文档站点 | http://localhost:4321 |
| 控制平面 Postgres | localhost:5433 |
| 数据平面 Postgres | localhost:5435 |
| 运行时 Postgres | localhost:5437 |
| LocalStack (S3) | http://localhost:4566 |
开源 vs 托管
开源版本包含完整的运行时数据平面——自托管所需的一切。托管版本(butterbase.ai)额外提供多区域编排、计费、AI 路由适配器和运维仪表板。
自托管时,AI 网关不包含上游路由适配器,计费使用 no-op 提供者,配额无限。可通过 BillingProvider、QuotaEnforcer 和 RouterAdapter 接口自行实现。
项目状态
数据平面已被托管产品在生产环境验证;OSS 分发较年轻,团队欢迎自托管反馈。
项目链接
- GitHub 仓库:butterbase-ai/butterbase
- 官方网站:butterbase.ai
- Discord 社区:项目 README 中提供
- 文档:SETUP.md、CHANGELOG.md、ROADMAP.md
- 开源协议:Apache-2.0
分享: