mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-10-27 16:07:02 +00:00
上游 Do/DoWithTLS 返回非 HTTP 错误(代理/DNS/TCP/TLS)时,Anthropic 五条转发路径 (forward/apikey 透传/Bedrock/ForwardAsResponses/ForwardAsChatCompletions)原先 直接向客户端写 502 且不换号,单账号网络故障期间该账号仍持续被调度,请求全量失败。 对齐 OpenAI 侧 handleOpenAIUpstreamTransportError 的既有语义: - 传输层错误统一返回 *UpstreamFailoverError(502),由 handler failover 循环换号, 耗尽后才向客户端渲染错误;service 不再写响应 - 持久性故障(connection refused/no route/DNS not found/代理认证失败)额外临时 摘除账号 10 分钟(仅写库,Anthropic 调度以持久化状态为准,无内存快路径) - context.Canceled 保持原样返回:不换号也不摘账号 - 分类器改为平台无关命名(classifyUpstreamTransportError)供两侧共用 - Ops 错误事件保留各路径原有字段(UpstreamURL/DurationMs/Passthrough)