fix: 冷却模型容量不足上游

This commit is contained in:
Codex
2026-07-16 07:29:25 +02:00
parent 09c8e0da47
commit 88770e7ccd
3 changed files with 60 additions and 2 deletions
@@ -36,9 +36,9 @@ runtime:
durationMinutes: 1
description: 明确命中上游并发或速率限制时短时冷却当前账号。
- statusCode: 400
keywords: [input must be a list]
keywords: [input must be a list, selected model is at capacity]
durationMinutes: 1
description: 明确命中 Responses input 列表兼容错误时短时冷却并切换账号。
description: 明确命中 Responses input 列表兼容错误或模型容量不足时短时冷却并切换账号。
- statusCode: 500
keywords: [failed to validate api key, do request failed]
durationMinutes: 1
@@ -0,0 +1,54 @@
# R2.21 任务报告
## 结果
- owning YAML`config/platform-infra/sub2api-codex-pool.yaml`
- 通用模板:`runtime.templates[codex-upstream-failover]`
- HTTP 400 规则新增精确关键词:
- `selected model is at capacity`
- 冷却时间保持 1 分钟。
- 未修改 Sub2API 源码、版本、外部哨兵、账号优先级、容量或分组。
## 下发范围
- 通过受控 `runtime apply --accounts ... --template codex-upstream-failover` 精准更新 9 个既有模板 API-key 账号:
- `https://ai.whistlelads.com plus 0.03`ID 28
- `https://api.lwylink.xyz plus 0.05`ID 30
- `https://api.lwylink.xyz pro 0.1`ID 29
- `https://api.recurdream.com plus 0.02`ID 35
- `https://sub.yjxm1221.top plus 0.025`ID 27
- `https://sub.yjxm1221.top pro 0.06`ID 19
- `https://sub2.pokexiao.com plus 0.03`ID 31
- `https://sub2.pokexiao.com pro 0.05`ID 32
- `https://www.xiaobaishu.org plus 0.01`ID 37。
- `lyon9801 0.0`ID 15,保持 `TEMP_ENABLED=false`、0 条规则。
- 邮箱命名的非 API-key 账号保持 0 条规则。
## 验证
- 首次 dry-run
- `selected=9`
- `changed=9`
- 所有账号均为 `update`
- 没有写入。
- confirmed apply
- `writeSucceeded=9`
- `writeFailed=0`
- `reconciled=9`
- `mismatched=0`
- 批量自动对账 dry-run
- `selected=9`
- `changed=0`
- 9 个账号全部 `noop`
- 代表账号 ID 28 原生 runtime 回读:
- 类型为 `apikey`
- `pool_mode=false`
- HTTP 400 关键词同时包含 `input must be a list``selected model is at capacity`
- `duration_minutes=1`
- lyon ID 15 原生 runtime 回读确认仍未启用临时不可调度。
## 同步边界
- 整池 `codex-pool sync` dry-run 因当前主机缺少 YAML 引用的两个本地 Codex profile 文件而被受控 CLI 阻止,未产生运行面写入。
- 当前 9 个目标账号在原生 runtime 中均标记为 `runtime-manual`,因此按既有所有权规则使用精准 runtime CRUD 下发。
- owning YAML 已持久化同一通用模板;后续本地 profile 来源恢复后,正常 `sync` 会继续保持该规则。
@@ -240,6 +240,10 @@
### R2.20 [completed]
只读调查近期客户可见 `Selected model is at capacity. Please try a different model.`:使用 Sub2API 原生所有分组错误与代表 request trace 核对真实状态码、账号、模型、流式提交阶段、内置 classifier、临时不可调度规则、同账号重试和切号结果,判断能否通过官方现有配置自动切号并给出最小调优方案;不修改 Sub2API 源码、版本、runtime、YAML、外部哨兵或生产运行面,完成任务后将详细报告写入[任务报告](./details/sub2api-upstream-reliability/R2.20_Task_Report.md)。
### R2.21 [completed]
经用户明确授权,将 `Selected model is at capacity. Please try a different model.` 作为 HTTP 400 精确关键词加入 owning YAML 的通用非 auth 上游临时不可调度模板,冷却一分钟;先 dry-run 核对账号类型与既有模板归属,再按原生 runtime 显示的 `runtime-manual` 所有权通过精准批量 CRUD 下发 PK01 并自动回读对账,保持 lyon、非 API-key 账号、受保护手动账号、Sub2API 源码、版本和外部哨兵不变,完成任务后将详细报告写入[任务报告](./details/sub2api-upstream-reliability/R2.21_Task_Report.md)。
## R3 [completed]
增加 Sub2API 客户余额精准批量充值 CLI:支持从原生最近24小时用量提取活跃用户并生成每人增加20美元的补偿计划,也支持显式用户ID或账号 selector;默认 dry-run 输出完整账号、用户ID、当前余额、增额和目标余额,写入必须显式 --confirm 并自动回读对账。本轮只实现并验证 dry-run,禁止实际充值,必须等待用户再次明确授权,完成任务后将详细报告写入[任务报告](./details/sub2api-upstream-reliability/R3_Task_Report.md)。