AI API Gateway Platform - 将 AI 订阅配额分发和管理
本版让同一 API Key 绑定多个分组,按请求选择可用分组,并在账号管理中展示上游声明的各组倍率;同时补齐模型广场的账号池模型,并修复自定义页面 URL 透传主登录凭据的问题。以下为本 fork 自有功能与修复。
API Key 多分组自动选择
- 创建或编辑 Key 时可选择最多 20 个有权使用的分组。每个新请求排除停用、无权限、订阅额度不足、模型受限或无可调度账号的分组,在有空闲容量的候选中优先选择有效倍率较低的分组,同倍率优先低负载,完全相同时随机分配。所有候选繁忙时沿用所选分组的排队机制。PR #479
- token 请求计入用户专属倍率与高峰倍率,图片和视频比较各自独立倍率。比较分组倍率不代表保证最终价格最低,实际费用仍取决于所选分组的模型/渠道价格和用量;已开始的请求与已建立的 WebSocket 保持原计费归属。
- 旧 Key 和只提交
group_id的客户端继续使用单分组;新客户端可通过group_ids提交完整集合。多分组自动选择适用于普通主站网关,使用区域本地鉴权快照的网关会明确拒绝多分组请求。配置与 API 兼容规则见使用说明。
上游多个分组的倍率声明
- 账号管理的“上游渠道声明”支持展示上游 Key 的倍率范围,以及可展开的分组名称、倍率和高峰时段明细。数据来自上游
/v1/sub2api/billing,与账号在本地加入的分组分开显示;上游必须支持多分组声明协议,升级消费端不会自动发现旧上游未声明的其他分组。PR #479 - 单分组声明保持 schema v1,多分组返回 schema v2。识别到多分组声明时停止自动回写单一账号倍率和成本倍率,保留管理员已有设置及同步偏好,避免把任意分组价格误写为固定成本。上游恢复单分组声明后可恢复原同步行为。
模型广场与页面安全修复
- 模型广场合并网关账号目录与渠道配置,展示有可调度账号但未配置渠道定价的模型;平台隔离、分组白名单和账号分组模型限制继续生效,不把通配符模式作为可调用模型卡片展示。目录枚举不向上游发起模型发现请求,现有计费解析继续用于展示价格。PR #473
- 自定义页面 iframe 和新窗口地址停止传递主登录 JWT,并移除历史
token参数;来源地址去掉 query 和 fragment,iframe 使用no-referrer,新窗口使用noopener noreferrer。依赖旧参数登录的外部页面须改用独立认证;user_id只是显示上下文,不能作为授权凭据。本版未提供自动 SSO 或专用票据交换接口。PR #478,集成说明
升级注意
- 新增迁移
291_api_key_groups.sql,建立额外分组关联表,保留api_keys.group_id兼容旧客户端。回退二进制不会撤销此表;旧版仅识别主分组,已启用多分组的 Key 在降级后不再按额外绑定路由。 - 使用区域本地鉴权网关的实例,升级后仍应使用单分组 Key。启用多分组前确认实际网关部署方式,并核实消费上游倍率声明的系统支持 schema v2。
- 外部自定义页面如依赖 URL 中的主登录 JWT,需先完成认证迁移。
📥 Installation
Docker:
# GitHub Container Registry
docker pull ghcr.io/ranxi2001/sub2api:2.13.0One-line install (Linux):
curl -fsSL https://raw.githubusercontent.com/ranxi2001/sub2api/v2.13.0/deploy/install.sh | sudo bash -s -- install -v v2.13.0Manual download:
Download the appropriate archive for your platform from the assets below.
K3s gateway upgrade (on each existing single-node host):
curl -fsSL https://raw.githubusercontent.com/ranxi2001/sub2api/v2.13.0/deploy/upgrade-k3s.sh | sudo bash -s -- --version v2.13.0Defaults: namespace tosky-canary, Deployment tosky-nerd; override with --namespace NAME --deployment NAME.
Upgrade every instance sharing Redis to this release.