库 / SDK
prisma/prisma avatar
prisma/prisma

Prisma Next 重构:当 ORM 开始为 AI 代理设计接口

面向现代 TypeScript 和 Node.js 应用的类型安全 ORM。

47,608 个 Star2,537 个 ForkTypeScriptApache-2.0

秒懂

它是什么?
Prisma 8 是一次从底层重写的 TypeScript 版本,核心思路转向可扩展、可组合,并默认面向 AI 代理。本文基于仓库与文档,拆解它的安装方式、扩展机制、当前支持范围,以及谁适合现在就用。
适合谁用?
Prisma Next 适合两类人:一是想在 AI 辅助编码工作流中让代理直接操作数据模型的 TypeScript 开发者,二是想基于公开 SPI 构建数据库或查询扩展的库作者。生产环境的现有 Prisma 用户不应在 8.0 正式版发布前迁移,因为当前仅 PostgreSQL 达到 GA,MongoDB 处于早期访问,SQLite 只是概念验证。
能商用吗?
可以。Apache-2.0 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库在最近一天内有新的提交。
用什么语言写的?
主要是 TypeScript(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

Prisma 8 到底改了什么

Prisma 8 不是一次常规的大版本升级,而是用 TypeScript 重写了整个 ORM。仓库的 README 明确说,Prisma Next 的目标是默认可扩展、可组合,并且对 AI 代理友好。这意味着核心被刻意做得极小,Postgres 支持本身都是构建在公开的 SPI 之上。你不再面对一个把所有功能内建的黑盒,而是一个可以插入扩展的框架。对习惯了 Prisma 2 到 7 那种单体设计的用户来说,这是方向性的转变。

安装流程:脚手架与现有项目两种路径

新项目用 `npm create prisma@next`,交互式脚手架会选 JavaScript 框架(Next.js、Vite、Hono 等)和数据库(PostgreSQL 或 MongoDB),最后生成一个可运行的应用、一个起始 contract,以及已注册的 agent skills。现有项目则在仓库根目录执行 `npx @prisma/cli@next orm init`。这个命令会写 `prisma.config.ts`,在 `src/prisma/` 下生成 starter contract 和 `db.ts`,安装运行时,发出 contract,并注册 agent skills。文档特意强调它不碰你的框架或构建配置。两种方式都会在项目根目录放一个 `prisma-next.md` 文件,供任何代理先读。

AI 代理是设计的一等公民

Prisma Next 的安装流程会为不同代理运行时生成 `SKILL.md` 文件:`.claude/skills/<skill-name>/SKILL.md` 给 Claude Code,`.agents/skills/<skill-name>/SKILL.md` 给 Cursor、Copilot Agent 等。`skills-lock.json` 记录已安装的 skill 版本。文档给出的例子是,你描述“添加一个 `posts` 模型并关联 `users`,然后写一个查询加载每个用户最近的三篇文章”,代理会加载 `prisma-8` skill,打开 contract 和查询参考,然后端到端完成修改。这意味着 ORM 的文档和 schema 不再只给人看,还要让代理能解析。反馈流程也绕过了传统 issue 表单:代理会草拟一个结构化的 GitHub issue,你确认后提交。

扩展机制:一切都在公开 SPI 之上

Prisma Next 的核心很小,Postgres 支持本身都是扩展。仓库里已经有一些内部扩展:`@internal/extension-pgvector` 提供向量列和相似度操作符,`@internal/extension-paradedb` 提供带多种分词器的类型化 BM25 索引,`@internal/extension-postgis` 提供地理空间类型和查询。第三方扩展 `@cipherstash/prisma-next` 实现了可搜索加密和数据级访问控制。对扩展作者来说,这意味着你可以用同样的 SPI 接入自己的数据库或库。但要注意,这些扩展大多标记为 `@internal`,说明 SPI 本身可能还不稳定,文档也承认 API 会随社区反馈演变。

数据库支持:PostgreSQL 是唯一 GA

Prisma 8 当前只把 PostgreSQL 带到正式可用状态。MongoDB 是早期访问,用来证明框架能跑在 SQL 之外。SQLite 只是概念验证。MySQL 要等后续版本,具体时间要看 ROADMAP。这个取舍很直接:团队选择先在一个数据库上打磨 SPI 和扩展机制,而不是同时维护多个数据库适配器。如果你的生产环境依赖 MySQL,这一版对你没有价值。即便用 PostgreSQL,也要记住只有核心是 GA,周边扩展和 agent skill 的成熟度参差不齐。

明确的使用边界与风险

README 自己说 Prisma Next 处于 Early Access,API 还会变,不建议用于生产负载。这是诚实的表述。实际限制包括:Node.js 必须 24 或更新,这比很多现有项目的运行时要求高。另外,`init` 命令会生成 `prisma.config.ts` 和 `src/prisma/` 下的文件,如果你的项目已经有一套 Prisma schema,迁移路径没有在文档中说明。还有一个容易被忽略的点:`skills-lock.json` 锁定了 skill 版本,意味着升级 ORM 时可能要同步更新这个文件,否则代理可能加载到不匹配的 skill。

与 Prisma 7 的对比:该选哪条分支

Prisma ORM 7 仍然存在于 `v7` 分支,npm 上的 `prisma` 和 `@prisma/*` 包继续从那里发布。所以现有用户不会被迫升级。Prisma 7 是成熟的、经过验证的 ORM,而 Prisma 8 是重构后的新框架,两者在架构上完全不同。Prisma 7 是完整的单体,Prisma 8 是带扩展点的核心。如果你的项目需要稳定、文档齐全、社区插件多的 ORM,v7 是安全选择。如果你愿意接受 API 变动,并且想参与塑造一个面向 AI 代理的 ORM,可以试试 Next。但不要把两者混用,它们不是同一个包。

维护成本与许可证考量

Prisma 8 采用 Apache-2.0 许可证,这对商业使用友好,但要注意扩展生态的许可证各不相同,比如 `@cipherstash/prisma-next` 是第三方产品,需要单独评估。维护成本方面,由于核心被刻意做小,升级时你需要关注 SPI 的变化,而不是整个 ORM 的行为。`skills-lock.json` 的存在意味着每次升级都要检查 skill 版本是否匹配,这是一个额外的维护点。另外,由于项目处于早期访问阶段,新版本发布频繁(release 记录显示 v8.0.0-rc.6 到 rc.8 只隔一天),API 可能在不同 RC 之间变化。生产环境使用前,至少等 8.0.0 正式版发布,并查看 CHANGELOG 确认 SPI 是否稳定。

编辑结论

Prisma Next 适合两类人:一是想在 AI 辅助编码工作流中让代理直接操作数据模型的 TypeScript 开发者,二是想基于公开 SPI 构建数据库或查询扩展的库作者。生产环境的现有 Prisma 用户不应在 8.0 正式版发布前迁移,因为当前仅 PostgreSQL 达到 GA,MongoDB 处于早期访问,SQLite 只是概念验证。着手尝试前,先确认你的 Node.js 版本不低于 24,并检查 `prisma.config.ts` 中数据库连接与现有 schema 的迁移路径。如果项目重度依赖 MySQL,或需要稳定的生产 API,继续使用 v7 分支,直到 MySQL 支持进入路线图。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记