Repolode
zenstackhq

zenstackhq/zenstack

面向 TypeScript 应用的数据层,提供兼容 Prisma 的 ORM、内置访问控制和自动生成的 CRUD 接口。

可替代:Prisma

Star
2,958
Fork
160
未关闭 Issue
178
最近提交
昨天

这是什么?

ZenStack 是一个面向全栈或后端 Node.js、Bun 应用的数据库工具包。它采用 schema 优先的方式,兼容 Prisma 的 schema 和查询 API。V3 版本的 ORM 基于 Kysely 构建,开发者既可以使用高层 ORM 查询,也能在需要底层控制时使用类型安全的 Kysely 查询构建器。

项目把访问控制和数据校验直接写进数据模型,权限规则与 schema 放在一起,无需分散在业务代码中。它还能自动生成 CRUD Web 接口,提供适配主流框架的适配器,生成用于前端数据请求的 TanStack Query hooks,并支持生成 Zod schema。

V3 是纯 TypeScript 实现,不依赖 Rust 或 WASM 组件,并支持多态等高级建模模式。

核心功能

  • 01兼容 Prisma 的 schema 与查询 API,底层基于 Kysely
  • 02在数据模型中内置访问控制和数据校验
  • 03自动生成 CRUD Web 接口并提供框架适配器
  • 04生成 TanStack Query hooks 用于前端数据访问
  • 05生成 Zod schema
  • 06纯 TypeScript 实现,不依赖 Rust 或 WASM 组件

适用场景

  • 构建需要行级权限规则的全栈 TypeScript SaaS 应用
  • 在保留 Prisma 查询 API 的前提下,替换 Node.js 后端中的 Prisma
  • 基于数据 schema 快速生成 CRUD 接口和前端 hooks
  • 在 ORM 之外使用类型安全的查询构建器处理复杂 SQL

快速上手

  1. 1

    使用 ZenStack 配置脚手架生成新项目

    npm create zenstack@latest my-project
  2. 2

    或使用 CLI 初始化现有项目

    npx @zenstackhq/cli@latest init

使用前须知

  • V3 是重写版本,用新的 ORM 引擎替代了 Prisma ORM,可能与早期版本存在差异。

标签

常见问题

zenstack 是什么?
面向 TypeScript 应用的数据层,提供兼容 Prisma 的 ORM、内置访问控制和自动生成的 CRUD 接口。 ZenStack 是一个面向全栈或后端 Node.js、Bun 应用的数据库工具包。它采用 schema 优先的方式,兼容 Prisma 的 schema 和查询 API。V3 版本的 ORM 基于 Kysely 构建,开发者既可以使用高层 ORM 查询,也能在需要底层控制时使用类型安全的 Kysely 查询构建器。
zenstack 可以免费使用吗?用的什么许可证?
zenstack 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
zenstack 还在维护吗?
活跃维护中。zenstack 最近一次提交是在 2026年11月6日。
zenstack 适合用来做什么?
构建需要行级权限规则的全栈 TypeScript SaaS 应用 在保留 Prisma 查询 API 的前提下,替换 Node.js 后端中的 Prisma 基于数据 schema 快速生成 CRUD 接口和前端 hooks 在 ORM 之外使用类型安全的查询构建器处理复杂 SQL
zenstack 怎么安装和运行?
使用 ZenStack 配置脚手架生成新项目: npm create zenstack@latest my-project 或使用 CLI 初始化现有项目: npx @zenstackhq/cli@latest init
在哪里获取 zenstack?
源代码和安装说明在 GitHub 上:https://github.com/zenstackhq/zenstack

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目