Seefs
38a3314b9b
fix: preserve OpenAI image edit reference fields ( #4646 )
...
* fix: preserve OpenAI image edit reference fields
* feat: support json image edit requests
2026-05-06 21:27:47 +08:00
heimoshuiyu
8ca103342d
fix: Message.ReasoningContent/Reasoning 改为 *string,修复空思考内容在请求转发时被静默丢弃的问题
...
问题:
在非 passThrough 模式下,客户端发送的 reasoning_content: "" 经过
Go struct 反序列化再序列化后,因 string + omitempty 无法区分空串和
字段缺失,导致空的思考内容被静默丢弃。
根因:
dto.Message.ReasoningContent 和 Message.Reasoning 使用 string(非指针)
加 omitempty,违反 AGENTS.md Rule 6(可选标量字段必须用指针类型)。
修复:
1. Message.ReasoningContent/Reasoning 类型从 string 改为 *string
- nil = 字段缺失 → JSON 省略
- &"" = 显式空串 → JSON 保留 reasoning_content: ""
2. 新增 Message.GetReasoningContent() 辅助方法
3. 更新所有读写处:relay-openai, relay-claude, relay-gemini, ollama
4. 新增测试覆盖空串保留、字段省略、getter 回退逻辑
2026-04-29 13:43:26 +08:00
Seefs
db89b57e1c
fix: support raw JSON response tool arguments
2026-04-26 13:47:37 +08:00
HynoR
435d7ae0dd
feat: support DeepSeek V4 reasoning suffix handling
2026-04-24 16:50:35 +08:00
woan1136
3ab65a8221
fix: add Azure channel support for /v1/responses/compact URL routing ( #4149 )
...
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (amd64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (arm64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Create multi-arch manifests (Docker Hub) (push) Has been cancelled
Build Electron App / build (windows-latest) (push) Has been cancelled
Build Electron App / release (push) Has been cancelled
Release (Linux, macOS, Windows) / Linux Release (push) Has been cancelled
Release (Linux, macOS, Windows) / macOS Release (push) Has been cancelled
Release (Linux, macOS, Windows) / Windows Release (push) Has been cancelled
The Azure channel's GetRequestURL method only handled RelayModeResponses
but missed RelayModeResponsesCompact. This caused compact requests to
fall through to the generic deployments URL pattern, producing an
incorrect path that Azure returns 404 for.
This fix extends the existing responses API special handling to also
cover the compact mode, appending /compact to the subUrl when the relay
mode is ResponsesCompact.
Affected URLs (before → after):
- Normal Azure: /openai/deployments/{model}/responses/compact → /openai/v1/responses/compact
- cognitiveservices: same pattern → /openai/responses/compact
- Custom AzureResponsesVersion: properly respected for compact too
Co-authored-by: 彭俊杰 <pengjunjie@onero.com>
2026-04-13 15:23:38 +08:00
Seefs
a19a63b98c
feat: fill in some custom fields for vllm-omini.
2026-04-09 12:41:51 +08:00
CaIon
5238f279db
feat: record stream interruption reasons via StreamStatus
...
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (amd64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (arm64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Create multi-arch manifests (Docker Hub) (push) Has been cancelled
Build Electron App / build (windows-latest) (push) Has been cancelled
Build Electron App / release (push) Has been cancelled
Release (Linux, macOS, Windows) / Linux Release (push) Has been cancelled
Release (Linux, macOS, Windows) / macOS Release (push) Has been cancelled
Release (Linux, macOS, Windows) / Windows Release (push) Has been cancelled
- Add StreamStatus type (relay/common) to track stream end reason
(done/timeout/client_gone/scanner_error/eof/panic/ping_fail) and
accumulate soft errors during streaming via sync.Once + sync.Mutex.
- Add StreamResult (relay/helper) as the callback interface: adapters
call sr.Error() for soft errors, sr.Stop() for fatal, sr.Done() for
normal completion. No early-return problem — multiple errors per chunk
are naturally supported.
- Refactor StreamScannerHandler callback from func(string) bool to
func(string, *StreamResult). All 9 channel adapters updated.
- Write stream_status into log other JSON field (admin-only) with
status ok/error, end_reason, error_count, and error messages.
- Frontend: display stream status in log detail expansion for admins.
2026-03-31 16:54:39 +08:00
wenyifan
2c3ae32c8e
fix map
2026-03-20 16:48:04 +08:00
wenyifan
498199b37d
fix code quality
2026-03-20 16:38:48 +08:00
wenyifan
ff29900f30
feat: Add support for counting cache-hit tokens in llama.cpp OpenAI-Compatible API
2026-03-20 16:10:18 +08:00
CaIon
da8a52f50a
feat: add conditional setting for HTTP headers in OpenRouter channel type
2026-03-12 19:05:30 +08:00
Seefs
24ec27f844
Merge pull request #3221 from RedwindA/chore/updateModelList
...
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (amd64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (arm64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Create multi-arch manifests (Docker Hub) (push) Has been cancelled
Build Electron App / build (windows-latest) (push) Has been cancelled
Build Electron App / release (push) Has been cancelled
Release (Linux, macOS, Windows) / Linux Release (push) Has been cancelled
Release (Linux, macOS, Windows) / macOS Release (push) Has been cancelled
Release (Linux, macOS, Windows) / Windows Release (push) Has been cancelled
chore: update model lists for frequently used channels
2026-03-12 15:13:03 +08:00
CaIon
5e9cc681f5
feat: update header title for OpenRouter channel type
2026-03-12 15:05:58 +08:00
RedwindA
7e68e1b36a
chore: update model lists for frequently used channels
2026-03-11 23:39:18 +08:00
Nekohy
a4629f2630
feats: repair the thinking of claude to openrouter convert
2026-03-05 06:12:48 +08:00
Seefs
2cf3c1836c
fix: preserve explicit zero values in native relay requests
2026-03-01 15:47:03 +08:00
Seefs
3d0c75f42c
Merge branch 'feature/messages2responses' into upstream-main
...
# Conflicts:
# service/openaicompat/chat_to_responses.go
2026-02-08 00:16:35 +08:00
Seefs
8f52072f53
feat: /v1/messages -> /v1/responses
2026-02-06 15:22:32 +08:00
Seefs
d5f0ab01df
fix: add paragraph breaks between reasoning summary chunks in chat2responses stream
2026-02-06 14:46:29 +08:00
Seefs
a0574ae516
fix reasoning_effort log
2026-02-05 00:31:52 +08:00
Seefs
25f88050d3
fix: map Responses reasoning stream to chat completion deltas
...
fix: default summary = detailed
fix ReasoningContent
fix ReasoningContent
fix ReasoningContent
fix ReasoningContent
Revert "fix ReasoningContent"
This reverts commit 45a88f78b91ce2376bca68745d19374bb9e95e88.
fix ReasoningContent
fix ReasoningContent
2026-02-05 00:12:16 +08:00
Seefs
cf114ca7d6
feat: openai response /v1/response/compact ( #2644 )
...
* feat: openai response /v1/response/compact
* feat: /v1/response/compact bill
* feat: /v1/response/compact
* feat: /v1/responses/compact -> codex channel
* feat: /v1/responses/compact -> codex channel
* feat: /v1/responses/compact -> codex channel
* feat: codex channel default models
* feat: compact model price
* feat: /v1/responses/comapct test
2026-01-26 20:20:16 +08:00
Calcium-Ion
57c65c2782
Merge pull request #2742 from seefs001/fix/pr-2540
...
feat(gemini): 支持 tool_choice 参数转换,优化多个渠道错误处理
2026-01-26 15:12:09 +08:00
Seefs
7eaa80583b
Revert "feat: xai refusal reason"
...
This reverts commit 2548eaf8d38108862cf6a7e05f4f2418abb07c10.
2026-01-25 16:38:58 +08:00
Seefs
2548eaf8d3
feat: xai refusal reason
2026-01-25 16:07:37 +08:00
Seefs
68e1e635e9
feat: logs show reject reason
2026-01-25 14:52:18 +08:00
Li-Xingyu
36b0f4b0ae
feat: enhance Authorization header handling with Header Override support
2026-01-25 14:36:37 +08:00
Li-Xingyu
0dfa607147
feat: enhance Authorization header handling with Header Override support
2026-01-25 04:28:11 +08:00
Seefs
2a15e3b152
feat: codex channel ( #2652 )
...
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (amd64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (arm64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Create multi-arch manifests (Docker Hub) (push) Has been cancelled
* 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
71460cba15
feat: /v1/chat/completion -> /v1/response ( #2629 )
...
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (amd64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (arm64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Create multi-arch manifests (Docker Hub) (push) Has been cancelled
* feat: /v1/chat/completion -> /v1/response
2026-01-11 21:38:07 +08:00
John Chen
6a2da31946
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
Seefs
6526976453
fix: glm 4.7 finish reason ( #2545 )
2025-12-29 19:41:15 +08:00
John Chen
6dbe89f1cf
为Moonshot添加缓存tokens读取逻辑
...
为Moonshot添加缓存tokens读取逻辑。其与智普V4的逻辑相同,所以共用逻辑
2025-12-22 17:05:16 +08:00
CaIon
3822f4577c
fix(audio): correct TotalTokens calculation for accurate usage reporting
2025-12-13 17:49:57 +08:00
CaIon
be2a863b9b
feat(audio): enhance audio request handling with token type detection and streaming support
2025-12-13 17:24:23 +08:00
Calcium-Ion
2a01d1c996
Merge pull request #2429 from QuantumNous/feat/xhigh
...
feat(adaptor): add '-xhigh' suffix to reasoning effort options
2025-12-12 22:06:19 +08:00
CaIon
27dd42718b
feat(adaptor): add '-xhigh' suffix to reasoning effort options for model parsing
2025-12-12 20:53:48 +08:00
Calcium-Ion
3c5edc54b7
Merge pull request #2426 from QuantumNous/feat/auto-cross-group-retry
...
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (amd64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (arm64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Create multi-arch manifests (Docker Hub) (push) Has been cancelled
feat(token): add cross-group retry option for token processing
2025-12-12 20:45:54 +08:00
CaIon
c87deaa7d9
feat(token): add cross-group retry option for token processing
2025-12-12 17:59:21 +08:00
Seefs
cf243588fa
Merge pull request #2229 from HynoR/chore/v1
...
fix: Set default to unsupported value for gpt-5 model series requests
2025-12-08 20:59:30 +08:00
CaIon
1fededceb3
feat: refactor token estimation logic
...
- Introduced new OpenAI text models in `common/model.go`.
- Added `IsOpenAITextModel` function to check for OpenAI text models.
- Refactored token estimation methods across various channels to use estimated prompt tokens instead of direct prompt token counts.
- Updated related functions and structures to accommodate the new token estimation approach, enhancing overall token management.
2025-12-02 21:34:39 +08:00
CaIon
c8bbf7bed8
feat: Add ContextKeyLocalCountTokens and update ResponseText2Usage to use context in multiple channels
2025-11-21 18:17:01 +08:00
HynoR
601d257b80
fix: Set default to unsupported value for gpt-5 model series requests
2025-11-15 13:28:38 +08:00
CaIon
7827828abf
fix(adaptor): Add '-none' suffix to effortSuffixes for model parsing
2025-11-14 14:04:34 +08:00
Seefs
fd55ba7f2c
feat: ShouldPreserveThinkingSuffix ( #2189 )
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (amd64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (arm64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Create multi-arch manifests (Docker Hub) (push) Has been cancelled
Build Electron App / build (windows-latest) (push) Has been cancelled
Build Electron App / release (push) Has been cancelled
Release (Linux, macOS, Windows) / Linux Release (push) Has been cancelled
Release (Linux, macOS, Windows) / macOS Release (push) Has been cancelled
Release (Linux, macOS, Windows) / Windows Release (push) Has been cancelled
2025-11-07 17:43:33 +08:00
IcedTangerine
961af95ec4
fix: openai 音频模型流模式未正确计费 ( #2160 )
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (amd64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (arm64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Create multi-arch manifests (Docker Hub) (push) Has been cancelled
Build Electron App / build (windows-latest) (push) Has been cancelled
Build Electron App / release (push) Has been cancelled
Release (Linux, macOS, Windows) / Linux Release (push) Has been cancelled
Release (Linux, macOS, Windows) / macOS Release (push) Has been cancelled
Release (Linux, macOS, Windows) / Windows Release (push) Has been cancelled
2025-11-04 01:43:04 +08:00
CaIon
5d12755798
refactor(relay): enhance error logging and improve multipart form handling in audio requests #2127
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (amd64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (arm64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Create multi-arch manifests (Docker Hub) (push) Has been cancelled
Build Electron App / build (windows-latest) (push) Has been cancelled
Build Electron App / release (push) Has been cancelled
Release (Linux, macOS, Windows) / Linux Release (push) Has been cancelled
Release (Linux, macOS, Windows) / macOS Release (push) Has been cancelled
Release (Linux, macOS, Windows) / Windows Release (push) Has been cancelled
2025-10-29 23:33:55 +08:00
CaIon
a00c6393c5
feat: implement audio duration retrieval without ffmpeg dependencies
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (amd64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Build & push (arm64) [native] (push) Has been cancelled
Publish Docker image (Multi Registries, native amd64+arm64) / Create multi-arch manifests (Docker Hub) (push) Has been cancelled
Build Electron App / build (windows-latest) (push) Has been cancelled
Build Electron App / release (push) Has been cancelled
Release (Linux, macOS, Windows) / Linux Release (push) Has been cancelled
Release (Linux, macOS, Windows) / macOS Release (push) Has been cancelled
Release (Linux, macOS, Windows) / Windows Release (push) Has been cancelled
2025-10-28 15:50:45 +08:00
feitianbubu
f617ff8741
feat: openai tts support streaming realtime audio
2025-10-22 13:33:01 +08:00
feitianbubu
a2d34b9e47
feat: add minimax api adaptor
2025-10-20 16:26:50 +08:00