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.
v0.10.5-ionet.1
2025-12-28 15:55:35 +08:00
Seefs
1a69a93d20
Merge pull request #2536 from RedwindA/feat/oaiDevRole2Gemini
2025-12-28 15:52:45 +08:00
RedwindA
1de78f8749
feat: map OpenAI developer role to Gemini system instructions
2025-12-27 02:52:33 +08:00
skynono
9aeef6abec
feat: support first bind update password ( #2520 )
v0.10.4
2025-12-26 13:59:56 +08:00
Seefs
58db72d459
fix: Fix Openrouter test errors and optimize error messages ( #2433 )
...
* fix: Refine openrouter error
* fix: Refine openrouter error
* fix: openrouter test max_output_token
* fix: optimize messages
* fix: maxToken unified to 16
* fix: codex系列模型使用 responses接口
* fix: codex系列模型使用 responses接口
* fix: 状态码非200打印错误信息
* fix: 日志里没有报错的响应体
2025-12-26 13:58:44 +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
Seefs
f51b5bb0c8
Merge pull request #2455 from comeback01/french-translation
2025-12-26 13:56:30 +08:00
Calcium-Ion
a4cd84f276
Merge pull request #2450 from seefs001/fix/gemini-system-prompt
...
fix: 支持传入system_instruction和systemInstruction两种风格系统提示词参数名
2025-12-26 13:54:21 +08:00
Calcium-Ion
c722ddd58b
Merge pull request #2512 from seefs001/fix/warning-pass-through-body
...
fix: add warning for pass through body
2025-12-26 13:52:51 +08:00
Calcium-Ion
88e394a976
Merge pull request #2513 from seefs001/fix/token-auth-bearer
...
fix: 支持小写bearer和Bearer后带多个空格 && 修复 WSS预扣费错误提取key的问题
2025-12-26 13:51:32 +08:00
Seefs
31a3487139
Merge pull request #2528 from QuantumNous/fix/model-sync-overwrite-empty-missing
2025-12-26 13:49:55 +08:00
Seefs
a07406d97e
Merge pull request #2530 from RedwindA/fix/i18n-with-http
2025-12-26 13:49:30 +08:00
RedwindA
f68858121c
fix(i18n): disable namespace separator to fix URL display in translations
...
i18next uses ':' as namespace separator by default, causing URLs like
'https://api.openai.com ' to be incorrectly parsed as namespace 'https'
with key '//api.openai.com', resulting in truncated display.
Setting nsSeparator to false fixes this issue since the project doesn't
use multiple namespaces.
2025-12-26 00:10:19 +08:00
t0ng7u
83fbaba768
🚀 fix(model-sync): avoid unnecessary upstream fetch while keeping overwrite updates working
...
- Only short-circuit when there are no missing models AND no overwrite fields requested
- Preserve overwrite behavior even when the missing-model list is empty
- Always return empty arrays (not null) for list fields to keep API responses stable
- Clarify SyncUpstreamModels behavior in comments (create missing models + optional overwrite updates)
2025-12-25 23:01:09 +08:00
Calcium-Ion
d3c854fbed
Merge pull request #2154 from feitianbubu/pr/fix-model-sync
...
fix: ensure overwrite works correctly when no missing models
2025-12-25 22:34:49 +08:00
Calcium-Ion
97b02685b1
Merge pull request #2475 from seefs001/feature/pyro
...
feat: pyroscope integrate
2025-12-25 17:54:39 +08:00
Seefs
da1b51ac31
Merge branch 'upstream-main' into feature/pyro
2025-12-25 17:08:02 +08:00
CaIon
f17b3810d6
feat(user): simplify user response structure in JSON output
v0.10.3
2025-12-25 15:39:58 +08:00
Calcium-Ion
8206084a77
Merge pull request #2524 from seefs001/fix/revert-model-ratio
...
fix: revert model ratio
2025-12-25 15:38:36 +08:00
Seefs
559da6362a
fix: revert model ratio
2025-12-25 15:37:54 +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
Seefs
347f2326f3
Merge pull request #2511 from JerryKwan/issue2499
2025-12-24 16:51:51 +08:00
Seefs
14c58aea77
fix: 支持小写bearer和Bearer后带多个空格 && 修复 WSS预扣费错误提取key的问题
2025-12-24 15:52:56 +08:00
Seefs
09f3957362
fix: add warning for pass through body
2025-12-24 15:35:36 +08:00
Jerry
31a79620ba
Resolving event mismatch in OpenAI2Claude
...
add stricter validation for content_block_start corresponding to
tool call
and fix the crash issue when Claude Code is processing tool call
2025-12-24 14:52:39 +08:00
Calcium-Ion
12555a37d3
Merge pull request #2510 from feitianbubu/pr/0e7050dc89c1b761069f5e528d8ecf786e7008ae
...
修复claudeResponse流式请求空指针Panic
2025-12-24 14:15:51 +08:00
feitianbubu
3652dfdbd5
fix: check claudeResponse delta StopReason nil point
2025-12-24 11:54:23 +08:00
CaIon
42109c5840
feat(token): enhance error handling in ValidateUserToken for better clarity
2025-12-22 18:01:38 +08:00
John Chen
dbaba87c39
为Moonshot添加缓存tokens读取逻辑
...
为Moonshot添加缓存tokens读取逻辑。其与智普V4的逻辑相同,所以共用逻辑
2025-12-22 17:05:16 +08:00
Calcium-Ion
afd9c29ace
Merge pull request #2486 from QuantumNous/docs/readme-update-doc-links-new-routing
...
🔗 docs(readme): update documentation links to new site routing
2025-12-21 21:28:35 +08:00
t0ng7u
470e0304d8
🔗 docs(readme): revert missing docs links to legacy site
...
Keep new-site links (/{lang}/docs/...) where matching pages exist in the current docs repo
Revert links that have no equivalent in the new docs to the legacy paths on doc.newapi.pro:
Google Gemini Chat
Midjourney-Proxy image docs
Suno music docs
Apply the same rule consistently across all README translations (zh/en/ja/fr)
2025-12-21 21:18:59 +08:00
t0ng7u
d6e97ab184
🔗 docs(readme): update documentation links to new site routing
...
- Replace legacy `docs.newapi.pro` paths with the new `/{lang}/docs/...` structure across all README translations
- Point key sections (installation, env vars, API, support, features) to their new locations
- Ensure language-specific links use the correct locale prefix (zh/en/ja) and keep FR aligned with English routes
2025-12-21 21:00:33 +08:00
Calcium-Ion
d8aa327f05
Merge pull request #2483 from seefs001/fix/vertex-function-response-id
...
fix: 模型设置增加针对Vertex渠道过滤content[].part[].functionResponse.id的选项,默认启用
v0.10.2
2025-12-21 17:24:07 +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
comeback01
f04ed7584a
Merge branch 'main' into french-translation
2025-12-20 11:08:07 +01: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
CaIon
cc3ba39e72
feat(gin): improve request body handling and error reporting
v0.10.1
2025-12-20 13:34:10 +08:00
CaIon
4ee595c448
feat(init): increase MaxRequestBodyMB to enhance request handling
2025-12-20 13:27:55 +08:00
CaIon
d9634ad2d3
feat(channel): add error handling for SaveWithoutKey when channel ID is 0
2025-12-20 13:26:40 +08:00
Seefs
a343ce84ee
Merge pull request #2476 from TinsFox/chore/code-inspector-plugin
2025-12-20 11:04:40 +08:00
Seefs
531dfb2555
docs: document pyroscope env var
2025-12-19 23:16:56 +08:00
TinsFox
e6ec551fbf
chore: add code-inspector-plugin integration
2025-12-19 23:04:53 +08:00
Seefs
5ef7247eac
docs: document pyroscope env var
2025-12-19 23:03:04 +08:00
Seefs
1168ddf9f9
fix: systemname
2025-12-19 22:27:35 +08:00
Seefs
a98aad2501
Merge pull request #2474 from TinsFox/main
2025-12-19 21:39:56 +08:00
TinsFox
97132de2ca
style: add card spacing
2025-12-19 21:00:31 +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
comeback01
f88fc26150
Refine French translations for UI conciseness
...
Updated web/src/i18n/locales/fr.json to improve French translations for the user interface.
Removed verbose prefixes like 'Gestion des...' and 'Paramètres de...' to prevent truncation in sidebars and menus.
Harmonized terms for consistency (e.g., 'Tâches', 'Journaux', 'Dessins').
Renamed 'Place du marché' to 'Marché des modèles'.
2025-12-17 12:10:36 +01:00