HuntercodeT
da74bf13a4
fix(gemini): discover antigravity mappings in native model lists
2026-09-15 16:50:46 +08:00
Wesley Liddick
86f93c28ee
Merge pull request #6977 from alfadb/fix/deepseek-model-name-validation
...
fix(deepseek): 未配置 model_mapping 时按官方模型名单校验,不再透传未知模型名
v0.2.5
2026-09-15 16:20:31 +08:00
Wesley Liddick
30ed40a56a
Merge pull request #7074 from Brisbanehuang/codex/fix-codex-quota-windows
...
fix(scheduler): 按规范 5h/7d 窗口读取 Codex 配额与重置时间
2026-09-15 16:17:37 +08:00
Wesley Liddick
b8275209e8
Merge pull request #7162 from HuntercodeT/fix/antigravity-gemini-sse-separator
...
fix(antigravity): gemini 透传 SSE 事件之间不再多写一个空行(Antigravity CLI invalid stream chunk)
2026-09-15 16:17:25 +08:00
郭兰鑫 and Claude Code
1e231ee2ae
fix(antigravity): resolve golangci-lint errors in schema cleaner tests
...
- Replace unchecked single-value type assertions with comma-ok form
guarded by require.True (errcheck check-type-assertions)
- Remove trailing blank line flagged by gofmt
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-09-15 16:01:30 +08:00
Wesley Liddick
25c21aedda
Merge pull request #7129 from kk-418/fix/grok-build-responses-sequence-number
...
fix(responses): 始终在 Responses SSE 中写出 sequence_number 避免反序列化失败
2026-09-15 15:28:33 +08:00
Wesley Liddick
2d9af8592f
Merge pull request #7153 from hezhaoqian1/codex/upstream-api-key-provider-filter
...
feat: filter API key groups by provider
2026-09-15 15:26:29 +08:00
HuntercodeT
8447bdd368
fix(antigravity): gemini 透传 SSE 事件之间不再多写一个空行
...
handleGeminiStreamingResponse 把上游每条 data 行改写成 "data: ...\n\n",
紧接着又把上游的空分隔行原样透传成第三个 "\n",下游看到的事件之间是
"\n\n\n"。google-genai 的 Go SDK(Antigravity CLI 在用)按 "\n\n" 切事件,
多出的 "\n" 粘到下一个事件开头,前缀变成 "\ndata" 而报
"iterateResponseStream: invalid stream chunk",每条流都在第二个事件中断。
空分隔行不再透传(data 分支已经写过 "\n\n"),附回归测试:两个事件
(LF 与 CRLF 各一)经过后输出必须恰好是一个空行分隔,并按 "\n\n" 切帧
逐个校验前缀。
Fixes #7161
2026-09-15 15:10:45 +08:00
haruka
4f6f206458
docs: add rolling log retention settings screenshot
2026-09-15 14:23:27 +08:00
haruka
6582260bc8
feat: add configurable rolling log retention
2026-09-15 14:21:15 +08:00
shaw
32682a4f84
chore: update sponsors
2026-09-15 14:01:28 +08:00
hezhaoqian1
55a95d4c67
feat: filter API key groups by provider
2026-09-15 11:16:17 +08:00
alfadb
a939553c87
fix(deepseek): 模型名校验不再默认兜底,未配置映射时按官方名单校验
...
- 未配置 model_mapping 的 DeepSeek 账号不再放行任意模型名,改为官方名单精确匹配
(deepseek-flash / deepseek-v4-pro / deepseek-v4-flash /
deepseek-v4-flash-vision-exp / deepseek-v4-pro-0813)
- 校验前先归一化:剥离 Claude Code 客户端上下文后缀 [1m](含重复形式)并统一小写,
使官方 Claude Code 接入写法 deepseek-flash[1m] 继续可用
- 未知模型名在调度阶段即拒绝,返回 404 model_not_found,避免透传上游后触发
per-(账号,模型) 冷却、并避免上游把不认识的模型名静默兜底成 deepseek-flash
- 出站前剥离泄漏的 [1m] 后缀,仅作用于 DeepSeek 平台
- 配置了 model_mapping 的账号语义不变(映射优先)
2026-09-15 10:42:29 +08:00
Wesley Liddick
badfad8b72
Merge pull request #6257 from 88766lawrence/fix/oauth-promo-code-6216
...
fix(auth): preserve promo codes through OAuth registration
2026-09-15 09:01:39 +08:00
Wesley Liddick
1be482c313
Merge pull request #7148 from Wei-Shaw/revert-7110-codex/bug-batch-image-access-session
...
Revert "fix(batch-image): scope access cache to the current user"
2026-09-15 09:00:23 +08:00
Wesley Liddick
325213ae66
Revert "fix(batch-image): scope access cache to the current user"
2026-09-15 08:59:52 +08:00
Wesley Liddick
0a215c9318
Merge pull request #7110 from ouchihao/codex/bug-batch-image-access-session
...
fix(batch-image): scope access cache to the current user
2026-09-15 08:59:23 +08:00
Wesley Liddick
2061508ad8
Merge pull request #7072 from Brisbanehuang/codex/fix-scheduler-metrics
...
fix(scheduler): 修复选号耗时返回值和粘性命中率重复计数
2026-09-15 08:58:58 +08:00
Wesley Liddick
fb90414c05
Merge pull request #7126 from xO-ox-ai/codex/fix-responses-lite-namespace
...
fix(openai): 保留 Responses Lite namespace 工具调用
2026-09-15 08:58:25 +08:00
Wesley Liddick
9fade3e8c2
Merge pull request #6769 from alfadb/feature/ollama-rate-limit-reset
...
feat(ollama): 根据用量窗口异步更新限流恢复时间
2026-09-15 08:57:43 +08:00
Wesley Liddick
1920a7d687
Merge pull request #7091 from SavitarC/feat/subscription-bulk-actions
...
feat: 支持订阅管理批量操作
2026-09-15 08:57:27 +08:00
Wesley Liddick
a444551a6d
Merge pull request #6654 from ouchihao/codex/issue-2229-register-confirm-password
...
feat(auth): require password confirmation during registration
2026-09-15 08:56:56 +08:00
Wesley Liddick
0bba06d64a
Merge pull request #6691 from yan9651688/feat/api-key-bulk-edit
...
feat(keys): add bulk editing to API key management
2026-09-15 08:56:07 +08:00
Wesley Liddick
150c52b8de
Merge pull request #6689 from tunsuy/fix/antigravity-codex-web-search-mixed-tools
...
fix(antigravity): drop mixed web_search when client tools present
2026-09-15 08:54:40 +08:00
Wesley Liddick
3e4b6a09b2
Merge pull request #6925 from reed-yang/fix/recover-responses-text
...
fix(apicompat): recover Responses text from done and terminal events
2026-09-15 08:54:21 +08:00
Wesley Liddick
dd2e6b3680
Merge pull request #7076 from Shen-An/fix/antigravity-refresh-warning
...
fix(admin): surface partial Antigravity refresh warnings
2026-09-15 08:54:06 +08:00
Wesley Liddick
d4439129a7
Merge pull request #7094 from liuyuzhou666/fix/responses-chat-developer-role-mapping
...
fix(apicompat): 修复 Responses 降级 Chat Completions 时的 system 消息顺序问题
2026-09-15 08:53:50 +08:00
Wesley Liddick
1e1d15cca5
Merge pull request #7082 from ggllzz04/fix/antigravity-token-cache-isolation
...
fix(antigravity): isolate OAuth token cache key by account ID to prevent 429 collision
2026-09-15 08:53:32 +08:00
Wesley Liddick
f7e959ae5f
Merge pull request #7111 from ouchihao/codex/bug-proxy-clear-credentials
...
fix(proxy): allow explicitly clearing stored credentials
2026-09-15 08:52:58 +08:00
Wesley Liddick
008391f699
Merge pull request #7085 from r266-tech/codex/sub2api-f352188cb784
...
fix(openai): strip internal metadata from OAuth input items
2026-09-15 08:52:30 +08:00
Wesley Liddick
a4c517917b
Merge pull request #7073 from Brisbanehuang/codex/fix-batch-image-priority
...
fix(batch-image): 修正批量生图账号优先级排序方向
2026-09-15 08:52:19 +08:00
Wesley Liddick
e9169901d2
Merge pull request #7112 from ouchihao/codex/bug-monitor-refresh-interval
...
fix(monitor): honor the selected auto-refresh interval
2026-09-15 08:52:00 +08:00
chihao.ou
0e1329b520
fix(ui): reset select highlight when search results change
2026-09-14 21:28:59 +08:00
HPnetwork
29bce46a2a
fix: keep API key accounts available for unknown models
2026-09-14 05:56:59 -04:00
xO-ox-ai
13c1d4cde2
test(openai): 覆盖 Lite 命名空间工具回传
2026-09-14 11:46:41 +08:00
cikenerd and Cursor
087987070b
fix(responses): 为 grok-build 始终写出 sequence_number
...
网关合成/重编的 Responses SSE 因 omitempty 或缺字段丢掉 sequence_number,
grok-build 会整轮反序列化失败。合成失败帧、compact 桥接和转换 wire JSON
一律写出该字段,0 也保留。
Fixes #7128
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 11:45:53 +08:00
xO-ox-ai
4bd7132ba9
fix(openai): 保留 Responses Lite namespace 调用
2026-09-14 11:35:03 +08:00
chihao.ou
28a4ea914d
fix(proxy): allow explicitly clearing stored credentials
2026-09-13 17:23:24 +08:00
chihao.ou
5ecfaa4837
fix(batch-image): scope access cache to the current user
2026-09-13 17:22:56 +08:00
chihao.ou
06af9f871c
fix(monitor): honor the selected auto-refresh interval
2026-09-13 17:20:56 +08:00
chihao.ou
7dace2fecb
fix(ui): discard unapplied date ranges on dismissal
2026-09-13 17:18:15 +08:00
chihao.ou
a985de062c
fix(ui): focus non-searchable select dropdowns
2026-09-13 17:16:26 +08:00
MHJoy99
7511e4de59
fix(streaming): drop Anthropic ping keepalives before OpenAI conversion
...
Upstream Anthropic keepalive frames (event: ping) leaked into OpenAI
Chat Completions SSE streams, crashing strict clients (Cursor, Hermes,
OpenAI SDKs) on unexpected event types. Error events still forward.
Fixes #5203
2026-09-13 13:30:50 +06:00
liuyuzhou666
52558381c6
fix(apicompat): merge leading system messages and downgrade mid-conversation system from Responses bridge
...
The Responses to Chat Completions bridge mapped both the instructions field and role developer items to system messages. Codex always sends both, and also injects developer notices mid-conversation when switching models, so the forwarded request contained consecutive leading system messages and mid-conversation system messages. Strict Qwen-family upstreams reject this with HTTP 400 "System message must be at the beginning."
Leading system/developer messages are now merged into a single leading system message, and later system/developer messages are downgraded to user so the content is preserved without violating upstream role ordering.
2026-09-13 14:08:57 +08:00
SavitarC
e3cce574d7
fix: serialize subscription extensions
2026-09-13 12:33:35 +08:00
SavitarC
3d6c207723
feat: 支持订阅管理批量操作
2026-09-13 11:49:03 +08:00
alfadb
a1d5968b24
feat(ollama): async rate-limit reset for Ollama Cloud usage windows
...
Real Ollama Cloud 429s are driven by ollama.com usage windows, not by
response headers that OpenAI/Anthropic/CN rate-limit parsing understands.
Handle them separately: apply a never-shortening temporary cooldown first,
then schedule an async probe that learns the true usage-window reset point
with a controlled, coalesced per-api_key refresh.
- ratelimit_service: route real Ollama Cloud usage accounts to a dedicated
429 path before the CN-provider branch.
- ollama_cloud_usage: add a background probe coordinator (started in Start,
waited by Stop) that fans out model-429 probes to one controlled refresh
per api_key group, reusing the recent group snapshot for coalesced members.
- repository/account_repo: add SetRateLimitedIfUnchanged, a write-back CAS
counterpart to ClearRateLimitIfObserved, so an async reset never overwrites
a newer 429, an admin clear, a re-armed generation, or a key/state change
observed by another writer between read and write.
- wire: inject OllamaCloudUsageService into RateLimitService.
Tests: unit tests for service and repository pass; targeted race tests pass;
build and vet clean; git diff --check clean. The CAS integration test compiles
but is not run (no Docker available).
2026-09-13 10:41:47 +08:00
r266-tech
e5272c130c
test(openai): check input type before metadata assertion
2026-09-13 07:13:31 +08:00
r266-tech
196c15b5cd
fix(openai): strip internal metadata from OAuth input items
2026-09-13 07:00:50 +08:00
郭兰鑫
69d49744cf
fix(antigravity): address code review feedback on schema cleaner
...
- Fix test assertion target location for whereItems prefixItems
- Support const keyword normalization to enum and infer scalar type
- Infer scalar type for enum-only schema to prevent object reason injection
- Recursively clean properties and items after anyOf/oneOf merge
- Ensure empty prefixItems is safely deleted
2026-09-13 03:57:18 +08:00