跳转到内容

简介

svadmin 是一个基于 Svelte 5 的无头 Admin 框架,提供构建全功能管理后台所需的所有模块。支持任意后端 — svadmin 可以连接任何 REST、GraphQL 或自定义 API。

svadmin 原生基于 Svelte 5 runes 构建,采用基于 Provider 的架构,实现关注点的清晰分离:

  • DataProvider — 对任意后端的 CRUD 操作
  • AuthProvider — 认证、身份管理、权限控制
  • RouterProvider — Hash 或 History 路由,也可使用自定义路由
  • LiveProvider — 通过 WebSocket 或 SSE 实现实时订阅
  • 🎯 Provider 架构 — 切换后端无需修改 UI 代码
  • ⚡ TanStack Query — 自动缓存、请求去重、后台刷新
  • 🧩 预构建组件 — AutoTable、AutoForm、CRUD 页面、认证页面、CommandPalette、Sheet、Drawer、StepsForm
  • 🔠 16 个字段组件 — 完整的字段显示和输入组件集(Text、Image、JSON、RichText、Combobox、MultiSelect 等)
  • 🔑 认证系统 — 9 个 Hook + 4 个毛玻璃风格认证页面
  • 📡 实时数据 — WebSocket 和 SSE 实时 Provider,支持自动重连
  • 🎨 可主题化 — 7 套配色主题、亮/暗色模式、毛玻璃效果
  • 🛡️ 访问控制 — 基于角色和属性的权限管理
  • 🔍 推断器 — 从示例数据或 OpenAPI 3.x 规范自动生成管理界面
  • 🧱 声明式 Surface — 使用可信 Svelte 组件渲染经过校验和策略约束的仪表盘协议
  • 🏷️ 资源类型注册表 — 编译时资源名称检查 + 自动类型推断
  • 🔄 变更模式 — 悲观、乐观和可撤销三种变更模式
  • 📤 数据导入导出 — CSV 导出/导入,支持批量操作
  • 🧰 工具函数 — unionFilters、unionSorters、file2Base64、getDefaultFilter、getDefaultSortOrder
  • 📦 16 个数据 Provider — REST、Supabase、PocketBase、Appwrite、GraphQL、Elysia、Drizzle ORM、Strapi、Directus、Firebase、Hasura、Sanity、Airtable、Medusa、NestJS 等
包名说明
@svadmin/coreHooks、Providers、类型、资源类型注册表、工具函数
@svadmin/ui预构建 Svelte 5 组件(表单、表格、16 个字段、shadcn)
@svadmin/surface带只读资源绑定和严格校验的声明式仪表盘
@svadmin/simple-restREST API 数据 Provider
@svadmin/supabaseSupabase 数据 + 认证 + 实时 Provider
@svadmin/pocketbasePocketBase 数据 + 认证 + 实时 Provider
@svadmin/appwriteAppwrite 数据 + 认证 + 实时 Provider
@svadmin/graphqlGraphQL 数据 Provider
@svadmin/elysiaElysia 数据 Provider(自动类型推断)
@svadmin/drizzleDrizzle ORM 数据 Provider — SQLite、PostgreSQL、MySQL、D1
@svadmin/ssoOIDC/OAuth2 SSO 认证 Provider — Okta、Azure AD、Cognito、Keycloak、Google
@svadmin/auth-utils认证工具包 — 密码哈希、会话管理、TOTP
@svadmin/sveltekitSvelteKit 集成
@svadmin/strapiStrapi CMS 数据 Provider
@svadmin/directusDirectus 数据 Provider
@svadmin/firebaseFirebase / Firestore 数据 Provider
@svadmin/hasuraHasura GraphQL 数据 Provider
@svadmin/sanitySanity.io 数据 Provider
@svadmin/airtableAirtable 数据 Provider
@svadmin/medusaMedusa Commerce 数据 Provider
@svadmin/nestjs-queryNestJS GraphQL 数据 Provider
@svadmin/nestjsx-crudNestJS CRUD 数据 Provider
@svadmin/createCLI 脚手架工具