shaw
d19265ddb2
fix(gateway): 拒绝含 OpenAI 网关 OAuth 的 composite 歧义路由,防止凭据误入 Anthropic 管线
composite 分组中 openai OAuth 账号与 deepseek API Key 账号同时显式映射同一
gpt 模型时,模型归属判为歧义、路由层不解析平台,请求落到默认 Anthropic
GatewayHandler;handler 再按模型名前缀猜回 openai 并选中 OpenAI OAuth 账号,
ChatGPT token 被发往 api.anthropic.com,上游 401 "Invalid bearer token"
经 failover 逐号打成临时不可调度,单请求即可扫空号池。
- 归属记录声明方是否含 OpenAI 网关族 OAuth / setup-token;当模型名兜底也
落在 OpenAI 网关族时判为配置错误,路由中间件与 WS 入口直接 400 拒绝并
提示配置显式路由。纯 API Key 歧义及 Anthropic/Antigravity/Gemini OAuth
歧义保持原行为。
- 模型归属改按配置计算(ListModelAvailabilityCandidates),不再随限流 /
临时不可调度在「唯一归属」与「歧义」之间翻转。
- Anthropic 请求构建前校验凭据:非 Anthropic 网关族的 OAuth 凭据不出站,
返回仅换号、不处罚账号的 failover;count_tokens 返回 404 不支持。
API Key 不受限(上游可能兼容多种协议格式)。
2026-10-15 14:57:03 +08:00
..
2026-10-01 22:31:39 +08:00
2026-10-09 10:11:06 +08:00
2026-10-09 10:10:33 +08:00
2026-10-10 14:47:11 +08:00
2026-09-27 14:56:38 +08:00
2026-10-09 10:11:05 +08:00
2026-10-09 10:10:33 +08:00
2026-10-11 11:22:48 +08:00
2026-09-27 12:12:25 +08:00
2026-10-06 13:59:37 +08:00
2026-10-06 13:59:37 +08:00
2026-10-09 10:11:06 +08:00
2026-10-02 13:08:40 +08:00
2026-10-02 13:08:40 +08:00
2026-10-10 23:37:48 +08:00
2026-09-28 14:48:42 +08:00
2026-09-28 14:48:42 +08:00
2026-10-13 15:00:31 +08:00
2026-09-23 15:26:35 +08:00
2026-10-09 10:10:32 +08:00
2026-10-09 11:39:18 +08:00
2026-10-09 11:39:18 +08:00
2026-10-12 18:09:03 +08:00
2026-09-25 09:12:09 +08:00
2026-10-09 11:39:18 +08:00
2026-10-09 10:10:33 +08:00
2026-10-01 22:00:22 +08:00
2026-09-23 15:27:53 +08:00
2026-09-26 17:13:10 +08:00
2026-09-28 12:15:27 +08:00
2026-09-28 12:15:27 +08:00
2026-09-26 17:13:10 +08:00
2026-09-28 12:23:13 -04:00
2026-09-26 17:13:10 +08:00
2026-10-13 09:24:38 +08:00
2026-09-28 12:23:13 -04:00
2026-09-28 12:23:13 -04:00
2026-09-30 13:44:02 +08:00
2026-09-30 13:44:02 +08:00
2026-09-30 13:44:02 +08:00
2026-09-30 13:44:02 +08:00
2026-10-12 17:14:56 +08:00
2026-09-30 13:44:02 +08:00
2026-09-28 12:26:28 -04:00
2026-09-28 12:26:28 -04:00
2026-10-09 10:10:33 +08:00
2026-09-23 11:18:08 +08:00
2026-09-23 11:18:08 +08:00
2026-09-29 04:55:07 +08:00
2026-09-29 04:55:07 +08:00
2026-10-12 17:14:56 +08:00
2026-09-28 17:08:27 -04:00
2026-10-12 17:14:56 +08:00
2026-10-09 10:07:36 +08:00
2026-10-13 14:51:11 +08:00
2026-10-09 11:39:18 +08:00
2026-10-10 23:37:48 +08:00
2026-10-10 23:37:48 +08:00
2026-10-06 13:09:51 +08:00
2026-10-08 10:41:20 +08:00
2026-10-08 10:41:20 +08:00
2026-10-09 10:11:06 +08:00
2026-10-09 10:10:33 +08:00
2026-09-23 14:39:29 +08:00
2026-09-23 14:39:29 +08:00
2026-09-28 20:59:39 -04:00
2026-09-29 11:41:33 -04:00
2026-09-29 14:21:10 -04:00
2026-09-29 14:21:10 -04:00
2026-09-26 17:13:10 +08:00
2026-10-09 10:11:06 +08:00
2026-10-09 10:11:06 +08:00
2026-10-09 10:11:06 +08:00
2026-10-09 10:11:06 +08:00
2026-10-09 10:11:06 +08:00
2026-10-10 14:47:11 +08:00
2026-10-09 10:11:06 +08:00
2026-10-09 09:17:41 +08:00
2026-10-09 10:11:06 +08:00
2026-10-09 10:11:06 +08:00
2026-10-09 10:11:05 +08:00
2026-10-09 10:11:05 +08:00
2026-10-15 14:57:03 +08:00
2026-10-15 14:57:03 +08:00
2026-10-09 10:10:33 +08:00
2026-10-15 14:57:03 +08:00
2026-10-15 14:57:03 +08:00
2026-10-02 13:51:58 +08:00
2026-10-02 13:51:58 +08:00
2026-10-12 14:37:44 +08:00
2026-09-29 01:50:21 +08:00
2026-09-29 01:50:21 +08:00
2026-09-28 14:48:42 +08:00
2026-10-09 10:11:06 +08:00
2026-09-28 12:26:28 -04:00
2026-09-28 12:26:28 -04:00
2026-09-29 05:20:04 +08:00
2026-10-13 00:53:39 +08:00
2026-10-13 00:53:39 +08:00
2026-09-23 13:35:44 +08:00
2026-09-23 13:35:44 +08:00
2026-10-03 22:38:26 +08:00
2026-10-13 14:38:16 +08:00
2026-09-23 13:35:44 +08:00
2026-10-09 10:07:36 +08:00
2026-10-15 14:57:03 +08:00
2026-10-04 09:13:04 +08:00
2026-10-08 11:28:38 +08:00
2026-09-29 15:44:10 +08:00
2026-10-01 22:00:22 +08:00
2026-10-13 00:53:39 +08:00
2026-10-15 14:57:03 +08:00
2026-10-12 16:47:22 +08:00
2026-10-13 14:38:16 +08:00
2026-09-29 04:55:07 +08:00
2026-10-13 14:38:16 +08:00
2026-10-15 14:57:03 +08:00
2026-09-29 04:55:07 +08:00
2026-09-28 10:10:47 +08:00
2026-10-02 13:51:58 +08:00
2026-10-02 13:51:58 +08:00
2026-10-03 10:34:06 +08:00
2026-09-29 15:00:16 +08:00
2026-09-29 15:00:16 +08:00
2026-10-15 14:57:03 +08:00
2026-10-15 14:57:03 +08:00
2026-10-13 00:53:39 +08:00
2026-09-26 17:13:10 +08:00
2026-10-11 01:37:04 +08:00
2026-10-11 01:37:04 +08:00
2026-10-11 11:22:43 +08:00
2026-10-11 11:22:43 +08:00
2026-10-12 17:14:56 +08:00
2026-10-10 23:37:48 +08:00
2026-10-12 17:14:56 +08:00
2026-10-13 00:54:27 +08:00
2026-10-10 23:37:48 +08:00
2026-10-10 23:37:48 +08:00
2026-10-12 19:13:17 +08:00
2026-10-13 15:00:04 +08:00
2026-10-11 22:03:36 +08:00
2026-10-11 22:03:36 +08:00
2026-10-10 23:37:48 +08:00
2026-10-10 23:37:48 +08:00
2026-09-26 17:13:10 +08:00
2026-10-10 23:37:48 +08:00
2026-10-01 12:17:27 +08:00
2026-10-01 12:17:27 +08:00
2026-10-01 12:17:27 +08:00
2026-10-12 18:09:03 +08:00
2026-10-12 18:09:03 +08:00
2026-09-25 09:12:09 +08:00
2026-09-28 10:49:01 +08:00
2026-10-09 11:39:18 +08:00
2026-09-23 13:35:44 +08:00
2026-09-23 13:35:44 +08:00
2026-09-23 11:28:41 +08:00
2026-10-09 11:39:18 +08:00
2026-09-24 15:46:14 +08:00
2026-09-24 15:46:14 +08:00
2026-10-09 10:11:06 +08:00
2026-10-09 10:11:06 +08:00
2026-10-13 09:24:38 +08:00
2026-10-13 09:24:38 +08:00
2026-10-12 17:39:26 +08:00
2026-09-23 12:01:40 +08:00
2026-10-15 14:57:03 +08:00
2026-09-23 15:29:11 +08:00
2026-10-12 16:47:22 +08:00
2026-09-24 15:54:15 +08:00
2026-09-24 15:54:15 +08:00
2026-09-24 15:54:15 +08:00
2026-09-24 15:50:00 +08:00
2026-10-09 10:10:33 +08:00
2026-10-02 10:48:40 +00:00
2026-10-02 10:48:40 +00:00
2026-10-01 03:30:56 -07:00
2026-10-01 03:30:56 -07:00
2026-10-13 14:50:40 +08:00
2026-10-13 14:50:40 +08:00
2026-09-29 11:50:08 -07:00
2026-10-09 11:03:13 +08:00
2026-09-23 16:48:15 +08:00
2026-09-29 11:49:26 -07:00
2026-09-29 11:49:26 -07:00
2026-09-29 11:49:26 -07:00
2026-10-06 10:49:15 +08:00
2026-10-01 22:00:22 +08:00
2026-10-06 10:49:15 +08:00
2026-10-09 13:36:36 +08:00
2026-10-09 13:36:36 +08:00
2026-10-12 16:47:22 +08:00
2026-10-13 14:59:02 +08:00
2026-09-23 18:32:49 -04:00
2026-10-09 13:36:36 +08:00
2026-10-01 12:17:27 +08:00
2026-10-09 10:11:05 +08:00
2026-09-23 16:48:15 +08:00
2026-09-29 11:49:26 -07:00
2026-10-09 10:11:06 +08:00
2026-10-09 11:03:13 +08:00
2026-10-09 10:11:06 +08:00
2026-09-26 20:11:03 +09:00
2026-10-09 11:03:13 +08:00
2026-10-01 02:16:22 +08:00
2026-10-01 22:00:22 +08:00
2026-10-06 10:49:15 +08:00
2026-10-06 10:49:15 +08:00
2026-10-01 03:01:43 +08:00
2026-10-09 10:10:33 +08:00
2026-10-12 16:47:22 +08:00
2026-09-29 16:42:02 +08:00
2026-09-27 09:57:51 +08:00
2026-09-28 14:59:35 +08:00
2026-10-12 16:47:22 +08:00
2026-09-28 14:59:35 +08:00
2026-09-29 15:00:16 +08:00
2026-09-23 10:07:02 +08:00
2026-09-29 11:49:26 -07:00
2026-10-01 03:30:56 -07:00
2026-10-01 03:30:56 -07:00
2026-10-09 11:03:13 +08:00
2026-10-09 11:10:11 +08:00
2026-10-09 11:10:11 +08:00
2026-09-23 11:27:49 +08:00
2026-09-25 12:17:11 +08:00
2026-09-25 12:17:11 +08:00
2026-10-08 01:11:23 +08:00
2026-10-08 01:11:23 +08:00
2026-10-08 01:11:23 +08:00
2026-10-12 16:47:22 +08:00
2026-09-26 17:13:10 +08:00
2026-09-26 07:45:10 -04:00
2026-09-29 15:43:52 +08:00
2026-09-26 07:45:10 -04:00
2026-10-01 22:31:39 +08:00
2026-10-01 22:31:39 +08:00
2026-10-09 10:11:05 +08:00
2026-10-06 23:57:15 +08:00
2026-10-06 23:57:15 +08:00
2026-10-09 10:11:05 +08:00
2026-10-09 10:11:06 +08:00
2026-10-09 10:11:05 +08:00
2026-10-07 13:06:19 -07:00
2026-10-10 23:37:48 +08:00
2026-10-09 11:39:18 +08:00
2026-10-02 00:25:41 +08:00
2026-10-02 00:25:41 +08:00
2026-10-02 00:25:41 +08:00
2026-10-02 00:25:41 +08:00
2026-10-02 00:25:41 +08:00
2026-10-02 00:25:41 +08:00
2026-10-06 23:14:56 +08:00
2026-10-06 23:14:56 +08:00
2026-10-02 00:25:41 +08:00
2026-10-09 10:10:33 +08:00
2026-10-09 10:11:05 +08:00
2026-10-09 10:11:06 +08:00
2026-10-11 11:22:48 +08:00
2026-10-13 14:51:11 +08:00
2026-10-09 10:10:32 +08:00
2026-10-09 10:11:06 +08:00
2026-10-09 10:11:06 +08:00
2026-10-09 10:11:06 +08:00
2026-10-09 10:11:06 +08:00
2026-10-09 10:11:05 +08:00
2026-09-23 10:05:42 +08:00
2026-10-13 14:59:02 +08:00
2026-09-29 01:50:21 +08:00
2026-10-09 10:10:33 +08:00
2026-09-29 11:50:08 -07:00
2026-09-29 11:50:08 -07:00
2026-09-23 14:39:29 +08:00
2026-09-29 01:50:21 +08:00
2026-09-29 01:50:21 +08:00
2026-09-29 01:50:21 +08:00
2026-09-29 01:50:21 +08:00
2026-09-29 01:50:21 +08:00
2026-09-29 01:50:21 +08:00
2026-10-13 00:53:39 +08:00
2026-10-03 12:08:05 +08:00
2026-10-02 10:48:37 +00:00
2026-10-06 23:56:27 +08:00
2026-10-09 10:11:06 +08:00
2026-10-01 12:17:27 +08:00
2026-10-10 23:37:48 +08:00
2026-10-11 22:03:36 +08:00
2026-10-09 10:11:06 +08:00
2026-10-09 10:11:05 +08:00
2026-10-09 10:11:05 +08:00
2026-09-28 12:26:28 -04:00
2026-10-10 23:37:48 +08:00
2026-10-10 23:37:48 +08:00
2026-10-12 17:14:56 +08:00