Firebase JavaScript SDK 13.0.0 于 10 月 7 日发布。对大多数人是常规升级,但对用了 AI Logic 的团队,这是一次破坏性更新。
主要变化
VertexAIBackend被移除,BackendType.VERTEX_AI一并移除。Part类型被重构。- Firestore 新增 BSON 类型支持。
如果你在用 AI Logic
VertexAIBackend 没了,替代方案是用 AgentPlatformBackend,它的默认 location 现在变成了 global。
这不是简单换个名字。默认 location 从区域变成 global,会影响数据驻留和延迟特征。如果你的应用有明确的区域合规要求,升级后必须显式指定 location,否则可能不符合原来的合规假设。
Part 类型重构的影响面
Part 是多模态消息的基本单元。它一改,所有构造多模态输入的代码都要跟着改。
排查方法:全局搜 Part、inlineData、fileData 这些关键字,逐个对照新类型定义核对。
Firestore BSON 类型是新增能力 这一条是加分项,不是破坏项。BSON 类型让 Firestore 能存更丰富的二进制和特殊数值类型,对需要精确保存数值精度(比如金额、时间戳)的场景有帮助。
升级步骤建议
- 先在非生产分支升,跑一遍完整类型检查。TS 项目能第一时间暴露
Part相关的问题。 - 全局搜
VertexAIBackend和VERTEX_AI,全部替换成AgentPlatformBackend。 - 显式指定 backend 的 location,不要依赖默认值。
- 重点回归测试所有多模态输入路径——发图、发文件、发音频。
- 确认 Firestore 读写没有因为 BSON 类型引入意外的序列化差异。
一个容易漏的点 如果你的代码里有对 backend 类型的运行时判断(比如 typeof 检查或者枚举比较),升级后这些分支会静默走错。类型检查抓不到运行时的枚举行为变化,必须手动过一遍。
什么时候先别升 项目正在发布窗口期,或者 AI Logic 相关功能正在线上跑且没有完整回归用例——先把升级排到窗口期之后。这类 SDK 大版本不适合在紧急发布前引入。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。