Wesley Liddick
7145484fde
Merge pull request #6971 from ouchihao/codex/issue-1890-ttft-request-details
...
fix(ops): show first-token latency in TTFT request details
2026-09-11 13:58:37 +08:00
Wesley Liddick
fd300ab6f3
Merge pull request #6974 from alfadb/fix/deepseek-v41-flash-pricing
...
fix(billing): 适配 DeepSeek V4.1-Flash 新价与 pro→Flash 计费切换
2026-09-11 13:58:23 +08:00
Wesley Liddick
88011a6a2e
Merge pull request #6783 from asmoyou/fix/large-image-request-memory
...
perf(gateway): reduce memory amplification for large Responses image requests
2026-09-11 13:58:11 +08:00
Wesley Liddick
14029e50aa
Merge pull request #6661 from whhphd/fix/grok-media-slot-release
...
fix(grok): release abandoned media slots and preserve video ownership
2026-09-11 13:57:07 +08:00
Wesley Liddick
3fb03cdac1
Merge pull request #6960 from xlplbo/fix/openai-ws-exec-scope-preemption
...
fix(openai-ws): ctx_pool 会话抢占与会话状态按 codex 线程隔离
2026-09-11 13:56:52 +08:00
Wesley Liddick
8f9a9a255b
Merge pull request #6965 from xlplbo/fix/openai-ws-pool-reader-loop
...
fix(openai-ws): 连接池常驻读循环应答上游 ping,根治空闲连接 1011 keepalive ping timeout
2026-09-11 13:56:23 +08:00
xlplbo
4543ddc5c1
fix(openai): WS 执行作用域按 request_kind 分道
2026-09-11 13:37:59 +08:00
xlplbo
613722eee4
fix(openai): HTTP 转发的执行作用域改从原始请求计算
2026-09-11 11:36:29 +08:00
xlplbo
d0ca057ca4
fix(openai): WS 会话被抢占时先发关闭帧再取消
2026-09-11 10:25:50 +08:00
xlplbo
e4c369bd56
fix(openai): HTTP 经 WS 池转发按执行作用域取会话状态键
2026-09-11 10:25:50 +08:00
Wesley Liddick
2493b0dc31
Merge pull request #6924 from smyyyyy2025/fix/codex-user-agent-validation
...
fix: validate Codex User-Agent before identity parsing
2026-09-11 09:33:19 +08:00
Wesley Liddick
e71d291b39
Merge pull request #6917 from ouchihao/codex/issue-2149-monitor-base-path
...
fix(monitor): support upstream base URL paths
2026-09-11 09:29:25 +08:00
alfadb
ab9bd9e877
fix(billing): 适配 DeepSeek V4.1-Flash 新价与 pro→Flash 切换
...
- flash 低谷价更新为 $0.15/$0.60/$0.003 per MTok(2026-09-10 官方降价)
- deepseek-v4-pro 自 2026-09-14 04:00 UTC 起按 Flash 价计费(上游路由变更)
- 计费时点显式驱动 pro→Flash 切换,定价展示与计费两条路径同源
- deepseek-flash 保留 reasoning_effort=max;补 Codex 模型清单与前端白名单
- 价表 JSON 新增 deepseek-flash 条目并同步 flash 系价格
2026-09-10 22:10:29 +08:00
chihao.ou
e9f5add97c
fix(ops): show first-token latency in TTFT request details
2026-09-10 21:13:17 +08:00
xlplbo
bed1e3c362
fix(openai): 重试强制新建连接并放宽轮次预检超时
2026-09-10 20:35:53 +08:00
xlplbo
a5b07b2960
feat(openai): WS 连接池常驻读循环应答上游 ping
2026-09-10 20:35:53 +08:00
xlplbo
cd1ee1d1ad
fix(openai): WS 接入会话状态改用执行作用域键
2026-09-10 17:50:24 +08:00
xlplbo
9e7c2d713c
fix(openai): WS 会话抢占改用执行作用域键
2026-09-10 17:50:24 +08:00
xlplbo
06b61ba96f
feat(openai): 解析 codex 线程标识派生 WS 执行作用域
2026-09-10 17:50:23 +08:00
nekocode
a4edda36d5
fix(gateway): 不再剥离客户端 system 上的 cache_control
...
OAuth mimic 路径无条件删除 system[*].cache_control,不打日志也不报错。
把稳定前缀锚在 system 上的客户端因此拿到 cache_creation 与 cache_read
双 0 —— 不是没命中,是连写都没写。
这个动作是 46e5ac9 引进时「system 必然被整个重写」的配套:客户端的
system 内容都搬进 messages 了,残留断点指着空气,删它是对的。后来
system 注入变成可配置,于是长出了原设计里不存在的组合 —— system 没被
重写,断点照删。剥离失去了赖以成立的前提,代码却还在。
三处调用点里 count_tokens 那处还是硬编码 true,与另两处的
!systemRewritten 语义不一致。
直接移除该选项而不是再加一个开关:注入开启时 system 已被整个替换、
留在上面的断点是我们自己拼进去的稳定锚点;注入关闭时断点就是客户端的
缓存意图。两种情形都没有删它的理由,而需要开关的是有取舍的行为。
顺带补上 count_tokens 的 4 块上限兜底:五条出口里只有它没在自己的转发
路径上调过 enforceCacheControlLimit,原先那句 strip 是这条路上唯一压制
断点数量的东西。拿掉之后「客户端 system + 客户端 messages + 刚注入的
tools[-1]」实测顶到 5 块,而上游对超限是 400。
messages 层的同类改写见 #2369,那次只落地了 messages 一半。
此前该行为零测试覆盖(stripSystemCacheControl 在 _test.go 里零命中),
本次补 4 个用例,其中上限兜底那条撤掉修复即红。
Claude-Session: https://claude.ai/code/session_01WnTW52pmELGy3g7KPEUXj2
2026-09-10 15:48:17 +08:00
smyyyyy
4e5632c3e3
fix: validate Codex User-Agent before identity parsing
2026-09-10 03:18:31 +08:00
chihao.ou
21323c31f8
fix(monitor): support upstream base URL paths
2026-09-09 20:02:25 +08:00
hansnow
7ccc8a6f50
fix(openai): 支持 Image 2.5 并修复 OAuth 生图主控模型
2026-09-09 11:04:59 +08:00
Wesley Liddick
d9efbf8229
Merge pull request #6839 from mason0510/fix/grok-external-web-access
...
fix(grok): 移除 Chat Completions 中不支持的 external_web_access 参数
2026-09-08 20:47:25 +08:00
Wesley Liddick
233f3dffe6
Merge pull request #6281 from wuji-labs/feat/http2-long-stream-keepalive
...
feat(upstream): add HTTP/2 PING keepalive for long LLM generation streams
2026-09-08 20:47:07 +08:00
Wesley Liddick
6f0d0ababc
Merge pull request #6320 from spongehah/fix/runtime-block-honor-persisted-cooldown
...
fix(schedule): 选号按持久化冷却条件清除本机账号级阻断
2026-09-08 20:46:07 +08:00
Wesley Liddick
52f7bcaedd
Merge pull request #6759 from ssharkkky/feat/cmv2-user-ranking-toggle
...
feat(channel-monitor-v2): add user ranking toggle and keep missing TTFT neutral
2026-09-08 20:44:07 +08:00
Wesley Liddick
95acbf1f03
Merge pull request #6424 from cyhhao/fix/bound-ops-system-log-storage
...
fix(ops): bound database-backed system log growth
2026-09-08 20:43:54 +08:00
Wesley Liddick
43569bb44c
Merge pull request #6434 from swjturay/codex/upstream-client-disconnect-drain
...
fix(openai-ws): drain upstream after client disconnect
2026-09-08 20:42:59 +08:00
Wesley Liddick
15557e7796
Merge pull request #6235 from StarryKira/codex/fix-6232-channel-cache-invalidation
...
fix: broadcast channel cache invalidations across instances
2026-09-08 20:42:45 +08:00
Wesley Liddick
e2fd418a96
Merge pull request #6372 from clansty/fix/openai-oauth-429-fallback-disabled
...
fix: 修复关闭 429 默认回避后仍触发 OAuth 运行时冷却
2026-09-08 20:42:35 +08:00
Wesley Liddick
4e9b01fd59
Merge pull request #6838 from atogumo/fix/claude-code-probe-any-model
...
fix(gateway): accept Claude Code max_tokens=1 probes for any model
2026-09-08 20:42:24 +08:00
Wesley Liddick
aa167a25a7
Merge pull request #6775 from xlplbo/fix/plugin-zip-handle-windows
...
fix(plugin): 提交插件包前先关闭 ZIP 读取器,修正 Windows 下两例单测
2026-09-08 20:12:42 +08:00
Wesley Liddick
1e6114c270
Merge pull request #6812 from Pluviobyte/codex/fix-model-plaza-subscriptions
...
fix(model-plaza): include active subscription groups
2026-09-08 20:10:42 +08:00
Wesley Liddick
9e7039ebca
Merge pull request #6811 from Pluviobyte/codex/fix-proxy-partial-update
...
fix(proxies): preserve omitted expiry and fallback settings
2026-09-08 20:10:20 +08:00
Wesley Liddick
b638445234
Merge pull request #6754 from ccemoji/codex/minimal-upstream-fix
...
fix: cancel streaming upstream before closing body
2026-09-08 20:09:37 +08:00
Wesley Liddick
979fe247f9
Merge pull request #6821 from 22zyfeng-collab/fix/antigravity-oauth-plan-type
...
fix(antigravity): preserve OAuth plan_type when saving accounts
2026-09-08 20:09:12 +08:00
Wesley Liddick
4892b8f17e
Merge pull request #6810 from Pluviobyte/codex/fix-announcement-proxy-date-range
...
fix: validate announcement and proxy date ranges
2026-09-08 20:08:24 +08:00
atogumo
4e5d67df35
fix(gateway): accept Claude Code max_tokens=1 probes for any model
...
The claude_code_only probe exemption only fired for models containing
"haiku". Claude Code also sends max_tokens=1 requests without a system
prompt to the model currently in use, e.g. when switching models or
refreshing the context usage, so on sonnet/opus groups those requests failed
the system-prompt check and were rejected as non-Claude-Code clients.
Recognise the probe from the request body itself (max_tokens == 1) once the
User-Agent check has passed, regardless of model, and carry max_tokens into
the ParsedRequest projection so the hot path sees it too. The haiku context
flag and the local haiku interception are unchanged; non-haiku probes reach
the pool as ordinary one-token requests. One output token offers nothing to
a client that already forges the CLI User-Agent, so this widens no attack
surface.
Fixes #6591
2026-09-08 19:12:37 +08:00
Wesley Liddick
dbe92a1c24
Merge pull request #6758 from DuskLin/feat/minimax-platform
...
feat(minimax): 增加 MiniMax 平台支持
2026-09-08 18:50:06 +08:00
刘佳林
3495635a52
fix(minimax): 补齐阈值停调与额度监控接线
...
调度阈值评估和渠道监控 quota 取数补上 MiniMax 分支;GetCodingPlanProvider 改为只认官方域名,避免把中转 Key 发到厂商额度端点。composite /v1/models 与 Codex 目录纳入 MiniMax;迁移改名为 237;allowlist 去掉未使用的 www.* / api.minimax.cn,abab 前缀收窄到 5/6/7。
2026-09-08 17:41:29 +08:00
mason0510
c8deeb0b05
fix(grok): 移除 Chat Completions 中不支持的 external_web_access 参数
...
模型:Claude Sonnet 5
修复内容:在 Grok Chat Completions raw 转发流程中添加 external_web_access 参数过滤,修复 Grok API 返回 400 "Argument not supported: external_web_access" 错误
修改理由:Grok xAI API 不支持 external_web_access 参数,Sub2API Responses API 路径已有过滤,但 Chat Completions 路径缺失,导致 grok-4.5 等模型调用失败返回 502
验证结果:代码已通过本地 Demo 验证递归删除逻辑正常,待远端编译部署后验证真实 API 调用
影响范围:仅影响 Grok 平台 Chat Completions API 请求体处理,不影响 Responses API 和其他平台
回滚方式:git revert 本次提交,或手动移除 openai_gateway_chat_completions_raw.go line 159-163 的 sanitizeGrokUnsupportedFields 调用
[AI: 梁心语/Claude Sonnet 5 @ 2026-09-08T17:30]
2026-09-08 16:41:09 +08:00
22zyfeng-collab
b6ee9f0a32
fix(antigravity): preserve OAuth subscription plan across account creation
2026-09-08 15:02:32 +08:00
Rain
38cfd7e2d9
fix(proxies): preserve omitted expiry and fallback settings
2026-09-08 13:38:41 +08:00
Rain
3fc08745a6
fix(model-plaza): include active subscription groups
2026-09-08 13:37:53 +08:00
Rain
efc6e4a816
fix: validate announcement and proxy date ranges
2026-09-08 13:37:52 +08:00
Wesley Liddick
14e0a49e17
Merge pull request #6767 from alfadb/fix/ollama-cloud-max-tokens-all-platforms
...
fix(ollama): 修复 DeepSeek 多协议输出上限并自动选择 Bearer 鉴权
2026-09-08 08:26:51 +08:00
Qilin You
7e62731863
perf: reduce allocations for large Responses image payloads
2026-09-08 01:54:32 +08:00
xlplbo and Claude Fable 5.1
b42157a725
test(service): 修正 Windows 下两例环境相关用例
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01SAJmqcVA9TLacTCD1bLh4i
2026-09-07 23:21:29 +08:00
xlplbo and Claude Fable 5.1
335fcdc1d6
fix(plugin): 提交插件包前先关闭 ZIP 读取器
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01SAJmqcVA9TLacTCD1bLh4i
2026-09-07 23:21:29 +08:00