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
c54897a59d
Merge pull request #6815 from Pluviobyte/codex/fix-directed-proxy-backups
...
fix(proxies): make backup references directed and shareable
2026-09-08 20:46:32 +08:00
Wesley Liddick
29646ba6b4
Merge pull request #6488 from aofee/codex/feat-grok-media-eligibility-ui
...
feat: add Grok media eligibility controls
2026-09-08 20:46:20 +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
1923d1c27d
Merge pull request #6814 from feeeei/fix/go-redis-pool-nil-ctx-panic
...
fix(redis): 升级 go-redis 至 v9.22.0,修复连接池 nil-ctx panic 竞态
2026-09-08 20:09:59 +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
Wesley Liddick
28b807a735
Merge pull request #6816 from Pluviobyte/codex/fix-repeated-proxy-fallback
...
fix(proxies): allow repeated expiry fallback and preserve origin
2026-09-08 20:07:08 +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
刘佳林
10940ecf39
fix(minimax): gofmt MiniMax allowlist comments
...
golangci-lint gofmt failed on aligned comments in the default upstream host list.
2026-09-08 17:49:11 +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
7137fae2a6
test(proxies): preserve incoming references when editing backups
2026-09-08 13:58:34 +08:00
Rain
859de4c8fd
fix(proxies): allow repeated expiry fallback and preserve origin
2026-09-08 13:56:20 +08:00
Rain
e835f79819
fix(proxies): make backup references directed and shareable
2026-09-08 13:56:19 +08:00
feeeei
99eba19ffc
fix: 升级 go-redis 至 v9.22.0 修复连接池 nil-ctx panic
...
上游竞态:调用方超时后 wantConn.ctx 被置 nil,拨号 goroutine 用 nil ctx
创建超时上下文触发 panic(go-redis#3630,v9.18.0 起修复)。
生产环境在连接池饥饿 + 请求超时风暴下每秒触发上万次。
同步将 ZRangeByScore 迁移至 ZRangeArgs:v9.22.0 将其标记为 deprecated,
golangci-lint staticcheck 拦截(SA1019)。ZRangeArgs{ByScore: true} 与原
调用发出的 Redis 命令参数完全等价(LIMIT 编码逻辑相同)。
2026-09-08 13:46:59 +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
github-actions[bot]
772a0382f0
chore: sync VERSION to 0.2.3 [skip ci]
2026-09-08 02:35:11 +00:00
shaw
4a7739acdf
fix(db): converge groups.model_allowlist on upgrade
...
235 只在「models_list_config 存在且 model_allowlist 不存在」时重命名,而迁移一旦
写入 schema_migrations 就会按「文件名 + checksum」整份跳过,不再重跑。因此只要数据库
在 235 之后回到旧结构(为回滚旧版本镜像手工改回列名、或按旧结构做了部分恢复),
应用依旧能正常启动,但每个关联 groups 的查询都会失败:
pq: column groups.model_allowlist does not exist
表现为「API 密钥」「我的订阅」「管理端订阅列表」等页面加载失败。
新增可重放的收敛迁移 236,升级即自愈:只有旧列则重命名(数据原样保留);两列并存
则在新列仍为默认空值时回填旧列配置;两列都没有则按默认值补建。收尾统一把
model_allowlist 归一成 NOT NULL DEFAULT '{}',与 ent schema 对齐。
判定列是否存在改用 attrelid = 'groups'::regclass(跟随 search_path),
不再写死 table_schema = 'public',避免与 ALTER TABLE 的解析路径分叉。
Fixes #6780
2026-09-08 09:15:23 +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
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
Zero Clover
e094a3f40b
fix(accounts): populate display names for live test models
2026-09-07 21:59:35 +08:00
alfadb
57387445f3
fix(ollama): select Bearer auth for Anthropic endpoints automatically
2026-09-07 21:54:22 +08:00
alfadb
2fc24d8879
fix(ollama): normalize Messages base URLs before token clamping
2026-09-07 21:54:22 +08:00
alfadb
cc91155fe4
fix(ollama): clamp DeepSeek output limits across API protocols
2026-09-07 21:54:21 +08:00
github-actions[bot]
b7dba62678
chore: sync VERSION to 0.2.2 [skip ci]
2026-09-07 13:01:57 +00:00
Wesley Liddick
5485f368b2
Merge pull request #6690 from alfadb/fix/astra-pro-mode
...
fix(openai): 保留 Codex OAuth 请求中的 Astra reasoning.mode
2026-09-07 20:42:37 +08:00
shaw
2031c1d5ad
fix(groups): merge main and resolve model allowlist conflicts
...
Resolve three conflicts from main's #6680 (supplementUnmappedOpenAIModels):
1. gateway_handler.go — keep PR's allowlist refactoring (ModelAllowlistEnabled,
writeAllowlistedModelsList, modelListingSource); main's OpenAI branch in
writeModelsList was auto-merged.
2. group_models_list.go (modify/delete) — delete file per PR intent; relocate
supplementUnmappedOpenAIModels to group_model_allowlist.go where gateway_service
and openai_codex_models_service can still call it.
3. openai_codex_models_service.go — combine main's supplementUnmappedOpenAIModels
wrapping with PR's ModelAllowlistEnabled() guard.
Also fix two auto-merged test files that still referenced the old
GroupModelsListConfig / ModelsListConfig types.
2026-09-07 19:44:03 +08:00
刘佳林 and 刘佳林
6f2295bfc7
test(minimax): 按平台注册表推导调度器 snapshot 期望数量
...
新增 MiniMax 后 canonical token / 账号查询数增加,硬编码期望值过期。
改为从 schedulerSnapshotPlatforms 派生 bucket 与 query 数量,避免下次加平台再踩坑。
账号查询计数辅助函数仅用于单测,放在 unit test 文件以免 unused。
Co-authored-by: 刘佳林 <DuskLin@users.noreply.github.com >
2026-09-07 11:40:11 +00:00
shaw
f6d580200a
fix: update #6688 test assertions for #6678 image modality and #6718 ultra level
...
- TestCodexAliasFailoverMappingHonorsModelRouting/no_routing_rule: expect
["text","image"] instead of ["text"] — image input is resolved per-account
via isOpenAICodexImageInputModel, independent of routing rules
- TestCodexAliasFailoverMappingHonorsModelRouting/routing_rule: expect
effort levels to include "ultra" (added by #6718 )
2026-09-07 19:13:01 +08:00
shaw
b491c3271b
fix: rename redeemMaxErrorsPerHour to redeemMaxFailedAttempts in tests
...
#6669 renamed the constant from redeemMaxErrorsPerHour to
redeemMaxFailedAttempts (fixed 10-minute window), but #6670 's tests
still referenced the old name, breaking compilation on main.
2026-09-07 19:00:04 +08:00
shaw
d106b3b5a0
fix: resolve merge conflict with main and fix #6718 missing group parameter
...
- Resolve conflict in openai_codex_models_service_test.go: keep both
GPT-6 Astra instructions template assertion (from this PR) and ultra
reasoning level + multi_agent fields (from #6718 on main)
- Fix compilation error on main: add missing `group *Group` parameter
to buildCodexModelsManifestForAccounts calls in
openai_codex_model_metadata_test.go (lines 24, 32) — caused by #6688
changing the function signature while #6718 added new callers with
the old signature
2026-09-07 18:58:00 +08:00
Wesley Liddick
66cd8a72bc
Merge pull request #6738 from Milesians/codex/fix-interval-multiplier-display
...
fix: 修正区间倍率展示并补齐模型广场 1h 缓存价格
2026-09-07 18:51:00 +08:00