ByteNoteByteNote

字节笔记本

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)
DenoServerless 函数运行时
Python (uv)Agent 运行时
Cloudflare Workers前端构建器和分派器
Postgres(三平面)控制平面、运行时平面、数据平面
RedisKV 存储后端
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 APIhttp://localhost:4000
MCP(HTTP)http://localhost:4000/mcp
Deno 运行时http://localhost:7133
文档站点http://localhost:4321
控制平面 Postgreslocalhost:5433
数据平面 Postgreslocalhost:5435
运行时 Postgreslocalhost:5437
LocalStack (S3)http://localhost:4566

开源 vs 托管

开源版本包含完整的运行时数据平面——自托管所需的一切。托管版本(butterbase.ai)额外提供多区域编排、计费、AI 路由适配器和运维仪表板。

自托管时,AI 网关不包含上游路由适配器,计费使用 no-op 提供者,配额无限。可通过 BillingProviderQuotaEnforcerRouterAdapter 接口自行实现。

项目状态

数据平面已被托管产品在生产环境验证;OSS 分发较年轻,团队欢迎自托管反馈。

项目链接

分享: