Skip to content

Commit 82d1998

Browse files
committed
feat: 支持账号等级号池与 API Key 多分组路由
- 新增 OpenAI 账号等级能力 - 为 accounts 增加 account_level 字段,支持 unknown/free/plus/pro - 为 groups 增加 required_account_level 字段,支持按账号等级限制 OpenAI 分组 - 增加账号等级归一化与合法性校验,创建、编辑、批量更新账号时校验等级与分组要求 - 调度可用账号查询按分组 required_account_level 过滤,避免不同等级账号混用 - 新增 API Key 多分组路由 - 新增 api_key_group_routes 表、Ent schema、迁移、索引和历史 group_id 回填 - API Key 支持配置多个 group route,包含 priority、weight、enabled、cooldown_seconds - 创建/更新 API Key 时校验路由分组权限、去重、默认值和主 group_id 推导 - API Key 查询、鉴权缓存、按分组统计、分组删除/迁移逻辑均兼容 group_routes - 鉴权快照升级到 v8,缓存中包含 group route 及分组浅层信息 - 增强网关多路由调度与失败切换 - Anthropic/OpenAI gateway、chat completions、responses、images、websocket 等入口接入 API Key 分组路由游标 - 按当前路由分组重新解析 channel mapping、订阅、账单资格和 sticky session - 当账号选择失败、上游失败或当前分组不可用时,按路由优先级/权重切换到下一个分组 - 记录路由成功/失败状态,并加入冷却与熔断逻辑,减少异常分组反复命中 - 订阅分组缺少有效订阅时直接失败,不再回退余额计费 - 调整用量计费与分润结算 - UsageBillingCommand 增加 usage occurred 时间口径,优先使用 usage log 创建时间 - 账号共享分润快照同时支持 owner_share_ratio 与 invite_share_ratio - 邀请收益按 usage 发生时间判断邀请关系有效期,避免按结算时间误判 - 分润明细增加邀请人、邀请比例、邀请收益、平台比例等字段 - 移除旧充值返利 applyAffiliateRebateForOrder 空实现及相关占位逻辑 - 增强邀请收益与后台管理 - 新增管理员补绑/更换邀请人接口,支持选择是否重置邀请收益有效期 - 邀请关系统计按绑定时间排序,并修正自邀请、无效用户等边界校验 - 专属邀请配置列表聚焦自定义邀请码,弱化旧充值返利比例配置 - 前端邀请页文案从“充值返利”调整为“共享号池消费邀请收益” - 增加账号容量池看板 - 后端复用账号额度汇总 builder,支持用户自己的容量池与平台共享容量池 - 用户频道状态页新增“我的账号容量池”和“平台共享容量池”展示 - 将 AccountQuotaDashboard 组件从 admin 目录迁移为 account 通用组件 - 更新前端 API、类型和页面交互 - 前端类型补充 account_level、required_account_level、group_routes、邀请收益结算字段 - API Key 页面新增多分组路由开关、路由列表、优先级、权重、冷却和启用状态配置 - 分组管理页支持设置 OpenAI required_account_level,并在列表中展示等级标签 - 账号创建/编辑弹窗支持选择 OpenAI 账号等级 - 收益分成策略面板支持邀请分成比例,并校验 owner + invite 不超过 100% - 结算明细展示邀请人、邀请收益、邀请比例和平台比例 - 自定义菜单项支持 open_in_new_window 配置 - 补充与调整测试覆盖 - 更新 API Key、Group、Bulk Update、账号仓储、分组权限契约等测试 - 新增 route subscription 相关单元测试 - 调整 fixtures 与集成测试以覆盖账号等级、分组路由和新结算口径
1 parent 0e642d9 commit 82d1998

107 files changed

Lines changed: 10518 additions & 1719 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

backend/ent/account.go

Lines changed: 12 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/ent/account/account.go

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/ent/account/where.go

Lines changed: 70 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/ent/account_create.go

Lines changed: 70 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/ent/account_update.go

Lines changed: 44 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)