mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-10-07 14:58:23 +08:00
ErrorPolicySkipped(池模式、或自定义错误码未命中)原来在响应写出上 自成一派:v1beta 原生把上游 4xx 硬改 500 后原文透传,/v1/messages 硬传 500 进映射(客户端拿到 502)。下游网关据此把请求级错误当可重 试的服务端故障反复换号,耗尽后改写成 All available accounts exhausted(2026-08-17 gemini 生产事故链)。现对齐 OpenAI 路径语义: - Skipped 只豁免账号状态标记,不豁免换号:可 failover 状态码一律 返回 UpstreamFailoverError(poolModeSkippedFailoverError 泛化为 skippedErrorPolicyFailoverError,同账号重试标记仍仅池模式携带) - 池模式的不可 failover 4xx 保真:v1beta 原码+原文透传(新 writeGeminiNativeUpstreamError 与 ErrorPolicyNone 共用同一写出, 并补记 ops 事件),/v1/messages 与 chat completions 按真实状态 码映射 - 自定义错误码未命中且不可 failover:三路径统一 500 + "Upstream gateway error" 固定文案,上游细节仅记 ops 错误日志 - 400 属确定性请求错误:mapped 写出回传脱敏后的上游 message,客户 端可据此定位非法字段