forked from xiaohei/taiji-AI-PAD
16 KiB
16 KiB
Taiji AI Platform - 后端开发对接清单
系统架构概述
Taiji AI Platform 是一个多租户AI Agent管理平台,包含以下四个主要系统:
- 用户侧平台 (User Dashboard) -
/ - 渠道合作伙伴平台 (Channel Partner Platform) -
/channel - 超级管理员控制台 (Super Admin Console) -
/admin - 平台供应商管理中心 (Provider Management Center) -
/admin/providers
一、核心业务模块
1. 用户侧平台 (User Dashboard)
1.1 概览 (Overview) - /
功能:系统状态、Agent活动、资源消耗监控 需要的API:
GET /api/user/dashboard/stats- 获取统计数据{ "activeAgents": number, "totalRequests": number, "euBalance": number, "systemHealth": number }GET /api/user/agents/activity- Agent活动数据GET /api/user/resources/usage- 资源使用情况
1.2 服务网关 (Service Gateway) - /model-gateway
功能:选择服务网关类型(MCP/A2A/API),创建API接口 需要的API:
POST /api/gateway/select- 选择网关类型{ "gatewayType": "MCP" | "A2A" | "API" }POST /api/gateway/api/create- 创建API(支持JSON文档或URL){ "name": string, "method": "json" | "url", "content": string | File }GET /api/gateway/apis- 获取API列表GET /api/gateway/monitoring- 监控数据
1.3 数据与工具 (Data & Tools) - /data-tools
功能:数据模板管理、工具生成、Pod部署 需要的API:
POST /api/tools/generate- 生成新工具{ "name": string, "description": string, "frameworkTemplate": "MCP" | "A2A" | "API", "gateway": string, "agentCount": number, "cpu": number, "memory": number, "maxScale": number, "model": string }GET /api/tools/list- 工具列表POST /api/data-templates/create- 创建数据模板{ "name": string, "type": "json_api" | "cloud_storage", "config": { "apiUrl"?: string, "queryParams"?: Record<string, string>, "cloudProvider"?: "azure" | "gcp" | "aws", "connectionString"?: string } }
1.4 代理工厂 (Agent Factory) - /agent-factory
功能:展示和部署平台原生Agent 需要的API:
GET /api/agents/platform- 获取平台原生Agent列表POST /api/agents/deploy- 部署Agent{ "agentId": string, "instances": number, "model": string, "gateway": "MCP" | "A2A" | "API" }GET /api/agents/deployed- 获取已部署Agent
1.5 编排中心 (Orchestration Hub) - /orchestration
功能:创建工作流,最多3个Agent节点 需要的API:
POST /api/workflows/create- 创建工作流{ "name": string, "description": string, "gateway": "MCP" | "A2A" | "API", "nodes": Array<{ "agentId": string, "agentType": "platform" | "custom", "agentName": string }> // 最多3个 }GET /api/workflows/list- 工作流列表PUT /api/workflows/{id}- 更新工作流DELETE /api/workflows/{id}- 删除工作流
1.6 计费与资源 (Billing & Resources) - /billing
功能:EU余额、使用记录、充值 需要的API:
GET /api/billing/balance- 获取EU余额GET /api/billing/history- 使用历史{ "records": Array<{ "timestamp": string, "agentName": string, "duration": number, "eu": number, // 1 EU = 10秒 "cost": number }> }POST /api/billing/recharge- 充值
2. 渠道合作伙伴平台 (Channel Partner)
2.1 登录 - /channel/login
需要的API:
POST /api/channel/auth/login{ "email": string, "password": string }
2.2 概览 - /channel/dashboard
需要的API:
GET /api/channel/dashboard/stats- 渠道统计数据GET /api/channel/agents/available- 可分配Agent列表及数量
2.3 租户管理 - /channel/dashboard (Tenants Tab)
需要的API:
GET /api/channel/tenants- 租户列表POST /api/channel/tenants/create- 创建租户PUT /api/channel/tenants/{id}/resources- 分配资源{ "agents": Array<{ "agentId": string, "quantity": number }>, "models": Array<{ "modelId": string, "rpm": number, "tpm": number }>, "customAgentResources": { "cpu": number, "memory": number } }PUT /api/channel/tenants/{id}/billing- 管理计费{ "subscriptionTier": "free" | "pro" | "enterprise", "discount": number // 0-100 }
2.4 资源管理 - /channel/dashboard (Resources Tab)
需要的API:
GET /api/channel/resources/agents- Agent配额GET /api/channel/resources/models- 已分配模型POST /api/channel/resources/apply- 提交申请{ "type": "model" | "agent", "modelName"?: string, "rpm"?: number, "tpm"?: number, "agentType"?: string, "quantity"?: number, "reason": string }
2.5 计费 - /channel/dashboard (Billing Tab)
需要的API:
GET /api/channel/billing/stats- 计费统计(租户维度 + 调用记录)
2.6 设置 - /channel/dashboard (Settings Tab)
需要的API:
GET /api/channel/admins- 管理员列表POST /api/channel/admins/create- 创建管理员{ "name": string, "email": string, "password": string, "role": "billing_admin" | "operations_admin", "permissions": string[] }PUT /api/channel/admins/{id}/permissions- 更新权限
3. 超级管理员控制台 (Super Admin)
3.1 登录 - /admin/login
需要的API:
POST /api/admin/auth/login
3.2 概览 - /admin/dashboard
需要的API:
GET /api/admin/dashboard/stats- 平台全局统计
3.3 渠道管理 - /admin/dashboard (Channels Tab)
需要的API:
GET /api/admin/channels- 渠道列表POST /api/admin/channels/create- 创建渠道{ "name": string, "email": string, "commissionRate": number // 0-100 }PUT /api/admin/channels/{id}/commission- 修改佣金PUT /api/admin/channels/{id}/resources- 资源管理(模型+数据源+Agent+配额){ "models": string[], "dataSources": string[], "agents": Array<{ "agentId": string, "quantity": number }>, "customAgentResources": { "cpu": number, "memory": number }, "monthlyQuota": number, "monthlyBudget": number }GET /api/admin/channels/applications- 渠道申请列表PUT /api/admin/channels/applications/{id}/approve- 审批申请{ "approved": boolean, "reason"?: string }
3.4 资源管理 - /admin/dashboard (Resources Tab)
需要的API:
GET /api/admin/resources/models- 模型供应商列表POST /api/admin/resources/models/add- 添加模型供应商{ "name": string, "apiUrl": string, "apiKey": string, "supportedModels": string[], "rpm": number, "tpm": number }GET /api/admin/resources/agents- Agent资源列表PUT /api/admin/resources/agents/{id}- 配置Agent资源{ "cpu": number, "memory": number, "maxInstances": number }
3.5 监控 - /admin/dashboard (Monitoring Tab)
需要的API:
GET /api/admin/monitoring/agents- Agent健康状态
3.6 计费 - /admin/dashboard (Billing Tab)
需要的API:
GET /api/admin/billing/overview- 计费概览(渠道+租户+调用明细){ "channels": Array<{ "channelName": string, "calls": number, "totalEU": number, "totalCost": number }>, "tenants": Array<{ "tenantName": string, "channelName": string, "calls": number, "totalEU": number, "totalCost": number }>, "callRecords": Array<{ "timestamp": string, // 精确到时分秒 "channelName": string, "tenantName": string, "agentName": string, "duration": number, // 秒 "eu": number, // 1 EU = 10秒 "cost": number }> }
3.7 设置 - /admin/dashboard (Settings Tab)
需要的API:
GET /api/admin/roles- 角色列表POST /api/admin/admins/create- 创建管理员{ "name": string, "email": string, "password": string, "role": "billing_admin" | "operations_admin" | "super_admin", "permissions": string[] }
3.8 供应商管理中心后台 - /admin/dashboard (Provider Backend Tab)
需要的API:
GET /api/admin/providers/stats- 供应商运营数据
3.9 渠道管理中心后台 - /admin/dashboard (Channel Backend Tab)
需要的API:
GET /api/admin/channels/backend/stats- 渠道后台数据
4. 平台供应商管理中心
4.1 登录 - /admin/providers/login
需要的API:
POST /api/providers/auth/login
4.2 管理中心 - /admin/providers
需要的API:
GET /api/providers/models- 模型供应商列表POST /api/providers/models/add- 添加模型供应商(支持多云平台)GET /api/providers/data- 数据供应商(RapidAPI)
二、数据模型设计建议
1. 用户/租户表 (Users/Tenants)
{
id: string
name: string
email: string
role: "user" | "channel_admin" | "super_admin" | "provider_admin"
channelId?: string // 所属渠道
subscriptionTier: "free" | "pro" | "enterprise"
discount: number
createdAt: Date
updatedAt: Date
}
2. 渠道表 (Channels)
{
id: string
name: string
email: string
commissionRate: number
monthlyQuota: number
monthlyBudget: number
createdAt: Date
updatedAt: Date
}
3. Agent表 (Agents)
{
id: string
name: string
type: "platform" | "custom"
description: string
cpu: number
memory: number
maxInstances: number
status: "active" | "inactive" | "deploying"
createdAt: Date
updatedAt: Date
}
4. 模型供应商表 (Model Providers)
{
id: string
name: string
source: "openai" | "anthropic" | "google" | "azure" | "aws" | "openroute"
apiUrl: string
apiKey: string
supportedModels: string[]
rpm: number
tpm: number
status: "active" | "inactive"
createdAt: Date
updatedAt: Date
}
5. 资源分配表 (Resource Allocations)
{
id: string
targetId: string // channelId 或 tenantId
targetType: "channel" | "tenant"
resourceType: "agent" | "model"
resourceId: string
quantity?: number // Agent数量
rpm?: number // 模型RPM
tpm?: number // 模型TPM
customAgentCpu?: number
customAgentMemory?: number
createdAt: Date
updatedAt: Date
}
6. 计费记录表 (Billing Records)
{
id: string
timestamp: Date // 精确到秒
channelId: string
tenantId: string
agentId: string
agentName: string
duration: number // 秒
eu: number // 1 EU = 10秒
cost: number
createdAt: Date
}
7. 申请审批表 (Applications)
{
id: string
channelId: string
type: "model" | "agent"
// 模型申请
modelName?: string
rpm?: number
tpm?: number
// Agent申请
agentType?: string
quantity?: number
// 通用
reason: string
status: "pending" | "approved" | "rejected"
reviewedBy?: string
reviewedAt?: Date
createdAt: Date
updatedAt: Date
}
8. 工作流表 (Workflows)
{
id: string
userId: string
name: string
description: string
gateway: "MCP" | "A2A" | "API"
nodes: Array<{
agentId: string
agentType: "platform" | "custom"
agentName: string
order: number
}>
status: "active" | "inactive"
createdAt: Date
updatedAt: Date
}
三、认证与权限
1. JWT Token 结构
{
userId: string
role: "user" | "channel_admin" | "super_admin" | "provider_admin"
channelId?: string
permissions: string[]
exp: number
}
2. 权限列表
view:overview- 查看概览manage:tenants- 管理租户manage:resources- 管理资源view:billing- 查看计费manage:billing- 管理计费view:settings- 查看设置manage:settings- 管理设置approve:applications- 审批申请
四、环境变量配置
前端已配置的环境变量:
NEXT_PUBLIC_DATA_INGESTION_URL=http://localhost:8001
NEXT_PUBLIC_MCP_SERVER_URL=http://localhost:8000
NEXT_PUBLIC_API_GATEWAY_URL=http://localhost:80
建议后端环境变量:
DATABASE_URL=postgresql://...
REDIS_URL=redis://...
JWT_SECRET=...
ENCRYPTION_KEY=...
五、关键业务逻辑
1. EU计算规则
- 1 EU = 10秒调用时间
- 计费公式:
EU = Math.ceil(duration / 10) - 不足10秒按10秒计算
2. 资源分配层级
超级管理员
↓ 分配资源到渠道
渠道管理员
↓ 分配资源到租户
租户
↓ 使用资源
3. 服务网关选择
- 用户在创建Agent、工具、工作流时必须选择服务网关类型
- 支持三种类型:MCP、A2A、API
4. Agent部署
- 平台Agent:固定CPU(2核)、内存(4GB)
- 自定义Agent:由渠道/超级管理员分配资源
5. 工作流限制
- 最多3个Agent节点
- 支持平台Agent + 自定义Agent混合
六、国际化支持
前端已实现完整的中英文切换,后端返回数据建议:
- 错误消息使用错误码,由前端翻译
- 动态数据(如Agent名称)保持原样
- 系统消息可以包含国际化字段
七、前端已完成功能检查
✅ 用户侧平台
- ✅ 概览
- ✅ 服务网关(MCP/A2A/API选择、API创建)
- ✅ 数据与工具(数据模板、工具生成、Pod部署)
- ✅ 代理工厂(平台Agent展示、部署配置)
- ✅ 编排中心(工作流创建、最多3节点)
- ✅ 计费与资源
- ✅ 完整国际化
✅ 渠道合作伙伴平台
- ✅ 登录
- ✅ 概览(可分配Agent展示)
- ✅ 租户管理(资源分配、计费管理)
- ✅ 资源管理(模型申请、Agent申请)
- ✅ 计费(租户+调用记录)
- ✅ 设置(角色权限)
- ✅ 完整国际化
- ✅ 修改密码功能
✅ 超级管理员控制台
- ✅ 登录
- ✅ 概览
- ✅ 渠道管理(创建、佣金、资源管理、申请审批)
- ✅ 资源管理(模型供应商、Agent配置)
- ✅ 监控(Agent健康)
- ✅ 计费(三维度:渠道+租户+调用)
- ✅ 设置(角色管理)
- ✅ 供应商/渠道管理后台
- ✅ 完整国际化
✅ 平台供应商管理中心
- ✅ 登录
- ✅ 模型管理(多云平台支持)
- ✅ 完整国际化
八、待后端实现的核心功能
高优先级
- ✅ 认证系统(JWT)
- ✅ 用户/渠道/租户CRUD
- ✅ 资源分配逻辑
- ✅ 计费系统(EU计算)
- ✅ 申请审批流程
中优先级
- ✅ Agent部署管理
- ✅ 工作流执行引擎
- ✅ 服务网关路由
- ✅ 监控数据采集
低优先级
- ✅ WebSocket实时通信
- ✅ 数据模板处理
- ✅ 工具自动生成
九、API响应格式建议
成功响应
{
"success": true,
"data": { ... },
"message": "操作成功"
}
错误响应
{
"success": false,
"error": {
"code": "AUTH_FAILED",
"message": "认证失败"
}
}
十、下一步行动
-
后端团队:
- 根据此文档设计数据库Schema
- 实现认证系统
- 实现核心API端点(建议按优先级)
- 编写API文档(Swagger/OpenAPI)
-
前端团队:
- 等待后端API文档
- 对接API(替换Mock数据)
- 联调测试
- 性能优化
-
测试团队:
- 准备测试用例
- 集成测试
- 压力测试
文档版本: v1.0
最后更新: 2025-01-08
维护者: Taiji AI Platform Team