Wesley Liddick
bbc79796dc
Merge pull request #1529 from IanShaw027/feat/group-messages-dispatch-redo
...
feat: 为openai分组增加messages调度模型映射并支持instructions模板注入
2026-04-09 21:14:38 +08:00
Wesley Liddick
760cc7d6be
Merge pull request #1481 from alfadb/fix/increase-error-log-body-limit
...
fix(ops): 将错误日志请求体存储限制从 10KB 提升至 256KB
2026-04-09 21:14:13 +08:00
Wesley Liddick
9a72025afb
Merge pull request #1523 from octo-patch/fix/issue-1519-home-content-csp-frame-src
...
fix: include home_content URL in CSP frame-src origins
2026-04-09 21:13:46 +08:00
Wesley Liddick
74302f60ab
Merge pull request #1010 from Glorhop/pr/oidc-login
...
feat(auth): support OIDC login and prefer IdP real email on sign-in
2026-04-09 21:13:22 +08:00
alfadb
6401dd7cc7
fix(ops): increase error log request body limit from 10KB to 256KB
...
10KB is too aggressive for modern LLM API requests where conversation
context routinely exceeds 1MB. This causes error logs to contain only
a minimal placeholder, making it impossible to debug upstream failures.
256KB retains enough context for effective debugging while the existing
multi-pass trimming logic handles larger payloads gracefully.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 17:49:02 +08:00
IanShaw027
7d008bd5b6
fix(test): 修正 admin service 分组测试平台字段赋值
2026-04-09 12:42:37 +08:00
IanShaw027
66ff2def8c
fix(test): 补充 admin service 分组测试字符串指针辅助函数
2026-04-09 12:39:05 +08:00
IanShaw027
de9b9c9dfb
feat(admin): 增加分组 messages 调度映射配置界面
2026-04-09 12:30:25 +08:00
IanShaw027
d765359f4b
test(admin): 增加messages调度表单状态转换测试
2026-04-09 12:30:06 +08:00
IanShaw027
4de4823a65
feat(openai): 支持messages模型映射与instructions模板注入
2026-04-09 12:29:49 +08:00
IanShaw027
23c4d592f8
feat(group): 增加messages调度模型映射配置
2026-04-09 12:29:28 +08:00
Glorhop
311f06745a
chore: clean up deprecated Sora settings after rebase
2026-04-09 03:06:53 +00:00
Wesley Liddick
1b79f6a7cf
Merge pull request #1522 from xvhuan/fix/redis-snapshot-meta-fix
...
优化调度快照缓存,避免 1.5 万账号场景下 Redis 大 MGET
2026-04-09 10:25:33 +08:00
Glorhop
8e1a7bdfff
fix: fixed an issue where OIDC login consistently used a synthetic email address
2026-04-09 02:20:51 +00:00
ruiqurm
02a66a01c3
feat: support OIDC login.
2026-04-09 02:20:51 +00:00
octo-patch
ce833d91ce
fix: include home_content URL in CSP frame-src origins ( fixes #1519 )
2026-04-09 09:47:27 +08:00
shaw
155d3474d6
chore: update Sponsors
2026-04-09 09:21:55 +08:00
ius
265687b56d
fix: 优化调度快照缓存以避免 Redis 大 MGET
2026-04-08 10:39:15 -07:00
github-actions[bot]
0d69c0cd64
chore: sync VERSION to 0.1.110 [skip ci]
2026-04-08 08:41:32 +00:00
shaw
f54e9d0b1c
chore: update readme
2026-04-08 16:37:00 +08:00
shaw
b982076e52
fix: resolve errcheck lint and add missing enable_cch_signing to test
...
- Suppress errcheck for xxhash Digest.Write (never returns error)
- Add enable_cch_signing field to settings API contract test
2026-04-08 16:23:02 +08:00
shaw
7060596a30
fix: bump Go from 1.26.1 to 1.26.2 to resolve 6 stdlib CVEs
...
Fixes GO-2026-4947, GO-2026-4946, GO-2026-4870, GO-2026-4869,
GO-2026-4866, GO-2026-4865 in crypto/x509, crypto/tls, archive/tar,
and html/template.
2026-04-08 16:17:15 +08:00
shaw
e51c9e50b5
feat: sync billing header cc_version with User-Agent and add opt-in CCH signing
...
- Sync cc_version in x-anthropic-billing-header with the fingerprint
User-Agent version, preserving the message-derived suffix
- Implement xxHash64-based CCH signing to replace the cch=00000
placeholder with a computed hash
- Add admin toggle (enable_cch_signing) under gateway forwarding settings,
disabled by default
2026-04-08 16:11:19 +08:00
Wesley Liddick
5088e91566
Merge pull request #1417 from YanzheL/fix/openai-empty-base64-image-payloads
...
fix: sanitize empty base64 image payloads for OpenAI requests
2026-04-08 14:20:38 +08:00
Wesley Liddick
276f499c82
Merge pull request #1418 from YanzheL/fix/1161-gemini-google-search-grounding
...
fix(gemini): preserve google search grounding tools
2026-04-08 14:19:57 +08:00
Wesley Liddick
5c203ce6c6
Merge pull request #1428 from YanzheL/fix/openai-gateway-content-session-hash-fallback
...
fix(gateway): add content-based session hash fallback for non-Codex clients
2026-04-08 14:17:49 +08:00
Wesley Liddick
47cd1c5286
Merge pull request #1467 from touwaeriol/refactor/channel-service-cleanup
...
refactor(channel): split long functions, extract shared validation, move billing validation to service
2026-04-08 14:16:28 +08:00
Wesley Liddick
06e2756ee4
Merge pull request #1501 from StarryKira/fix/1493-non-streaming-empty-output
...
fix: 非流式响应路径扩展SSE检测至所有账号类型
2026-04-08 14:11:47 +08:00
shaw
1c9a2128cf
fix: 修复非CC客户端OAuth伪装被Anthropic检测为第三方应用的问题
...
commit f3aa54b 的 rewriteSystemForNonClaudeCode 未能通过 Anthropic 第三方检测,
根因是两个关键信号与真实 Claude Code 不一致:
1. anthropic-beta 头缺少 claude-code-20250219:伪装路径主动将该 beta
加入 drop set 并移除,但 Anthropic 依赖此 beta 识别 Claude Code 请求。
修复:非 haiku 模型的伪装请求强制包含 claude-code beta。
2. system 字段使用 string 格式而非 array+cache_control:真实 Claude Code
始终以 [{type,text,cache_control:{type:"ephemeral"}}] 发送 system,
string 格式成为第三方检测信号。
修复:rewriteSystemForNonClaudeCode 改为注入 array 格式。
附带调整:stripSystemCacheControl 按 system 是否被重写动态决定,
重写时保留 CC prompt 的 cache_control,未重写时(haiku/已含CC前缀)
保持原有剥离行为。
2026-04-08 14:06:06 +08:00
Elysia
9e515ea7c4
fix: 非流式响应路径扩展SSE检测至所有账号类型 ( #1493 )
...
当上游返回SSE格式响应(如sub2api链路)时,API Key账号的非流式路径
未检测SSE,导致终态事件中空output直接透传给客户端。
- 将Content-Type SSE检测从仅OAuth扩展至所有账号类型
- 重命名handleOAuthSSEToJSON为handleSSEToJSON(无OAuth专属逻辑)
- 为透传路径新增handlePassthroughSSEToJSON,支持SSE转JSON及空output重建
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-07 22:49:14 +08:00
Wesley Liddick
00aaf0f796
Merge pull request #1382 from StarryKira/fix/refresh-token-race-condition
...
fix: resolve refresh token race condition causing false invalid_grant errors fix issue#1381
2026-04-07 20:50:08 +08:00
github-actions[bot]
3694811d06
chore: sync VERSION to 0.1.109 [skip ci]
2026-04-07 12:49:46 +00:00
Wesley Liddick
81b96ae123
Merge pull request #1498 from aiexz/main
...
do not normalize model for openai API token based accounts
2026-04-07 20:37:10 +08:00
shaw
7c60ee3c85
feat: Beta策略支持按模型区分处理(模型白名单)
2026-04-07 20:33:09 +08:00
shaw
b2e379cf7a
fix: 非流式路径在上游终态事件output为空时从delta事件重建响应内容
...
上游API近期更新后,response.completed终态SSE事件的output字段可能为空,
实际内容仅通过response.output_text.delta等增量事件下发。流式路径不受影响,
但chat_completions非流式路径和responses OAuth非流式路径只依赖终态事件的
output,导致返回空响应。
新增BufferedResponseAccumulator累积器,在SSE扫描过程中收集delta事件内容
(文本、function_call、reasoning),当终态output为空时补充重建。
同时修复handleChatBufferedStreamingResponse遗漏response.done事件类型的问题。
2026-04-07 19:35:56 +08:00
shaw
08b454423b
chore: renew expired xlsx audit exceptions to 2026-07-06
2026-04-07 17:22:17 +08:00
shaw
f3aa54b770
fix: 非Claude Code客户端system prompt迁移至messages以绕过第三方应用检测
...
Anthropic近期引入基于system参数内容的第三方应用检测机制,原有的前置追加
Claude Code提示词策略无法通过检测(后续内容仍为非Claude Code格式触发429)。
新策略:对非Claude Code客户端的OAuth/SetupToken账号请求,将system字段
完整替换为Claude Code标识提示词,原始system内容作为user/assistant消息对
注入messages开头,模型仍接收完整指令。
仅影响/v1/messages路径,chat_completions和responses路径保持原有逻辑不变。
真正的Claude Code客户端请求完全不受影响(原样透传)。
2026-04-07 17:06:47 +08:00
Alex
3a07e92b60
fix(openai): do not normalize /completion API token based accounts
2026-04-07 11:40:41 +03:00
Alex
7eecc49c3a
fix(openai): do not normalize API token based accounts
2026-04-07 11:27:57 +03:00
Wesley Liddick
9ab2fd7f9e
Merge pull request #1391 from Zqysl/qingyu/fix-openai-passthrough-failover-429-529
...
fix(openai): fail over passthrough 429 and 529
2026-04-07 15:18:52 +08:00
Wesley Liddick
bf2b590273
Merge pull request #1397 from weak-fox/fix/active-filter-excludes-rate-limited
...
解决账号管理中“正常”筛选包含限流中账号
2026-04-07 08:26:51 +08:00
erio
9151d34d40
refactor(channel): split long functions, extract shared validation, move billing validation to service
...
- Split Update (98→25 lines), buildCache (54→20 lines), Create (51→25 lines)
into focused sub-functions: applyUpdateInput, checkGroupConflicts,
fetchChannelData, populateChannelCache, storeErrorCache, getOldGroupIDs,
invalidateAuthCacheForGroups
- Extract validateChannelConfig to eliminate duplicated validation calls
between Create and Update
- Move validatePricingBillingMode from handler to service layer for
proper separation of concerns
- Add error logging to IsModelRestricted (was silently swallowing errors)
- Add 12 new tests: ToUsageFields, billing mode validation, antigravity
wildcard mapping isolation, Create/Update mapping conflict integration
2026-04-05 22:32:49 +08:00
shaw
339d906e54
chore: update readme
2026-04-05 22:31:01 +08:00
shaw
f47c865555
chore: update readme
2026-04-05 22:27:13 +08:00
github-actions[bot]
58df2f0bdc
chore: sync VERSION to 0.1.108 [skip ci]
2026-04-05 14:12:15 +00:00
Wesley Liddick
c71b1d63e5
Merge pull request #1460 from imfusheng/main
...
解决issue#1453提到的反重力不可用问题
2026-04-05 22:01:08 +08:00
shaw
a07296770c
fix: remove remaining Sora references from frontend
...
The previous Sora removal missed several frontend references, causing
TypeScript build errors for sora_client_enabled and a missing SoraView.vue
import. Clean up all remaining Sora code from types, router, sidebar,
settings, store, and accounts API.
2026-04-05 21:26:47 +08:00
Wesley Liddick
8154575d70
Merge pull request #1464 from touwaeriol/fix/channel-platform-isolation
...
fix(channel): remove cross-platform pricing/mapping leakage for antigravity groups
2026-04-05 21:09:10 +08:00
Wesley Liddick
d757df8a4b
Merge pull request #1463 from touwaeriol/feat/remove-sora
...
revert: completely remove Sora platform
2026-04-05 21:08:48 +08:00
erio
c5688fef9a
fix: remove cross-platform pricing/mapping leakage for antigravity groups
...
Antigravity groups were incorrectly matching pricing and model mapping
entries from anthropic/gemini platform tabs. Each platform should be
strictly isolated — antigravity groups only use antigravity-tagged pricing.
2026-04-05 20:42:24 +08:00