shaw
d68a68fd0d
chore(docs): 清理 PR 误入的文档和截图
2026-09-23 10:35:34 +08:00
Wesley Liddick
31a6e74770
Merge pull request #7491 from Thinker-Joe/fix/openai-picker-model-mapping
...
fix(openai): scope the account test picker to the account model mapping
2026-09-23 10:31:36 +08:00
Wesley Liddick
7c0a2a556c
Merge pull request #7160 from StarryKira/codex/log-retention-upstream
...
feat: 支持运维与请求日志的滚动保留设置
2026-09-23 10:07:25 +08:00
Wesley Liddick
0dd71286f2
Merge pull request #7060 from heathermhuang/fix/composite-image-models-6076
...
fix(images): allow compatible Gemini models on API-key upstreams
2026-09-23 10:07:02 +08:00
Wesley Liddick
b350e079f8
Merge pull request #7139 from HP-network/fix/api-key-model-401-failover
...
fix: keep API-key accounts available for unknown models
2026-09-23 10:05:42 +08:00
Wesley Liddick
24872fda7c
Merge pull request #7493 from ouchihao/codex/bug-temp-unsched-race
...
fix(accounts): keep temporary unschedulable status scoped to the current account
2026-09-23 10:03:22 +08:00
Wesley Liddick
5ad7cf4fb9
Merge pull request #7300 from lizhaoxinlizhaoxin2-lab/fix/responses-stream-error-schema
...
fix(responses): emit protocol-correct stream errors once
2026-09-23 10:03:00 +08:00
Wesley Liddick
60b9bf7558
Merge pull request #7308 from HuntercodeT/fix/codex-manifest-non-gpt-identity
...
fix(codex-models): 非 GPT 模型的 Codex 提示词模板去掉 GPT 身份声明,避免 Antigravity 429
2026-09-23 10:01:45 +08:00
Wesley Liddick
d6e8b44bcb
Merge pull request #7411 from HuntercodeT/fix/antigravity-vendor-identity-429
...
fix(antigravity): neutralize Claude Agent SDK identity in system prompts
2026-09-23 10:01:18 +08:00
Wesley Liddick
fa3f526785
Merge pull request #7489 from doublepi123/fix/tool-schema-null-required
...
fix(tools): 清洗工具 Schema 里非法的 null required,修复 xAI / Moonshot 400
2026-09-23 10:01:03 +08:00
Wesley Liddick
7d5615998c
Merge pull request #7492 from ouchihao/codex/bug-monitor-detail-race
...
fix(channel-monitor): ignore stale detail requests
2026-09-23 10:00:49 +08:00
Wesley Liddick
d7e4bba0e7
Merge pull request #7494 from ouchihao/codex/bug-balance-error-message
...
fix(users): show normalized API errors in the balance dialog
2026-09-23 10:00:30 +08:00
Wesley Liddick
d3d0f653e5
Merge pull request #7495 from ouchihao/codex/bug-subscription-expiry-label
...
fix(subscriptions): use calendar dates for expiry labels
2026-09-23 09:59:49 +08:00
Wesley Liddick
9e0e146984
Merge pull request #7496 from ouchihao/codex/bug-totp-late-timer
...
fix(profile): avoid starting TOTP cooldowns after unmount
2026-09-23 09:59:22 +08:00
Wesley Liddick
fc4465f78b
Merge pull request #7498 from ouchihao/codex/bug-model-tag-ime
...
fix(channels): preserve model tags during IME composition
2026-09-23 09:58:50 +08:00
Wesley Liddick
0eaa7c3c84
Merge pull request #7499 from ouchihao/codex/bug-date-picker-midnight
...
fix(date-picker): refresh relative dates after midnight
2026-09-23 09:58:36 +08:00
Wesley Liddick
5e4968492f
Merge pull request #7500 from ouchihao/codex/bug-user-attribute-race
...
fix(users): discard stale user attribute responses
2026-09-23 09:57:53 +08:00
Wesley Liddick
a81547f244
Merge pull request #7501 from ouchihao/codex/bug-profile-dingtalk-source
...
fix(profile): recognize DingTalk profile sources
2026-09-23 09:57:39 +08:00
Thinker-Joe
9d7c636db9
fix(openai): respect passthrough in picker image choices
...
Validate mapped targets for default image models as well as aliases. Preserve native image choices in passthrough and cover mapping changes over the shared catalog cache.
2026-09-23 01:43:06 +08:00
Wesley Liddick
20a94fbb56
Merge pull request #6920 from aofee/codex/grok-quota-cooldown
...
fix(grok): allow quota queries during account cooldowns
2026-09-22 22:01:24 +08:00
Wesley Liddick
da25b18db7
Merge pull request #7077 from ggllzz04/fix/antigravity-tuple-array-schema
...
fix(antigravity): handle prefixItems and ensure array schema has valid items fallback
2026-09-22 22:01:09 +08:00
Wesley Liddick
02d9901b49
Merge pull request #7038 from zenggang/contribute/gpt55-lite-compat
...
fix(openai): remove Responses Lite markers after OAuth mapping to GPT-5.5
2026-09-22 22:00:51 +08:00
Wesley Liddick
13be6ca27c
Merge pull request #7276 from cyhhao/fix/openai-keepalive-semantic-output
...
fix(openai): keep transport heartbeats outside semantic output
2026-09-22 22:00:08 +08:00
Wesley Liddick
e26abaef7d
Merge pull request #6473 from cxx-cod/pr/openai-stream-terminal-eof
...
fix(openai): end streaming at terminal event instead of waiting for u…
2026-09-22 21:57:45 +08:00
Wesley Liddick
583398d186
Merge pull request #7303 from little-greenbean/fix/upstream-response-close-lifecycle
...
fix(upstream): prevent EOF stalls when closing response bodies
2026-09-22 21:57:24 +08:00
Wesley Liddick
5cc6ca6f5b
Merge pull request #7311 from YogaSakti/fix/scheduler-cache-rpm-fields
...
fix(scheduler): keep account RPM config in the scheduler projection
2026-09-22 21:57:05 +08:00
Wesley Liddick
b12a187d4f
Merge pull request #7097 from MHJoy99/contrib/upstream-5203-ping-filter
...
fix(streaming): drop Anthropic ping keepalives before OpenAI conversion
2026-09-22 21:56:46 +08:00
Wesley Liddick
974a819ba1
Merge pull request #7108 from ouchihao/codex/bug-select-keyboard-focus
...
fix(ui): focus non-searchable select dropdowns
2026-09-22 21:56:34 +08:00
Wesley Liddick
d27fbb3b7d
Merge pull request #7109 from ouchihao/codex/bug-date-range-dismiss
...
fix(ui): discard unapplied date ranges on dismissal
2026-09-22 21:56:24 +08:00
Wesley Liddick
ea34a2356c
Merge pull request #7142 from ouchihao/codex/bug-select-search-highlight
...
fix(ui): reset select highlight when search results change
2026-09-22 21:56:14 +08:00
Wesley Liddick
fa9f104a93
Merge pull request #7169 from HuntercodeT/fix/gemini-mixed-model-listing
...
fix(gateway): list mixed Antigravity models for Gemini groups
2026-09-22 21:56:04 +08:00
Wesley Liddick
51f73840a1
Merge pull request #7272 from zoutao212/fix/responses-function-call-arguments-done
...
fix(apicompat): 修复 Anthropic 转 Responses 流中 function_call_arguments.done 缺少 arguments 参数的问题
2026-09-22 21:55:48 +08:00
Wesley Liddick
2b12de14ee
Merge pull request #7319 from ouchihao/codex/bug-dialog-scroll-lock
...
fix(dialog): keep body locked while another dialog is open
2026-09-22 21:55:30 +08:00
Wesley Liddick
7865051fdf
Merge pull request #7320 from ouchihao/codex/bug-image-upload-read-order
...
fix(upload): cancel superseded image reads
2026-09-22 21:55:18 +08:00
Wesley Liddick
4b0adb6863
Merge pull request #7321 from ouchihao/codex/bug-proxy-expiry-boundary
...
fix(proxies): label newly expired proxies correctly
2026-09-22 21:55:07 +08:00
Wesley Liddick
ba5737fe14
Merge pull request #7322 from ouchihao/codex/bug-ccswitch-antigravity-slash
...
fix(ccswitch): trim trailing slashes before Antigravity path
2026-09-22 21:54:51 +08:00
Wesley Liddick
7b13cb410d
Merge pull request #7323 from ouchihao/codex/bug-announcement-stale-fetch
...
fix(announcements): ignore superseded fetch results
2026-09-22 21:54:38 +08:00
Wesley Liddick
bb1f40e35f
Merge pull request #7487 from wucm667/fix/issue-7482-anthropic-moderation
...
Handle trailing system messages in moderation input
2026-09-22 21:54:26 +08:00
Wesley Liddick
7be1628a74
Merge pull request #7488 from wucm667/fix/issue-7484-responses-item-id
...
Strip oversized input item IDs
2026-09-22 21:54:02 +08:00
chihao.ou
3eb4bae9ab
fix(profile): recognize DingTalk profile sources
2026-09-22 21:49:27 +08:00
chihao.ou
1f5cfe8973
fix(users): discard stale user attribute responses
2026-09-22 21:49:11 +08:00
chihao.ou
5fc4a06af6
fix(date-picker): refresh relative dates after midnight
2026-09-22 21:46:06 +08:00
chihao.ou
a1eaad6033
fix(channels): preserve model tags during IME composition
2026-09-22 21:45:48 +08:00
chihao.ou
1ca54bcc25
fix(profile): avoid starting TOTP cooldowns after unmount
2026-09-22 21:42:54 +08:00
chihao.ou
7ba6efe805
fix(subscriptions): use calendar dates for expiry labels
2026-09-22 21:40:14 +08:00
chihao.ou
4d667f1b08
fix(users): show normalized API errors in the balance dialog
2026-09-22 21:39:54 +08:00
chihao.ou
5c38d372c1
fix(accounts): keep temporary unschedulable status scoped to the current account
2026-09-22 21:37:01 +08:00
chihao.ou
9e4010695b
fix(channel-monitor): ignore stale detail requests
2026-09-22 21:36:42 +08:00
Thinker-Joe
4daea093f9
fix(openai): keep OAuth image aliases in the test picker
...
Image choices were resolved from DefaultModels IDs and from mapping keys, so an
alias whose target is a local image model (paint -> gpt-image-2.5-flare) never
reached the picker: IsModelSupported only matches keys, and a public name is not
an image model. Resolve the public name to its target before deciding, and only
synthesize an entry when the target is an image model.
Update the fixture of
TestFetchOpenAIAccountModelsOAuthLabelsLocalImageModelsLikeUpstream: it asserted
on an upstream slug the account did not configure, which conflicts with the
account-scoped projection. Coverage is preserved by configuring that slug and by
a new test asserting unconfigured text models stay out.
2026-09-22 21:15:20 +08:00
lcy
1d640c40e5
fix(tools): 清洗工具 Schema 里非法的 null required,修复上游 400
...
JSON Schema 规定 required 必须是属性名数组,但部分客户端会发成 null,
严格校验的上游直接拒绝整个请求:
xAI 400 /required: null is not of type "array"
Moonshot 400 At path 'required': required must be an array
同样的模型发纯文本请求一切正常,只有带 tools 时才失败,因此表现得像模型
或渠道故障。
三处改动:
1. 清洗 required:null 时整键删除,而不是替换成 []。JSON Schema 里缺省
required 等价于无必填项,删除保留了客户端原意,置 [] 反而凭空造出一条
客户端从未声明的约束。
2. 把 input_schema 也识别为 schema 根。此前只认 OpenAI Responses 的
parameters 拼法,Anthropic Messages 的工具定义因此绕过整套清洗。
3. 在 ForwardAsAnthropic 入口调用清洗。/v1/messages 此前不做任何工具
Schema 处理;该函数会分流到原生 Anthropic 直通、Chat Completions 与
Responses 三条路径,每条都原样透传 tools,所以必须在分流之前处理。
另外把 contentSchema 补进子 schema 关键字:它承载嵌套 schema,其中的
null required 此前会漏网。
配套测试同时锁定反向保证:default / examples / const / enum 里装的是实例
数据,字面量 {"required": null} 属于客户端 payload,不能被改写。现有的
关键字白名单下降本就如此,测试用于防止它退化成无差别遍历。
2026-09-22 20:49:24 +08:00