Merge pull request #2280 from pikasTech/ops/sub2api-capacity-cooldown
fix: 冷却模型容量不足上游
This commit is contained in:
@@ -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)。
|
||||
|
||||
Reference in New Issue
Block a user