乐于分享
好东西不私藏

AI 编码助手终于能直接操作数据库了:Supabase v1.26.07 更新解读

AI 编码助手终于能直接操作数据库了:Supabase v1.26.07 更新解读

MCP · MongoDB 联邦查询 · Realtime 二进制 · v1.26.07 —— supabase/supabase 七月 Developer Update 把 AI 编码代理直接接进了数据库,同时让 Postgres 能 「看到」MongoDB 里的文档。

是什么、为谁而建

Supabase 是一个以 Postgres 为核心的全栈开发平台——你可以把它理解为 Firebase 的 开源替代品,但底层选择的是企业级开源组件组合。一台 Postgres 数据库之上, Supabase 自动生成了 REST API(通过 PostgREST)、GraphQL 接口(通过 pg_graphql)、 WebSocket 实时订阅(通过 Realtime 服务)、JWT 认证(通过 GoTrue)以及 S3 兼容的 文件存储。它还提供了 Edge Functions(基于 Deno)、向量嵌入/AI 工具箱和一套完整的 管理面板。从个人项目到月活百万的应用,Supabase 都已经被大量采用(GitHub 106K Star)。核心团队维护着 JavaScript、Dart、Swift、 Kotlin、Python 等多语言客户端。 v1.26.07 版是一次偏生态连接方向的更新, 几个关键新特性都在回答同一个问题: 如何让 Supabase 更容易地融入现代开发工具链

Agent 时代的新摩擦

AI 编码助手(如 OpenCode、Claude Code、Cursor)正在快速进入开发工作流中——它们 不再是只写代码片段的玩具,而是能全程参与的协作伙伴。但一个尴尬的缺口始终存在: 这些代理几乎无法直接访问你的后端数据。你在聊天里让 Agent「看看数据库里有几条 新用户」,它只能给你一个 Python 脚本,让你自己跑;或者你需要手动配置 MCP 服务 器,把数据库端点一个个暴露给 Agent。

与此同时,很多团队的数据模型并不统一。历史数据存在 MongoDB,核心业务跑在 Postgres 上,每次跨库查询都得写 ETL 管道或在应用层做双写。实时场景也一样—— Realtime Broadcast 之前只支持 JSON 格式,而传感器数据、截图帧、二进制协议包都 需要额外的序列化处理层。这些「连接成本」在传统开发中或许能忍,但在 Agent 时代, 每一步人工拼接都拖慢了自动化闭环的速度。

本版解决了什么

v1.26.07 在三个方向上补上了这些缺口。

AI 代理直连:OpenCode MCP 集成。 本版最受关注的变化是 OpenCode(180K Star 的开源编码代理)的 Supabase 插件。在 OpenCode 中输入 /supabase 完成认证后, 代理就能直接列出你的 Supabase 组织与项目、创建新项目、调用数据库和 Edge Functions、查阅日志。背后的技术是 MCP(Model Context Protocol)——Supabase 为 OpenCode 自动配置了 MCP 服务器,代理不再需要手动拼连接字符串。如果你用其他 Agent,也可以自行对接 Supabase MCP 端点。

MongoDB 联邦查询。 Wrappers 扩展更新到 v0.6.2,新增了 mongodb_wrapper 外 部数据包装器(FDW)。一句话概括:你可以在 Postgres 里直接 SELECT MongoDB 集合。配置完成后,一条 create foreign table 就能把 MongoDB 里的 usersorders 映射成 Postgres 的虚拟表,然后直接用 SQL 做跨库 JOIN。BSON 字段自动映 射为 SQL 列,嵌套文档通过 _doc jsonb 列保留。

Realtime Broadcast 二进制约。 之前 Broadcast 只能收发 JSON 消息,现在支持 ArrayBuffer / Blob 等二进制格式。这对于传感器遥测、游戏状态快照、实时截图 流这类场景尤其有用——省去了 JSON Base64 编码和解码的开销。需要留意的是,Dart、 Kotlin、Python 客户端暂不支持,旧 SDK 会静默丢弃二进制消息,升级前请确认客户端 版本。

此外还有一些实用更新:TanStack DB 官方同步库 @supabase-labs/tanstack-db alpha 版发布,让你可以在 React 中使用 TanStack DB 的本地优先数据管理,并自动与 Supabase 表通过 PostgREST 和 Realtime 双向同步;平台审计日志支持外部导出 (Audit Log Drains);pg_graphql 默认关闭 GraphQL schema 自省以提升安全 性;log_connections 默认关闭以减少日志噪音。

为什么能实现

这三项特性背后的实现路径各有侧重,但都体现了 Supabase「开放集成、标准化扩展」 的平台思路。

MCP 集成走的是标准协议路线。OpenCode 插件本质上是 MCP 客户端的配置引导页 ——它把 Supabase 各项后端能力封装成 MCP 的 Tool 和 Resource,Agent 只需理解 MCP 协议即可交互,无需为每个数据库写专属适配。这种架构的好处是,未来接入 Claude Code、Cursor 等其他 Agent 时只需提供类似的 MCP 描述文件。

MongoDB 联邦查询靠的是 Postgres 的外表(Foreign Data Wrapper)机制。Wrappers 扩展在 Postgres 中注册了 mongodb_fdw_handler,数据库内核把对外表的选择操作 下推给该 handler,handler 通过 MongoDB 驱动(Go 版)将 SQL 谓词翻译成 MongoDB 查询语句,结果集再映射回 Postgres 的行格式。整个过程对应用透明——你在 JDBC 客户 端里写 SQL 就行,不需要接触 MongoDB 的查询语言。

Realtime 二进制支持的改动则集中在服务端消息路由层。Realtime 服务(Elixir 实现)之前对所有 payload 做了 JSON 序列化/反序列化,现在引入了一个可选的原始 字节通道,框架在握手阶段检查客户端能力声明,如果两端都支持二进制模式,就直接 传输 ArrayBuffer,跳过 JSON 编码步骤。这既降低了延迟也减小了带宽占用。

至于pg_graphql 自省默认关闭、log_connections 默认关闭这类安全与运维项, 改动都在上游扩展的配置默认值里,对大多数用户是无感的,但能减少新项目的攻击面 和日志费用。

总的来说,v1.26.07 不是一个「新增杀手功能」的大版本,而是一个让 Supabase 更 好地融入开发者已有生态的桥梁版本。AI 编码代理正在成为开发流程的标配, Supabase 选择用标准化协议对接而不是另搞一套私有的 Agent SDK;MongoDB 联邦查询 则照顾了存量 MongoDB 用户的迁移与混用需求——你不需要彻底放弃旧数据,直接 SQL JOIN 就行。