feat: scaffold ai gateway identity and design
This commit is contained in:
@@ -4,10 +4,10 @@
|
||||
|
||||
## 技术选型
|
||||
|
||||
- 后端:Go + PostgreSQL,复用 Agent memory 的 `easyai-pgvector`,保留 `server-main` 的 JWT / API Key 授权语义。
|
||||
- 后端:Go + PostgreSQL 18,复用 Agent memory 的 `easyai-pgvector`,支持本地用户、可选邀请码、API Key、余额/充值闭环,也支持复用 `server-main` 的 JWT / API Key 授权语义。
|
||||
- 前端:React + TypeScript + TSX,UI 体系按 `shadcn-ui` / Radix / Tailwind 方向沉淀,先提供运维控制台骨架。
|
||||
- Monorepo:Nx 负责任务编排,Go 使用 `go.work` 管理模块。
|
||||
- 集成:完成后由 `easyai-server-main` 通过内部 HTTP SDK 直连本服务,前端经网关访问本服务。
|
||||
- 集成:完成后由 `easyai-server-main` 通过内部 HTTP SDK 直连本服务;任务实时进度由 Gateway 回调 `server-main`,再通过原 WebSocket 网关推送给业务前端。
|
||||
|
||||
## 目录
|
||||
|
||||
@@ -33,7 +33,8 @@ pnpm dev
|
||||
|
||||
- API: `http://localhost:8088`
|
||||
- Web: `http://localhost:5178`
|
||||
- PostgreSQL: 默认使用宿主机 `localhost:5432` 上的 `postgres` 容器,并使用独立库 `easyai_ai_gateway`
|
||||
- PostgreSQL: 目标版本 18,默认使用宿主机 `localhost:5432` 上的 `easyai-pgvector` 实例,并使用独立库 `easyai_ai_gateway`
|
||||
- 身份模式: 默认 `IDENTITY_MODE=hybrid`,可同时测试 Gateway 本地账号注册登录、可选邀请码和 `server-main` JWT / API Key 对接。
|
||||
|
||||
默认 EasyAI 部署里,`easyai-pgvector` 在容器网络内的连接串是:
|
||||
|
||||
@@ -52,9 +53,9 @@ AI_GATEWAY_DATABASE_URL=postgresql://easyai:easyai2025@localhost:5432/easyai_ai_
|
||||
## 迁移原则
|
||||
|
||||
1. 新服务先并行运行,不直接删除 `easyai-server-main` 内现有模块。
|
||||
2. 授权先复用 `server-main` 的 JWT secret、claim、角色权限模型。
|
||||
3. OpenAPI `sk-*` 校验、文件上传、扣费结算仍由 `server-main` 承担。
|
||||
4. 网关服务负责基准模型库、平台模型路由、TPM/RPM/并发限流、任务队列、三方平台执行、任务进度推送。
|
||||
2. 身份域支持 `standalone`、`server-main`、`hybrid` 三种模式;独立模式由 Gateway 维护租户、用户、用户组、本地 API Key、余额和充值订单,接入模式从 `server-main` 同步租户、用户和用户组。
|
||||
3. OpenAPI `sk-*` 校验、文件上传、扣费结算在接入模式下仍由 `server-main` 承担;独立模式走 Gateway 本地闭环。
|
||||
4. 网关服务负责基准模型库、平台模型路由、用户组调用折扣、TPM/RPM/并发限流、任务队列、三方平台执行、任务进度事件和回调 outbox。
|
||||
5. 切流时优先让 `server-main` 的 `OpenaiService` 变成薄门面,内部调用本服务。
|
||||
|
||||
详细设计见 [docs/design.md](docs/design.md)。
|
||||
|
||||
Reference in New Issue
Block a user