CaIon
03758a4a85
refactor(file-source): unify file source creation and enhance caching mechanisms
2026-04-06 15:54:55 +08:00
CaIon
a8ff74c2c7
feat(cache): enhance disk cache management with concurrency control and cleanup optimizations
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
2026-02-04 18:23:17 +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
CaIon
c87deaa7d9
feat(token): add cross-group retry option for token processing
2025-12-12 17:59:21 +08:00
CaIon
64bf6d1e95
fix(token_counter): correct model name reference in image token estimation
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
2025-12-03 00:25:05 +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
5a037f2acd
feat: Add CountToken configuration and update token counting logic
2025-11-22 17:15:34 +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
Seefs
5010f2d004
format: package name -> github.com/QuantumNous/new-api ( #2017 )
2025-10-11 15:30:09 +08:00
CaIon
1a8d781721
Revert "feat: gemini-2.5-flash-image-preview 文本和图片输出计费"
...
This reverts commit a45513a7a66b53e941b00a3ea9c2ba753e752e2f.
2025-09-13 12:53:28 +08:00
Seefs
80cfa0d0df
Merge pull request #1677 from QuantumNous/gemini-2.5-flash-image-preview-billing
...
feat: gemini-2.5-flash-image-preview 文本和图片输出计费
2025-09-07 14:15:24 +08:00
CaIon
1bbabda081
feat(monitor_setting): implement automatic channel testing configuration
2025-09-03 14:00:52 +08:00
CaIon
742871db57
feat(token_counter): add mime type extraction for base64 encoded data
Publish Docker image (Multi Registries) / Push Docker image to multiple registries (push) Has been cancelled
2025-08-28 17:30:53 +08:00
creamlike1024
a45513a7a6
feat: gemini-2.5-flash-image-preview 文本和图片输出计费
2025-08-27 21:30:52 +08:00
CaIon
d1f3f2c395
fix(token_counter): update token counting logic to handle media token conditions
2025-08-27 17:11:33 +08:00
CaIon
d92c9db61c
fix(image): add error handling for empty base64 string in image decoding
2025-08-27 16:38:32 +08:00
CaIon
3a90d5054c
feat: implement file type detection from URL with enhanced MIME type handling
2025-08-16 14:56:29 +08:00
CaIon
77b100ba2b
refactor: update function signatures to include context and improve file handling #1599
Publish Docker image (Multi Registries) / Push Docker image to multiple registries (push) Has been cancelled
2025-08-15 18:40:54 +08:00
CaIon
07137e6bb8
refactor: update token type handling and improve token counting logic
2025-08-15 13:28:03 +08:00
CaIon
c9e9a24e99
refactor: centralize logging and update resource initialization
...
This commit refactors the logging mechanism across the application by replacing direct logger calls with a centralized logging approach using the `common` package. Key changes include:
- Replaced instances of `logger.SysLog` and `logger.FatalLog` with `common.SysLog` and `common.FatalLog` for consistent logging practices.
- Updated resource initialization error handling to utilize the new logging structure, enhancing maintainability and readability.
- Minor adjustments to improve code clarity and organization throughout various modules.
This change aims to streamline logging and improve the overall architecture of the codebase.
2025-08-14 21:10:04 +08:00
CaIon
97ea8b6560
refactor: Introduce pre-consume quota and unify relay handlers
...
This commit introduces a major architectural refactoring to improve quota management, centralize logging, and streamline the relay handling logic.
Key changes:
- **Pre-consume Quota:** Implements a new mechanism to check and reserve user quota *before* making the request to the upstream provider. This ensures more accurate quota deduction and prevents users from exceeding their limits due to concurrent requests.
- **Unified Relay Handlers:** Refactors the relay logic to use generic handlers (e.g., `ChatHandler`, `ImageHandler`) instead of provider-specific implementations. This significantly reduces code duplication and simplifies adding new channels.
- **Centralized Logger:** A new dedicated `logger` package is introduced, and all system logging calls are migrated to use it, moving this responsibility out of the `common` package.
- **Code Reorganization:** DTOs are generalized (e.g., `dalle.go` -> `openai_image.go`) and utility code is moved to more appropriate packages (e.g., `common/http.go` -> `service/http.go`) for better code structure.
2025-08-14 20:05:06 +08:00
CaIon
14cca53ec8
🔧 refactor(endpoint types): comment out unused endpoint types in constants
2025-07-04 15:53:46 +08:00
CaIon
f14f4eaf1a
✨ feat: refactor environment variable initialization and introduce new constant types for API and context keys
2025-07-03 13:10:25 +08:00
CaIon
16997a695d
refactor: token counter logic
2025-06-21 00:54:40 +08:00
CaIon
5511ba3670
🔧 fix(stream_scanner): improve resource management and error handling in StreamScannerHandler
2025-06-11 00:18:16 +08:00
CaIon
7dc7805c6a
🔧 fix(token_counter): enhance token encoder caching and concurrency handling
2025-06-10 18:55:21 +08:00
CaIon
1abd77c17c
🔧 fix(token_counter): refactor token encoder initialization and retrieval logic
2025-06-10 18:51:26 +08:00
CaIon
88a801af2d
🔧 fix(token_counter): update token encoder implementation and dependencies
2025-06-10 18:04:49 +08:00
Xyfacai
8343fe0740
refactor: message content 改成 any
...
refactor: message content 改成 any
2025-06-07 23:47:22 +08:00
CaIon
c0d85e2d98
feat: enhance image decoding logic to handle base64 file types and improve error handling
2025-05-15 14:51:33 +08:00
CaIon
4bf0d094c4
feat: add video URL support in MediaContent and update token counting logic
2025-05-03 21:12:07 +08:00
CaIon
b364e9e3b1
refactor: simplify model prefix checks and update message role for o-series models
Publish Docker image (amd64) / Push Docker image to multiple registries (push) Has been cancelled
Publish Docker image (arm64) / 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-04-17 16:50:52 +08:00
CaIon
577b18a1a1
feat: enhance file handling and logging in the application
2025-04-11 16:23:54 +08:00
1808837298@qq.com
b93827c425
feat: support dify upload image file
2025-03-15 19:10:12 +08:00
1808837298@qq.com
78fc3a191c
feat: claude relay
2025-03-12 21:31:46 +08:00
1808837298@qq.com
b640118d74
feat: Implement cache token ratio for more precise token pricing
2025-03-08 01:30:50 +08:00
1808837298@qq.com
485face2c0
feat: Add self-use mode for model ratio and price configuration
...
- Introduce `SelfUseModeEnabled` setting to allow flexible model ratio configuration
- Update error handling to provide more informative messages when model ratios are not set
- Modify pricing and relay logic to support self-use mode
- Add UI toggle for enabling self-use mode in operation settings
- Implement fallback mechanism for model ratios when self-use mode is enabled
2025-03-01 21:13:48 +08:00
1808837298@qq.com
0646fa1892
fix: gemini&claude tool call format #795 #766
2025-02-26 23:56:10 +08:00
1808837298@qq.com
fd44ac7c0c
feat: Enhance token counting and content parsing for messages
2025-02-24 14:18:15 +08:00
1808837298@qq.com
61ad1adbda
feat: Improve embedding request handling and support across channels
...
Publish Docker image (amd64) / Push Docker image to multiple registries (push) Has been cancelled
Publish Docker image (arm64) / 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
- Update EmbeddingRequest DTO to support more flexible input types
- Add input parsing method to handle various input formats
- Implement ConvertEmbeddingRequest for multiple channel adaptors
- Remove relayMode parameter from EmbeddingHelper
- Add input validation for embedding requests
- Simplify embedding request conversion for different channels
2025-02-12 14:39:36 +08:00
1808837298@qq.com
16afc5b3d6
fix: retry prompt tokens
Publish Docker image (amd64) / Push Docker image to multiple registries (push) Has been cancelled
Publish Docker image (arm64) / 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-01-02 16:33:00 +08:00
CalciumIon
e326679b72
feat: add multi-file type support for Gemini and Claude
...
Publish Docker image (amd64) / Push Docker image to multiple registries (push) Has been cancelled
Publish Docker image (arm64) / 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
- Add file data DTO for structured file handling
- Implement file decoder service
- Update Claude and Gemini relay channels to handle various file types
- Reorganize worker service to cf_worker for clarity
- Update token counter and image service for new file types
2024-12-29 00:00:24 +08:00
CalciumIon
5bbc730a6f
feat: update o1 default token encoder
2024-12-27 15:03:10 +08:00
CalciumIon
62469a5226
feat: support azure stream_options
Publish Docker image (amd64) / Push Docker image to multiple registries (push) Has been cancelled
Publish Docker image (arm64) / 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
2024-12-26 22:51:06 +08:00
1808837298@qq.com
efd7ea075e
feat: azure realtime
...
(cherry picked from commit 75ff3d98f06103dc2df1f8817bd3fcbf433e0f20)
2024-11-05 19:27:55 +08:00
1808837298@qq.com
1307a23f01
feat: realtime
...
(cherry picked from commit d4966246e68dbdcdab45ec5c5141362834d74425)
2024-11-05 19:27:47 +08:00
1808837298@qq.com
9e4133a890
feat: realtime
...
(cherry picked from commit a5529df3e1a4c08a120e8c05203a7d885b0fe8d8)
2024-11-05 19:24:14 +08:00
CalciumIon
c5633221f0
feat: support gpt-4o-audio-preview
Publish Docker image (amd64) / Push Docker image to multiple registries (push) Has been cancelled
Publish Docker image (arm64) / 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
2024-11-04 15:27:12 +08:00
CalciumIon
28c9675e61
feat: update chatgpt-4o token encoder
2024-09-05 18:35:34 +08:00
CalciumIon
09401526dc
feat: support gpt-4o-mini image tokens
Publish Docker image (amd64) / Push Docker image to multiple registries (push) Has been cancelled
2024-07-19 12:59:37 +08:00