Calcium-Ion
089dd8aa45
Merge pull request #2667 from seefs001/fix/gemini-whitelist-field
...
fix: openAI function to gemini function field adjusted to whitelist mode
2026-01-21 23:45:57 +08:00
feitianbubu
575574f068
fix: jimeng i2v support multi image by metadata
2026-01-19 11:34:46 +08:00
Seefs
1d8a11b37a
fix: for chat-based calls to the Claude model, tagging is required. Using Claude's rendering logs, the two approaches handle input rendering differently.
2026-01-15 15:28:02 +08:00
Seefs
ea802f2297
fix: openAI function to gemini function field adjusted to whitelist mode
2026-01-15 13:26:42 +08:00
Seefs
e5cb9ac03a
feat: codex channel ( #2652 )
...
* feat: codex channel
* feat: codex channel
* feat: codex oauth flow
* feat: codex refresh cred
* feat: codex usage
* fix: codex err message detail
* fix: codex setting ui
* feat: codex refresh cred task
* fix: import err
* fix: codex store must be false
* fix: chat -> responses tool call
* fix: chat -> responses tool call
2026-01-14 22:29:43 +08:00
Seefs
ca11fcbabd
Merge pull request #2632 from feitianbubu/pr/add-doubao-video-1.5
2026-01-14 16:33:30 +08:00
Seefs
6169f46cc6
Merge pull request #2627 from seefs001/feature/channel-test-param-override
...
feat: channel testing supports parameter overriding
2026-01-12 18:49:05 +08:00
Seefs
138fcd2327
fix: clean propertyNames for gemini function
2026-01-11 23:34:18 +08:00
Seefs
62b796fa6a
feat: /v1/chat/completion -> /v1/response ( #2629 )
...
* feat: /v1/chat/completion -> /v1/response
2026-01-11 21:38:07 +08:00
feitianbubu
a4f28f0b79
feat: add doubao video 1.5
2026-01-10 22:23:31 +08:00
Seefs
1a5c8f3c35
Merge pull request #2615 from RedwindA/feat/GeminiNativeFetchModels
...
fix(gemini): fetch model list via native v1beta/models endpoint
2026-01-09 23:54:36 +08:00
RedwindA
c975b4cfa8
fix(minimax): 添加 MiniMax-M2 系列模型到 ModelList
2026-01-09 20:46:47 +08:00
RedwindA
07e77b3c6f
refactor(gemini): 更新 GeminiModelsResponse 以使用 dto.GeminiModel 类型
2026-01-09 18:08:11 +08:00
RedwindA
c2464fc877
fix(gemini): fetch model list via native v1beta/models endpoint
...
Use the native Gemini Models API (/v1beta/models) instead of the OpenAI-compatible
path when listing models for Gemini channels, improving compatibility with
third-party Gemini-format providers that don't implement OpenAI routes.
- Add paginated model listing with timeout and optional proxy support
- Select an enabled key for multi-key Gemini channels
2026-01-09 18:00:40 +08:00
郑伯涛
aed1900364
fix(task): 修复使用 auto 分组时 Task Relay 不记录日志和不扣费的问题
...
问题描述:
- 使用 auto 分组的令牌调用 /v1/videos 等 Task 接口时,虽然任务能成功创建,
但使用日志不显示记录,且不会扣费
根本原因:
- Distribute 中间件在选择渠道后,会将实际选中的分组存储在 ContextKeyAutoGroup 中
- 但 RelayTaskSubmit 函数没有从 context 中读取这个值来更新 info.UsingGroup
- 导致 info.UsingGroup 始终是 "auto" 而不是实际选中的分组(如 "sora2逆")
- 当 auto 分组的倍率配置为 0 时,quota 计算结果为 0
- 日志记录条件 "if quota != 0" 不满足,导致日志不记录、不扣费
修复方案:
- 在 RelayTaskSubmit 函数中计算分组倍率之前,添加从 ContextKeyAutoGroup
获取实际分组的逻辑
- 使用安全的类型断言,避免潜在的 panic 风险
影响范围:
- 仅影响 Task Relay 流程(/v1/videos, /suno, /kling 等接口)
- 不影响使用具体分组令牌的调用
- 不影响其他 Relay 类型(chat/completions 等已有类似处理逻辑)
2026-01-06 00:16:50 +08:00
Seefs
5f37a1e97c
fix: fix the proxyURL is empty, not using the default HTTP client configuration && the AWS calling side did not apply the relay timeout.
2026-01-05 17:56:24 +08:00
Calcium-Ion
177553af37
Merge pull request #2578 from xyfacai/fix/gemini-mimetype
...
fix: 修复 gemini 文件类型不支持 image/jpg
2026-01-04 22:19:16 +08:00
Xyfacai
5ed4583c0c
fix: 修复 gemini 文件类型不支持 image/jpg
2026-01-04 22:09:03 +08:00
Seefs
1519e97bc6
Merge pull request #2550 from shikaiwei1/patch-2
2026-01-04 18:11:46 +08:00
Seefs
6b1f8b84c6
Merge pull request #2568 from seefs001/feature/channel_override_trim_prefix
2026-01-03 12:38:32 +08:00
Seefs
67ba913b44
feat: add support for Doubao /v1/responses ( #2567 )
...
* feat: add support for Doubao /v1/responses
2026-01-03 12:35:35 +08:00
Seefs
817da8d73c
feat: add parameter coverage for the operations: copy, trim_prefix, trim_suffix, ensure_prefix, ensure_suffix, trim_space, to_lower, to_upper, replace, and regex_replace
2026-01-03 10:27:16 +08:00
Seefs
43c671b8b3
Merge pull request #2393 from prnake/fix-claude-haiku
2026-01-03 09:36:42 +08:00
Seefs
3510b3e6fc
Merge pull request #2532 from feitianbubu/pr/620211e02bd55545f0fa4568f3d55c3b4d7f3305
2026-01-03 09:36:17 +08:00
CaIon
d06915c30d
feat(ratio): add functions to check for audio ratios and clean up unused code
2025-12-31 21:29:10 +08:00
CaIon
23a68137ad
feat(adaptor): update resolution handling for wan2.6 model
2025-12-31 00:44:06 +08:00
CaIon
2a5b2add9a
refactor(image): remove unnecessary logging in oaiImage2Ali function
2025-12-31 00:23:19 +08:00
John Chen
ab81d6e444
fix: 修复智普、Moonshot渠道在stream=true时无法拿到cachePrompt的统计数据。
...
根本原因:
1. 在OaiStreamHandler流式处理函数中,调用applyUsagePostProcessing(info, usage, nil)时传入的responseBody为nil,导致无法从响应体中提取缓存tokens。
2. 两个渠道的cached_tokens位置不同:
- 智普:标准位置 usage.prompt_tokens_details.cached_tokens
- Moonshot:非标准位置 choices[].usage.cached_tokens
处理方案:
1. 传递body信息到applyUsagePostProcessing中
2. 拆分智普和Moonshot的解析,并为Moonshot单独写一个解析方法。
2025-12-30 17:38:32 +08:00
CaIon
48d358faec
feat(adaptor): 新适配百炼多种图片生成模型
...
- wan2.6系列生图与编辑,适配多图生成计费
- wan2.5系列生图与编辑
- z-image-turbo生图,适配prompt_extend计费
2025-12-29 23:00:17 +08:00
Seefs
8063897998
fix: glm 4.7 finish reason ( #2545 )
2025-12-29 19:41:15 +08:00
Seefs
24d359cf40
feat: Add "wan2.6-i2v" video ratio configuration to Ali adaptor.
2025-12-29 14:13:33 +08:00
Seefs
725d61c5d3
feat: ionet integrate ( #2105 )
...
* wip ionet integrate
* wip ionet integrate
* wip ionet integrate
* ollama wip
* wip
* feat: ionet integration & ollama manage
* fix merge conflict
* wip
* fix: test conn cors
* wip
* fix ionet
* fix ionet
* wip
* fix model select
* refactor: Remove `pkg/ionet` test files and update related Go source and web UI model deployment components.
* feat: Enhance model deployment UI with styling improvements, updated text, and a new description component.
* Revert "feat: Enhance model deployment UI with styling improvements, updated text, and a new description component."
This reverts commit 8b75cb5bf0d1a534b339df8c033be9a6c7df7964.
2025-12-28 15:55:35 +08:00
RedwindA
1de78f8749
feat: map OpenAI developer role to Gemini system instructions
2025-12-27 02:52:33 +08:00
feitianbubu
37a1882798
fix: kling correct fail reason
2025-12-26 16:35:46 +08:00
papersnake
2c2dfea60f
Merge branch 'QuantumNous:main' into fix-claude-haiku
2025-12-26 16:23:34 +08:00
Calcium-Ion
654bb10b45
Merge pull request #2460 from seefs001/feature/gemini-flash-minial
...
fix(gemini): handle minimal reasoning effort budget
2025-12-26 13:57:56 +08:00
Calcium-Ion
0b1a562df9
Merge pull request #2477 from 1420970597/fix/anthropic-cache-billing
...
fix: 修复 Anthropic 渠道缓存计费错误
2025-12-24 16:59:23 +08:00
Seefs
a0c3d37d66
Merge pull request #2493 from shikaiwei1/patch-1
2025-12-24 16:52:24 +08:00
feitianbubu
3652dfdbd5
fix: check claudeResponse delta StopReason nil point
2025-12-24 11:54:23 +08:00
John Chen
dbaba87c39
为Moonshot添加缓存tokens读取逻辑
...
为Moonshot添加缓存tokens读取逻辑。其与智普V4的逻辑相同,所以共用逻辑
2025-12-22 17:05:16 +08:00
Seefs
28f7a4feef
fix: 在Vertex Adapter过滤content[].part[].functionResponse.id
2025-12-21 17:22:04 +08:00
Seefs
5a64ae2a29
fix: 模型设置增加针对Vertex渠道过滤content[].part[].functionResponse.id的选项,默认启用
2025-12-21 17:09:49 +08:00
长安
0a2f12c04e
fix: 修复 Anthropic 渠道缓存计费错误
...
## 问题描述
当使用 Anthropic 渠道通过 `/v1/chat/completions` 端点调用且启用缓存功能时,
计费逻辑错误地减去了缓存 tokens,导致严重的收入损失(94.5%)。
## 根本原因
不同 API 的 `prompt_tokens` 定义不同:
- **Anthropic API**: `input_tokens` 字段已经是纯输入 tokens(不包含缓存)
- **OpenAI API**: `prompt_tokens` 字段包含所有 tokens(包含缓存)
- **OpenRouter API**: `prompt_tokens` 字段包含所有 tokens(包含缓存)
当前 `postConsumeQuota` 函数对所有渠道都减去缓存 tokens,这对 Anthropic
渠道是错误的,因为其 `input_tokens` 已经不包含缓存。
## 修复方案
在 `relay/compatible_handler.go` 的 `postConsumeQuota` 函数中,添加渠道类型判断:
```go
if relayInfo.ChannelType != constant.ChannelTypeAnthropic {
baseTokens = baseTokens.Sub(dCacheTokens)
}
```
只对非 Anthropic 渠道减去缓存 tokens。
## 影响分析
### ✅ 不受影响的场景
1. **无缓存调用**(所有渠道)
- cache_tokens = 0
- 减去 0 = 不减去
- 结果:完全一致
2. **OpenAI/OpenRouter 渠道 + 缓存**
- 继续减去缓存(因为 ChannelType != Anthropic)
- 结果:完全一致
3. **Anthropic 渠道 + /v1/messages 端点**
- 使用 PostClaudeConsumeQuota(不修改)
- 结果:完全不受影响
### ✅ 修复的场景
4. **Anthropic 渠道 + /v1/chat/completions + 缓存**
- 修复前:错误地减去缓存,导致 94.5% 收入损失
- 修复后:不减去缓存,计费正确
## 验证数据
以实际记录 143509 为例:
| 项目 | 修复前 | 修复后 | 差异 |
|------|--------|--------|------|
| Quota | 10,489 | 191,330 | +180,841 |
| 费用 | ¥0.020978 | ¥0.382660 | +¥0.361682 |
| 收入恢复 | - | - | **+1724.1%** |
## 测试建议
1. 测试 Anthropic 渠道 + 缓存场景
2. 测试 OpenAI 渠道 + 缓存场景(确保不受影响)
3. 测试无缓存场景(确保不受影响)
## 相关 Issue
修复 Anthropic 渠道使用 prompt caching 时的计费错误。
2025-12-20 14:17:12 +08:00
Seefs
da24a165d0
fix(gemini): handle minimal reasoning effort budget
...
- Add minimal case to clampThinkingBudgetByEffort to avoid defaulting to full thinking budget
2025-12-18 08:10:46 +08:00
t0ng7u
8e3f9b1faa
🛡️ fix: prevent OOM on large/decompressed requests; skip heavy prompt meta when token count is disabled
...
Clamp request body size (including post-decompression) to avoid memory exhaustion caused by huge payloads/zip bombs, especially with large-context Claude requests. Add a configurable `MAX_REQUEST_BODY_MB` (default `32`) and document it.
- Enforce max request body size after gzip/br decompression via `http.MaxBytesReader`
- Add a secondary size guard in `common.GetRequestBody` and cache-safe handling
- Return **413 Request Entity Too Large** on oversized bodies in relay entry
- Avoid building large `TokenCountMeta.CombineText` when both token counting and sensitive check are disabled (use lightweight meta for pricing)
- Update READMEs (CN/EN/FR/JA) with `MAX_REQUEST_BODY_MB`
- Fix a handful of vet/formatting issues encountered during the change
- `go test ./...` passes
2025-12-16 17:00:19 +08:00
CaIon
7cae4a640b
fix(audio): correct TotalTokens calculation for accurate usage reporting
2025-12-13 17:49:57 +08:00
CaIon
e36e2e1b69
feat(audio): enhance audio request handling with token type detection and streaming support
2025-12-13 17:24:23 +08:00
CaIon
21fca238bf
refactor(error): replace dto.OpenAIError with types.OpenAIError for consistency
2025-12-13 16:43:57 +08:00
CaIon
b58fa3debc
fix(helper): improve error handling in FlushWriter and related functions
2025-12-13 13:29:21 +08:00
CaIon
1c167c1068
refactor(auth): replace direct token group setting with context key retrieval
2025-12-13 01:38:12 +08:00