reglow-library 后端基础库
一套核心、四语言实现的后端基础库:认证权限、组织架构、内容、支付、AI、智能客服等 34 个模块
reglow-library 是 Reglow 的后端基础库,同一套架构与 API 契约,提供 Python / Node.js / Java / Rust 四种语言实现,全部已发布到对应生态的包仓库,开箱即用。
当前版本:0.14.3(Python;Node.js / Java / Rust 为 0.14.2)。详见 更新日志。
核心设计理念:
- 一套契约,四处实现:四种语言对外暴露一致的 REST API、统一响应格式与数据权限模型
- 基础库 + 业务分离:通用能力全部在库内,业务工程只保留自己的
app//modules/代码 - 两端分离:管理端(admin)与用户端(client)API 独立分层
- 三维权限:菜单权限 + 按钮权限 + 数据权限(部门 / 本人 / 自定义范围)
四语言实现
| 语言 | 包 / 坐标 | 当前版本 | 技术栈 |
|---|---|---|---|
| Python | reglow(PyPI) | 0.14.3 | FastAPI + Pydantic + SQLAlchemy/aiomysql |
| Node.js | @reglow/reglow(npm) | 0.14.2 | Fastify + TypeScript + Knex |
| Java | tech.huoli.reglow:reglow(Maven Central) | 0.14.2 | Spring Boot 3.3 + Java 21 |
| Rust | reglow(crates.io)+ reglow-derive | 0.14.2 / 0.1.0 | axum + sea-orm/sqlx |
Java 版父 POM 为 tech.huoli.reglow:reglow,业务依赖 reglow-core / reglow-common / reglow-modules(reglow-server 为应用入口,不发布)。
统一响应契约
- 成功:
code: 0,success: true - 失败:
code: 非 0,success: false,data: null - 分页:
data: { "items": [], "total": 100, "page": 1, "size": 10 }
依赖
code==1判断成功的老版本前端需升级(配合@reglow/designv0.2.0+)。
通用模块(34 个,四语言 L2 同构)
| 类别 | 模块 |
|---|---|
| 认证与权限 | auth(登录 / 双 Token / 会话)、employee、role(角色 + 数据权限)、menu、dept、post、user(用户端账号) |
| 系统 | config、dict、log(操作 / 登录日志)、notice、message、region(行政区划)、dashboard、analytics(埋点分析)、ai_usage(AI 用量计价 / 报表)、security(审计哈希链 / 国密) |
| 内容 | article、photo(相册 / 照片)、video、material(素材 / 上传 / 存储)、agreement |
| 业务能力 | payment(支付 / 退款 / 分账 / 关单)、wechat(网页授权 / 小程序)、ai(多服务商大模型)、customer_service(智能客服 + 转人工排队 + SDK)、workflow(JSON DSL 审批) |
| 商业化与开放 | billing(套餐 / 账户 / 计量)、open_api(应用密钥 / HMAC 签名 / 配额 / 审计)、tenant(租户 CRUD + 成员)、principal(入驻主体认证)、principal_member(主体成员) |
| 智能与工坊 | skill(技能库)、studio(智能工作坊) |
核心能力:
- RBAC + 数据权限:菜单 / 按钮 / 数据三级权限,支持部门及以下 / 本人 / 自定义范围
- 多端会话:基于 Redis 的有状态会话,多端登录互斥、可强制下线
- 存储抽象:本地 / S3 / 对象存储自动切换
- 多服务商集成:短信(阿里 / 腾讯 / 华为 / Mock)、AI 大模型(DeepSeek / 阿里 / 火山 / 腾讯 / 智谱 / Kimi)、支付(微信 / 支付宝 / 银联)
- 智能客服:内置可嵌入的
sdk_template(悬浮窗 / SSE 流式 / WebSocket / 图片上传 / 满意度评价);转人工支持坐席并发容量(默认 5)、FIFO 派单、排队位次推送与GET /cs/queue-status轮询 - 多租户双轨:
DEPLOY_MODE=single_tenant|saas_multi_tenant,JWT claim →X-Tenant-Id优先级解析、fail-closed、startupGuard - AI 用量与计量:六种计价模式、峰谷档位、价格快照、XLSX/CSV 导入导出、官方价格同步
- 流程审批:
workflow提供 JSON DSL(start / approve / end 节点、条件求值、串行推进、任务审批) - 可观测性:结构化日志、健康检查、指标
快速开始
Python(FastAPI)
Node.js(Fastify)
Java(Spring Boot)
Rust(axum)
跨语言契约
跨语言必须一致的内容集中在仓库 contract/ 目录,新增或修改需与代码同 PR:
| 契约 | 内容 |
|---|---|
permissions.json | 权限码(domain:module:action)—— 同一功能点四语言必须同一个码 |
modules.json | 基础模块 × 语言矩阵与对齐级别(L1 / L2 / L3 / L4) |
tenant.json | 多租户行级隔离(列约定、上下文来源与优先级、fail-closed、准入清单) |
audit_chain.json | 等保审计防篡改哈希链(哈希规范、表结构、国密 Provider 约定) |
「四语言完全对齐」的判据是基础发行包 reglow:对齐粒度 = 模块清单 + API 契约 + 数据模型 + 行为语义,不等于代码逐行一致。AI-Native 生成能力(Schema DSL / 生成引擎 / Agent 运行时 / 评测集)自 0.6.0 起迁出为同仓库独立发行包 reglow-agent(Python-only),它是库的消费者,不是 Python 的对齐例外。
生态
- 前端基座库:
@reglow/design、@reglow/reui - 快速开发模板:
reglow-pyproject-starter/reglow-tsproject-starter/reglow-jvproject-starter/reglow-rsproject-starter - 管理端参考实现:
reglow-admin-python/reglow-admin-nodejs/reglow-admin-java/reglow-admin-rust
