Skip to content

Latest commit

 

History

History
190 lines (140 loc) · 5.93 KB

File metadata and controls

190 lines (140 loc) · 5.93 KB

AI账号分级管理系统

概述

基于你的需求,我已经为i8Relay平台实现了完整的AI账号分级管理系统。该系统实现了:

  • 普通套餐用户:从公共AI账号池随机分配,无专属绑定
  • 拼车套餐用户:绑定专属AI账号,享受更稳定的服务
  • 账号分级管理:不同等级的AI账号有不同的性能和限制
  • 智能资源分配:根据套餐等级和账号健康度智能分配资源

核心功能

1. 账号分级体系

  • 基础级 (basic):适用于免费和基础套餐用户,共享池使用
  • 标准级 (standard):适用于标准和拼车套餐,可绑定专属账号
  • 高级级 (premium):适用于专业套餐,高性能账号
  • 企业级 (enterprise):适用于企业用户,顶级账号配置

2. 套餐资源分配策略

套餐类型 资源分配方式 账号等级 绑定方式
免费套餐 公共池 基础级 无绑定
基础套餐 公共池 基础级 无绑定
标准套餐 优先公共池 基础级+标准级 无绑定
专业套餐 高优先级公共池 所有等级 无绑定
拼车套餐 专属绑定 标准级 专属绑定

3. 拼车套餐特色

  • 每位拼车用户独享专属AI账号(OpenAI、Claude、Gemini各一个)
  • 绑定期限30天,随套餐续费自动延期
  • 独立的请求限额和Token限额
  • 专享的健康监控和故障转移

数据库架构

核心表结构

  1. ai_accounts - AI账号池管理

    • 存储各服务商的AI账号信息
    • 账号等级、健康度、使用统计
    • 支持共享池和专属账号区分
  2. user_account_bindings - 用户专属绑定

    • 拼车套餐用户的专属账号绑定关系
    • 绑定状态、优先级、使用限制管理
    • 绑定有效期和使用统计
  3. account_usage_logs - 账号使用日志

    • 详细记录每次API调用
    • 支持按用户、账号、绑定维度统计
  4. account_health_checks - 账号健康监控

    • 定期检查账号状态
    • 支持多种检查类型(ping、配额、余额等)
  5. plan_account_quotas - 套餐账号配额

    • 定义不同套餐的账号使用权限
    • 支持按服务商和等级的精细化配额管理

部署和使用

1. 数据库迁移

# 运行AI账号系统迁移
pnpm run db:migrate-ai-accounts

该命令会:

  • 创建所有AI账号管理相关的表
  • 导入示例AI账号池数据
  • 配置套餐账号配额
  • 创建示例用户绑定

2. 管理界面

访问管理后台新增的页面:

  • AI账号管理 (/admin/ai-accounts):管理AI账号池
  • 用户绑定 (/admin/bindings):管理拼车用户的专属绑定

3. 资源分配API

系统提供了资源分配API (/api/resource-allocation):

// 请求资源分配
POST /api/resource-allocation
{
  "provider": "openai",        // 必填:AI服务商
  "model": "gpt-4",           // 可选:模型名称
  "preferredTier": "standard", // 可选:偏好等级
  "maxLatency": 2000          // 可选:最大延迟
}

// 记录使用情况
PUT /api/resource-allocation
{
  "account_id": "account_id",
  "provider": "openai",
  "model": "gpt-4",
  "input_tokens": 100,
  "output_tokens": 50,
  "total_tokens": 150,
  "cost": 0.003,
  "response_time_ms": 1200,
  "success": true
}

4. 系统维护

# 执行维护任务(更新过期绑定、重置错误计数等)
pnpm run ai-accounts:maintenance

核心业务逻辑

资源分配流程

  1. 用户请求:用户调用API请求AI服务
  2. 身份验证:验证用户身份和套餐信息
  3. 策略判断:
    • 拼车套餐 → 优先尝试专属绑定账号
    • 其他套餐 → 从公共池按优先级分配
  4. 账号选择:综合健康度、负载、等级选择最佳账号
  5. 使用限制:检查用户和账号的使用限额
  6. 返回结果:返回分配的账号信息(隐藏敏感数据)

拼车套餐自动绑定

当用户开通拼车套餐时,系统自动:

  1. 检查用户现有绑定情况
  2. 为每个主要服务商(OpenAI、Claude、Gemini)分配专属账号
  3. 设置绑定有效期(30天)
  4. 配置使用限额

健康监控和故障转移

  • 定期检查AI账号健康状态
  • 根据响应时间、错误率动态调整健康分数
  • 自动降级不健康的账号优先级
  • 支持专属账号故障时降级到公共池

安全考虑

  1. 凭据保护:AI账号的API密钥应该加密存储
  2. 权限控制:只有超级管理员可以创建AI账号
  3. 使用监控:详细记录所有API调用日志
  4. 故障隔离:单个账号故障不影响整体服务

示例数据

系统已预置了示例数据:

  • OpenAI账号:3个基础级、3个标准级、1个高级账号
  • Claude账号:2个基础级、2个标准级、1个高级账号
  • Gemini账号:2个基础级、1个标准级账号
  • 套餐配额:为每个套餐配置了相应的使用权限
  • 示例绑定:演示用户的专属账号绑定

扩展性

该系统设计充分考虑了扩展性:

  • 新服务商:轻松添加新的AI服务商支持
  • 新等级:支持增加更多账号等级
  • 自定义策略:支持按需调整资源分配策略
  • 监控扩展:支持添加更多健康检查类型
  • 统计分析:丰富的使用数据支持深度分析

总结

这个AI账号分级管理系统完全实现了你的需求:

✅ 普通套餐:公共池随机分配,无绑定 ✅ 拼车套餐:专属账号绑定,稳定服务 ✅ 账号分级:4级分级体系,精细化管理 ✅ 智能分配:基于健康度和负载的智能分配 ✅ 完整监控:健康检查、使用统计、故障转移 ✅ 管理界面:直观的管理后台界面 ✅ API接口:完整的API接口支持

现在你可以运行 pnpm run db:migrate-ai-accounts 来部署整个系统!