papersnake
47d7bca268
feat: support claude-opus-4-7 ( #4293 )
...
* feat: support claude-opus-4-7
* feat: summarized display for opus 4.7
2026-04-17 13:52:34 +08:00
CaIon
3cad6b9d7f
fix(claude): improve handling of empty string content in OpenAI to Claude message conversion
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
2026-04-16 17:44:38 +08:00
CaIon
8b22161527
fix: set TopP to nil in Claude request configuration
2026-04-13 14:36:22 +08:00
zuiho
c66636a0c7
fix: 采纳 CodeRabbit 建议,!Done 时也用 fallback 覆盖占位 CompletionTokens
...
message_start 阶段可能给 CompletionTokens 非零占位值,
只检查 == 0 不够,加上 !Done && fallback > current 条件。
2026-04-07 17:52:11 +08:00
zuiho
f7cdc727df
fix: Claude 流式断流时不再整份覆盖 usage,保留 cache 计费字段
...
HandleStreamFinalResponse 在 !Done 时调用 ResponseText2Usage 整份覆盖
claudeInfo.Usage,导致 message_start 已获取的 CacheReadInputTokens、
CacheCreationInputTokens 等字段丢失,prompt 退化为占位值 1。
修复:
- 只补缺失的 CompletionTokens/PromptTokens,保留已有 cache 数据
- PromptTokens 兜底改用 info.GetEstimatePromptTokens()(与其他渠道对齐)
Fixes #4127
2026-04-07 17:41:08 +08:00
CaIon
03758a4a85
refactor(file-source): unify file source creation and enhance caching mechanisms
2026-04-06 15:54:55 +08:00
Seefs
82c2008d2c
fix: emit claude message_delta for usage-only final stream chunk
2026-04-04 20:21:13 +08:00
CaIon
bb5b9eaca2
fix(relay-claude): set TopP to nil in Claude request to align with API requirements
2026-04-03 20:18:28 +08:00
Calcium-Ion
41cd051ea9
Merge pull request #3505 from seefs001/fix/claude-media-support
...
fix: add basic inline file support for Claude relay
2026-04-02 13:29:21 +08:00
Seefs
c04f82bfb5
TODO: fix chat -> messages file type
2026-04-02 13:16:58 +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
Seefs
263b9bc695
fix: add basic inline file support for Claude relay
2026-03-30 19:37:21 +08:00
Calcium-Ion
0191a68d4e
Merge pull request #3400 from seefs001/fix/openai-usage
...
refactor: optimize billing flow for OpenAI-to-Anthropic convert
2026-03-23 15:03:57 +08:00
Seefs
9ecad90652
refactor: optimize billing flow for OpenAI-to-Anthropic convert
2026-03-23 14:22:12 +08:00
Seefs
e520977efc
fix: apply forced beta query at final upstream URL stage
2026-03-19 15:49:50 +08:00
RedwindA
7e68e1b36a
chore: update model lists for frequently used channels
2026-03-11 23:39:18 +08:00
Seefs
618fce621b
Revert "fix: aws text content blocks must be non-empty"
2026-03-02 19:43:00 +08:00
Seefs
04954f1058
Revert "Fix/aws non empty text"
2026-03-02 19:40:53 +08:00
Seefs
7cc8ec2c91
fix: tool responses
2026-03-02 19:22:37 +08:00
Seefs
2df604bbad
fix: default empty input_json_delta arguments to {} for tool call parsing
2026-03-02 15:51:55 +08:00
Seefs
da11617776
fix: preserve tool_use on malformed tool arguments to keep tool_result pairing valid
2026-03-02 15:41:03 +08:00
Seefs
4d6f9a94a3
fix: aws text content blocks must be non-empty
2026-03-02 15:31:37 +08:00
Seefs
2cf3c1836c
fix: preserve explicit zero values in native relay requests
2026-03-01 15:47:03 +08:00
Calcium-Ion
c494c26236
Merge pull request #2887 from seefs001/fix/claude
...
fix: 补全 streaming message_delta 事件缺失的 input_tokens 和 cache 相关字段
2026-02-08 00:18:04 +08:00
Seefs
81a94c3027
fix: patch message_delta usage via gjson/sjson and skip on passthrough
2026-02-07 19:13:58 +08:00
Thomas
63f246d403
fix: 补全 streaming message_delta 事件缺失的 input_tokens 和 cache 相关字段 ( #2881 )
...
当上游为 AWS Bedrock 时,message_delta 的 usage 可能缺少 input_tokens、
cache_creation_input_tokens、cache_read_input_tokens 等字段,导致与原生
Anthropic 格式不一致。从 message_start 积累的 claudeInfo 中补全这些字段后
重新序列化,确保客户端收到一致的 usage 格式。
2026-02-07 18:17:22 +08:00
Seefs
a972722367
fix: 使用openai兼容接口调用部分渠道在最终端点为claude原生端点下还是走了openai扣减input_token的逻辑
2026-02-07 14:21:19 +08:00
Papersnake
e194b747c3
feat: support adaptive thinking
2026-02-06 11:01:23 +08:00
Papersnake
7ca072b1b0
feat: add claude-opus-4-6
2026-02-06 09:12:45 +08:00
CaIon
330e1e6395
remove: drop support for claude-2 and claude-1 series models
...
- Remove claude-instant-1.2, claude-2, claude-2.0, claude-2.1 from model lists
- Remove /v1/complete endpoint support (legacy completion API)
- Remove RequestModeCompletion and related code paths
- Simplify handler functions by removing requestMode parameter
- Update all channel adaptors that referenced claude handlers
2026-02-05 17:20:46 +08:00
CaIon
9ef9e78821
feat(file): unify file handling with a new FileSource abstraction for URL and base64 data
2026-02-04 18:23:17 +08:00
Seefs
4f786a3591
Merge pull request #2811 from seefs001/fix/openrouter-claude-cache-usage
...
fix: openrouter claude cache usage
2026-02-03 00:03:19 +08:00
Seefs
06795ddf39
fix: claude panic
2026-02-02 15:03:30 +08:00
Seefs
b063b25998
fix: disable_parallel_tool_use parameter should be removed for tool_choice=none:
2026-01-28 13:31:14 +08:00
Seefs
d829958f53
fix: reason convert
2026-01-25 15:31:23 +08:00
Seefs
0e76cc3f67
feat: claude refusal reason
2026-01-25 15:21:31 +08:00
feitianbubu
1dc7ab9a97
fix: check claudeResponse delta StopReason nil point
2025-12-24 11:54:23 +08:00
FlowerRealm
a655801017
feat: add claude-haiku-4-5-20251001 model support
...
- Add model to Claude ModelList
- Add model ratio (0.5, $1/1M input tokens)
- Add completion ratio support (5x, $5/1M output tokens)
- Add cache read ratio (0.1, $0.10/1M tokens)
- Add cache write ratio (1.25, $1.25/1M tokens)
Model specs:
- Context window: 200K tokens
- Max output: 64K tokens
- Release date: October 1, 2025
2025-12-05 18:54:20 +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
Papersnake
766b6bc795
feat: add claude-opus-4-5-20251101
2025-11-25 10:53:01 +08:00
CaIon
c8bbf7bed8
feat: Add ContextKeyLocalCountTokens and update ResponseText2Usage to use context in multiple channels
2025-11-21 18:17:01 +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
Seefs
e1b9317531
feat: claude 1h cache ( #2155 )
...
* feat: claude 1h cache
* feat: claude 1h cache
* fix price
2025-11-04 00:20:50 +08:00
yanggh
b6f352735e
fix(convert): 修复 OpenAI 转 Claude 流时 thinking 块的格式问题
...
将 `ClaudeMediaMessage.Thinking` 的类型从 `string` 修改为 `*string`,以解决 `omitempty` 导致 `"thinking": ""` 字段在 JSON 序列化时被忽略的问题。
同时更新了 `service/convert.go` 和 `relay/channel/claude/relay-claude.go` 中的相关逻辑,以兼容新的指针类型,确保生成的 Claude 事件流符合官方规范。
2025-10-13 19:32:17 +08:00
Seefs
5010f2d004
format: package name -> github.com/QuantumNous/new-api ( #2017 )
2025-10-11 15:30:09 +08:00
CaIon
9d418d0df8
refactor(adaptor): extract common header operations into a separate function
Publish Docker image (Multi Registries) / Push Docker image to multiple registries (push) Has been cancelled
Linux Release / release (push) Has been cancelled
macOS Release / release (push) Has been cancelled
Windows Release / release (push) Has been cancelled
2025-10-02 15:28:09 +08:00
Seefs
853814045a
Merge pull request #1925 from seefs001/feature/claude-context-editing
...
feat: claude context editing
2025-09-30 09:48:32 +08:00
Seefs
bc1971843d
Merge pull request #1926 from seefs001/fix/claude-beta
...
fix: claude beta=true
2025-09-30 09:48:18 +08:00
Seefs
946da49721
fix: claude beta=true
2025-09-30 09:46:46 +08:00
Seefs
a7f6065f42
feat: claude context editing
2025-09-30 09:22:40 +08:00