Files
sub2api-overdraft/backend
DaydreamCodingandClaude Opus 4.8 217f85999c fix(openai): /responses 传输层错误转 failover + 持久故障临时摘除账号
代理/网络等传输层失败(Do/DoWithTLS 返回 error、无 HTTP 状态码,例如 SOCKS5
代理凭据过期返回 "username/password authentication failed")此前直接写
502 "Upstream request failed" 并返回普通 error:既不 failover 到健康账号,
也不摘除故障账号,导致同一坏账号被反复调度、大量用户持续收到 502。

- 新增 classifyOpenAITransportError:typed-error 优先
  (ECONNREFUSED/EHOSTUNREACH/ENETUNREACH、*net.DNSError.IsNotFound)
  + 字符串兜底(SOCKS5 认证失败无 typed 形式)区分持久 vs 瞬时。
- 新增 handleOpenAIUpstreamTransportError:记录 ops 错误;对持久故障调用
  SetTempUnschedulable(10min,DB) + 内存 BlockAccountScheduling 摘除账号并打
  稳定 WARN 事件;统一返回 *UpstreamFailoverError 让 handler 切换到健康账号;
  context.Canceled(客户端断开)不 failover、不摘除。
- /responses 主路径、passthrough、chat-completions 回退三处统一接入共享 helper。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-07 22:31:45 +08:00
..
2026-06-03 09:48:46 +08:00
2026-06-03 14:24:50 +08:00