文档首页/组织、团队、个人与 API Key 额度管理

组织、团队、个人与 API Key 额度管理

额度按 组织 → 团队 → 个人 → API Key 逐级分配。当前金额单位为 USD,额度使用累计消费金额,不会自动按月重置。项目额度是额外消费上限,不构成另一套可分配资金。

固定额度与共享额度

  • 设置数字:累计消费上限,未使用部分为该节点保留。同级固定额度总和不能超过上级可分配金额。
  • 留空(API 中为 null):共享上级尚未消费、尚未保留给其他节点的余额,不能绕过上级上限。
  • 设置 0:禁止该节点消费。
  • 组织留空:根组织不设金额上限;下级仍须遵守各自上限。

组织额度为 1,000 时,可以建立 500、300、200 三个团队;再分配 1 会被拒绝。若团队 A 为 600,其中个人甲分配 400,个人乙留空,则乙及其他共享成员共同使用剩余 200。甲消费 100 后,甲剩余保留额为 300,乙的共享池仍为 200。

校验公式:当前节点已消费金额 + 各下级未消费保留金额 ≤ 当前固定额度。共享节点递归传递其固定后代的保留金额。删除或缩小额度只能释放未使用部分,已消费金额不会退回上级。分配失败会回滚额度写入,并发管理分配通过数据库事务串行校验。

个人与 API Key

每个人最多属于一个团队。Key 只属于用户,不存团队归属;调用时计入该用户当前的唯一团队和组织,路由模板选择仍沿原规则处理。

API Key 从所属个人额度分配;个人额度留空时,个人和其所有 Key 共同受团队剩余额度约束。个人下 Key A 固定为 100、Key B 留空,则 Key B 使用个人未保留给 A 的余额。个人额度也留空时,固定 Key 的保留金额继续占用团队的可分配金额。所有 Key 加上会话推理共同计入个人消费,不能通过创建更多 Key 增加额度。

团队管理员在成员编辑中设置个人额度;组织管理员创建本组织团队并分配团队额度;平台管理员设置组织额度。额度权限不授予账号角色修改或模型权限扩大能力。

只有一种用户和一种 API Key。没有业务 Key、服务账号或特殊应用用户。程序需要独立 Key 时,创建普通用户后为该用户创建普通 Key,遵守完全相同的权限和限额规则。

不限额业务

需要完全不限额的业务,应建立独立组织及独立团队,将组织、团队、用户和 Key 的金额额度均留空。有限组织下的空额度团队仍共享组织余额;有限团队下的空额度个人仍共享团队余额。

人员调整与历史

转团队前必须先退出原团队。退出后保留个人额度和个人密钥;后续请求按当前成员关系、密钥绑定范围与计费授权校验,不能继续使用已失去的团队权限。历史消费留在原团队和组织,个人累计消费继续保留,加入新团队时只为个人未使用额度分配余额。删除团队解除成员归属并保留个人凭据,独立个人额度继续生效。没有团队且个人额度留空时,个人不设金额上限。

停用或过期 Key 的固定额度仍保留;删除 Key 或降低额度才释放未用部分。将额度降低到已消费及下级保留之下会被拒绝。重置 Key 消费会增加其未用保留额度,必须重新通过父级校验,不会重置个人、团队或组织账单。

RPM / TPM 分配

RPM(每分钟请求数)和 TPM(每分钟估算 Token 数)在组织、团队、个人和 API Key 页面分别设置,两个维度独立校验,同样沿 组织 → 团队 → 个人 → API Key 分配。

  • 数字是每分钟固定分配,所有直接下级固定分配之和不能超过本层上限;留空的中间层向上透传其固定后代的分配。
  • 留空或 null 共享上级未保留的容量,0 禁止调用。没有有限祖先才表示不限额。整数范围为 0–2,147,483,647。
  • 例如团队 100 RPM,甲 40、乙 40、丙留空:丙及其他留空成员共用剩余 20。甲当分钟用了 10 后,其余 30 仍为甲保留,不会被丙用掉。
  • Key 的固定分配之和不能超过个人;会话推理和留空 Key 使用个人共享池。个人留空也不能绕开团队或组织的固定分配。
  • 管理保存先校验再提交;超配返回 400 rate_allocation_exceeded,所有字段(包括一起修改的角色)回滚。设置个人上限或加入团队时也检查已有 Key 分配。
  • 计数按 UTC 自然分钟归零,每次放行沿唯一归属路径计数;全部层通过后才原子增加计数,429 拒绝不占用 RPM 或 TPM,也不调用上游。切换 Key、编辑上限或退出团队不会清空当分钟已有计数。
  • TPM 使用网关入站估算(文本长度与请求结构开销),不是供应商最终分词结果,不包含最终输出 Token 的结算。不要把 TPM 理解为供应商账单的精确 Token 上限。
  • 当分钟已有消费后再调整分配,配置满足分配之和仍可能暂时无法调用;当前用量加兄弟未用保留容量也要满足新上限,下一分钟恢复。
  • 停用或过期 Key 的分配继续保留,删除或清空分配才释放;人员退出释放对原团队的后续分配,原团队当分钟已用计数不退回。完全不限额业务需要四层的金额、RPM、TPM 都留空。

Redis 使用原子脚本共享多实例分钟计数;未配置 Redis 时仅在当前网关进程内计数,重启会重置,多个进程不会共享。Redis 故障返回 503 并停止调用,不自动降级放开限制。

运行边界

额度检查发生在请求进入供应商之前;达到上限或共享池用完返回 403 budget_exceeded,不再调用供应商。供应商最终费用在响应后结算,单次最终价格及同时在途请求可能使累计消费略超上限。本规则保证管理分配不超配,不是供应商费用的预付费硬余额锁。外部异步任务以最终结算价格为准。

唯一团队关系由 team_members.user_id 的 UNIQUE 约束保证。

页面设置入口

层级 新建与编辑入口 可设置项
组织 组织页面新建组织;组织详情 → 设置 → 编辑设置 金额限额、RPM、TPM
团队 团队页面新建团队;团队详情 → 设置 → 编辑设置 金额限额、RPM、TPM
个人 用户页面新建用户;用户详情 → 编辑用户;团队详情 → 成员 → 编辑个人限额 金额限额、RPM、TPM
API Key API Key 页面创建密钥;密钥详情 → 设置 → 编辑设置 金额限额、RPM、TPM

新建用户最多选择一个团队。团队成员入口与用户详情修改的是同一份个人限额。每个页面提供层级说明、留空共享和 0 禁用提示;保存时后台检查所有相关上下级,超配保留原值并显示错误。

开发维护、校验公式、完整代码链路和分层测试入口见 额度链路实现与验证。

输入关键词搜索全文,例如:预算、路由、Docker