wucm667
|
8363d537e0
|
fix(gateway): fail over model-not-found responses
|
2026-09-06 20:38:17 +08:00 |
|
wwcchh0123
|
e9e3c46cb7
|
fix(ops): snapshot proxy on upstream errors
|
2026-09-03 14:20:39 +08:00 |
|
shaw
|
f1aadd48d5
|
fix(openai): pause OAuth accounts on exhausted quota 429
|
2026-08-25 20:25:22 +08:00 |
|
IanShaw
|
b2b2adcf8d
|
修复 PR 5888 审查发现的兼容性与竞态问题
|
2026-08-20 21:06:48 -07:00 |
|
IanShaw
|
acce29af27
|
补齐 OpenAI 与 Grok 协议兼容处理
|
2026-08-19 23:13:29 -07:00 |
|
IanShaw
|
cf3577a3c5
|
fix(openai): harden Responses compatibility
|
2026-08-19 09:03:37 -07:00 |
|
Perfecto
|
5390647989
|
fix(openai): complete request-scoped capacity recovery
|
2026-08-15 22:54:21 +08:00 |
|
Perfecto
|
c3063e01a4
|
fix(openai): recover message-only capacity failures
|
2026-08-15 21:30:56 +08:00 |
|
li
|
591d47fb9b
|
fix(openai): 原生 Responses 路径不再把上游确定性 400 归一成可重试 502
上游返回 400(invalid_function_parameters、missing_required_parameter 等)时,
`/v1/responses` 原生路径把它包成 `502 upstream_error / "Upstream request failed"`,
真实的 message/code/param 全部丢弃。
502 属于可重试类,下游网关会把这个永远不会成功的请求反复重放(issue #5479 实测
30 个失败请求被放大成 60 次上游调用),客户端也拿不到「哪个字段非法」的线索。
同一个 service 上的兄弟路径早已做对:
- `handleCompatErrorResponse`(ChatCompletions / Anthropic)回真实状态码 +
invalid_request_error + 真实 message;
- `/v1/images/generations` 还额外透传 code/param。
原生 Responses 是唯一漏掉的一条,本次对齐。
改动只放行 400:走到该分支说明 `shouldFailoverOpenAIUpstreamResponse` 已判定这个
400 不可 failover,即 server_is_overloaded / at capacity 这类可重试的 400 不会到达。
401/402/403(运营方凭据问题)、404/405(可能是 base_url 配错)、429 一律维持原状。
Fixes #5479
|
2026-08-10 11:25:46 +08:00 |
|
li
|
a071b27b41
|
fix(grok): 405 纳入 failover 与临时踢号,修复 Grok 会话粘性锁死
Grok 分组里若有账号的自定义 base_url 只实现 /v1/chat/completions,对
/v1/responses 固定返回 405,会话 sticky 到该账号后就永久锁死:
1. shouldFailoverUpstreamError 不含 405,请求不进换号循环
2. handleGrokAccountUpstreamError 的 switch 不含 405,账号不进临时不可调度
3. 账号仍可调度,sticky 不清理,客户端自动重连继续绑同一个坏号
改动两处:
- shouldFailoverUpstreamError 增加 405,让请求可换号,sticky 随之更新
- handleGrokAccountUpstreamError 增加 405 → 30 分钟冷却,与 403 同级
Fixes #4668
|
2026-08-07 20:37:56 +08:00 |
|
superman2003
|
ef8275aede
|
fix(grok): sync OAuth models and isolate policy 403s
|
2026-07-22 13:32:35 +08:00 |
|
haruka
|
1f7b7b9132
|
fix: honor temp unschedulable rules in pool mode
|
2026-07-17 18:12:33 +08:00 |
|
Wesley Liddick
|
531ae04a0b
|
Merge pull request #4395 from wp-a/fix/openai-body-limit-failover
[codex] fail over account-specific OpenAI body limits
|
2026-07-16 09:33:48 +08:00 |
|
王鹏
|
3db00d3fee
|
fix(openai): fail over account-specific body limits
|
2026-07-16 00:19:20 +08:00 |
|
王鹏
|
40b8f04a6a
|
fix(openai): scope transient cooldowns by model
|
2026-07-15 22:52:35 +08:00 |
|
cat
|
3fe7b4da78
|
fix(openai): 闭合直通 WS 恢复与错误脱敏
|
2026-07-14 17:05:47 +08:00 |
|
cat
|
1dab126944
|
feat(openai): 支持 Agent Identity 认证
|
2026-07-14 17:05:46 +08:00 |
|
shaw
|
4d23ad4bac
|
refactor(service): 纯移动拆分 openai_gateway_service.go(4872→1095行)
|
2026-07-08 08:49:21 +08:00 |
|