CaIon
bbc362c301
fix: add nil check for Writer in FlushWriter function
2025-08-18 12:48:56 +08:00
CaIon
61601d38c4
feat: 完善gemini格式转换
2025-08-17 19:08:06 +08:00
CaIon
f181ca254b
fix: remove redundant reasoning assignment in ChatCompletionsStreamResponseChoiceDelta
2025-08-17 18:43:31 +08:00
CaIon
3e61e6eb52
refactor: extract FlushWriter function for improved stream flushing
2025-08-17 15:30:31 +08:00
CaIon
aad6314c51
fix: improve error handling for image edit form request parsing
2025-08-17 15:18:57 +08:00
CaIon
bc6c3042b8
fix: remove unnecessary option from error handling in image request conversion
2025-08-17 15:13:17 +08:00
CaIon
4e3f008ae9
fix: update token usage calculation
2025-08-16 19:11:15 +08:00
CaIon
c06d9485c3
feat: add support for Midjourney relay mode based on path prefix
2025-08-16 18:26:26 +08:00
CaIon
3c30b7c4cb
fix: refactor processChannelError to use goroutine for asynchronous handling
2025-08-16 15:15:19 +08:00
CaIon
22125a6dd8
fix: correct argument passing in DoDownloadRequest for MIME type retrieval
2025-08-16 15:03:42 +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
11ce48be47
feat: set API version for Azure and Vertex AI channel types
2025-08-16 14:56:19 +08:00
CaIon
28d381982d
Merge remote-tracking branch 'origin/alpha' into alpha
2025-08-16 12:28:46 +08:00
CaIon
cf9faeb901
feat: implement concurrent top-up locking mechanism to prevent race conditions
2025-08-15 20:03:38 +08:00
CaIon
f8f0ee1e3e
feat: initialize channel metadata in mjproxy and relay processing
2025-08-15 19:14:29 +08:00
CaIon
f6ee0b9791
feat: add checks for non-empty URLs in file metadata processing
2025-08-15 19:10:40 +08:00
CaIon
0e95efdf34
feat: initialize channel metadata in relay processing
2025-08-15 19:00:16 +08:00
CaIon
beb61343cd
refactor: comment out SetContextKey to prevent token count meta setting
2025-08-15 18:43:08 +08:00
CaIon
77b100ba2b
refactor: update function signatures to include context and improve file handling #1599
2025-08-15 18:40:54 +08:00
CaIon
215546a805
feat: 优化ac自动机
2025-08-15 16:54:26 +08:00
CaIon
63e7fb697f
Merge remote-tracking branch 'origin/alpha' into alpha
2025-08-15 16:47:36 +08:00
CaIon
893104a173
refactor: move anthropicKey retrieval to improve authorization handling
2025-08-15 16:08:55 +08:00
CaIon
8284cff9b7
refactor: set prompt tokens when not provided in usage
2025-08-15 15:55:01 +08:00
CaIon
e1d36932ae
fix panic
2025-08-15 15:15:21 +08:00
CaIon
5084a43aa9
refactor: ensure graceful closure of response body in relay responses
2025-08-15 15:10:54 +08:00
CaIon
d849412cf5
refactor: replace json.Marshal and json.Unmarshal with common.Marshal and common.Unmarshal
2025-08-15 14:52:17 +08:00
CaIon
07903b0a8a
refactor: improve logging for channel operations with detailed context
2025-08-15 14:15:03 +08:00
CaIon
9da13fdabe
refactor: enhance logging messages for user quota handling in pre-consume logic
2025-08-15 14:08:15 +08:00
CaIon
4858e98b2d
refactor: simplify domain masking logic by removing URL check
2025-08-15 13:46:46 +08:00
CaIon
e0f256506f
Merge branch 'alpha' into refactor_relay
...
# Conflicts:
# dto/openai_image.go
2025-08-15 13:46:34 +08:00
CaIon
07137e6bb8
refactor: update token type handling and improve token counting logic
2025-08-15 13:28:03 +08:00
CaIon
8eb17f24bb
refactor: improve request type validation and enhance sensitive information masking
2025-08-15 13:20:36 +08:00
CaIon
dba74e5b05
refactor: add email masking function and enhance RelayInfo logging
...
This commit introduces a new function, MaskEmail, to mask user email addresses in logs, preventing PII leakage. Additionally, the RelayInfo logging has been updated to utilize this new masking function, ensuring sensitive information is properly handled. The channel test logic has also been improved to dynamically determine the relay format based on the request path.
2025-08-15 12:50:27 +08:00
CaIon
013b30c228
refactor: enhance error handling and masking for model not found scenarios
2025-08-15 12:41:05 +08:00
CaIon
f6f9e73fa3
refactor: improve channel base URL handling and enhance RelayInfo logging
2025-08-14 22:15:18 +08:00
CaIon
112de0b6a6
refactor: enhance quota handling and logging for pre-consume operations
2025-08-14 21:30: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
f21353bfbb
fix(dalle): update ImageRequest struct to use json.RawMessage for flexible field types
2025-08-12 21:12:00 +08:00
CaIon
b850f94139
fix(auth): refine authorization header setting for messages endpoint #1575
2025-08-12 20:42:44 +08:00
CaIon
c7281a353f
fix(env): update STREAMING_TIMEOUT default value to 300 seconds
2025-08-12 19:58:04 +08:00
CaIon
1382ec4f20
fix(adaptor): optimize multipart form handling and resource management
2025-08-12 19:57:56 +08:00
CaIon
219ed0d1cf
fix(database): improve MySQL Chinese character support validation
2025-08-12 16:31:00 +08:00
CaIon
9625ee2d55
fix(relay): remove unnecessary channel type check for BadRequest
2025-08-12 16:12:47 +08:00
CaIon
5b8382a6ab
Merge remote-tracking branch 'origin/alpha' into alpha
2025-08-12 14:13:34 +08:00
CaIon
a423ee3dd1
feat(database): enhance MySQL support for Chinese characters
...
- Added a check for MySQL charset/collation to ensure compatibility with Chinese characters during database initialization.
- Updated SQLite busy timeout from 5000ms to 30000ms for improved performance.
- Removed commented-out PostgreSQL migration logic for clarity.
2025-08-12 14:12:11 +08:00
CaIon
32978f9cd9
✨ feat: Simplify response handling by returning raw response body directly
2025-08-11 20:07:24 +08:00
CaIon
ce74e94fc7
✨ feat: Refactor Gemini tools handling to support JSON raw message format
2025-08-11 19:48:04 +08:00
CaIon
a80ecb8896
✨ feat: Refactor model handling to use UpstreamModelName for request processing
2025-08-11 17:32:58 +08:00
CaIon
37f0383941
✨ feat: Update request URL handling for Claude relay format in adaptor #1557
2025-08-11 17:17:56 +08:00
CaIon
c9b276c604
Merge remote-tracking branch 'origin/alpha' into alpha
...
# Conflicts:
# relay/channel/openai/adaptor.go
2025-08-11 16:35:23 +08:00
CaIon
be77f3d763
✨ feat: Update Azure responses API version handling in adaptor
2025-08-11 16:34:07 +08:00
CaIon
7ffbff88f1
✨ feat: Update request URL handling for Azure responses based on base URL
2025-08-10 21:09:16 +08:00
CaIon
8907e5cf6d
✨ feat: Add ChannelOtherSettings to manage additional channel configurations
2025-08-10 20:21:30 +08:00
CaIon
54f470bc46
✨ feat: Enhance EditChannelModal with JSONEditor key updates and input reset
...
- Added unique keys for JSONEditor components to ensure proper re-rendering based on channelId.
- Implemented input reset to clear previous JSON field values when the modal is opened.
2025-08-10 12:22:18 +08:00
CaIon
991a09f47a
feat: update Fluent Read link handling in sidebar to improve chat item filtering
2025-08-09 21:06:25 +08:00
CaIon
4abe75faed
feat: remove custom JSON marshaling for Message struct
2025-08-09 21:04:49 +08:00
CaIon
5a3f011ac2
feat: enhance JSON marshaling for Message and skip Fluent Read links in chat items
2025-08-09 20:58:28 +08:00
CaIon
4bbdc8e2b2
feat: add verbosity field to OpenAI request #1540
2025-08-09 20:12:27 +08:00
CaIon
4c0c9ffd0a
feat: add AWS invoke error handling and new error code
2025-08-09 19:26:41 +08:00
CaIon
20575e798a
feat: improve FluentRead notification handling and user prompts
2025-08-09 18:37:08 +08:00
CaIon
a5b4c2f7b5
feat: add FluentRead support in chat configuration
2025-08-09 18:26:45 +08:00
CaIon
8e52b42c0a
feat: update channel label to indicate deprecation and suggest alternative
2025-08-09 17:51:54 +08:00
CaIon
f2dbdbc445
feat: update relay-text to conditionally include usage based on StreamOptions #696
2025-08-09 17:51:49 +08:00
CaIon
8c4f0e6992
Merge remote-tracking branch 'origin/alpha' into alpha
2025-08-09 17:02:20 +08:00
CaIon
2fb3e265f6
feat: enhance TokensPage and useTokensData to support Fluent integration and notifications
2025-08-09 17:02:06 +08:00
CaIon
05af05e449
feat: add system prompt override functionality in channel settings and request handling #1468
2025-08-09 12:53:06 +08:00
CaIon
b3a1948a7b
feat: enhance AddAbilities and BatchInsertChannels to support transaction handling
2025-08-08 18:36:09 +08:00
CaIon
9682c46cc4
feat: implement moonshot adaptor for request handling and response processing
2025-08-08 17:28:21 +08:00
CaIon
5b5b97eb30
feat: 完善格式抓换,修复gemini渠道和openai渠道在claude code中使用的问题
2025-08-08 16:45:37 +08:00
CaIon
f69a4f7153
feat: enhance request handling to support tool calls and improve stream options
2025-08-08 13:47:39 +08:00
CaIon
e81113e488
feat: add support for openrouter reasoning efforts in request handling
2025-08-08 13:04:33 +08:00
CaIon
b555ac092d
fix: playground group
2025-08-08 11:59:04 +08:00
CaIon
c833e07ee3
feat: add support for gpt-5 models and adjust temperature settings
...
- Updated the model list to include various gpt-5 variants.
- Enhanced the ConvertOpenAIRequest function to handle gpt-5 model temperature settings based on specific model prefixes.
- Adjusted default cache and model ratios for new gpt-5 models.
2025-08-08 10:43:07 +08:00
CaIon
ef2bed2fe7
feat: enhance Adaptor to support multiple relay modes in request handling
2025-08-07 19:30:42 +08:00
CaIon
deb6fbbe21
feat: implement ConvertClaudeRequest method in baidu_v2 Adaptor
2025-08-07 19:19:59 +08:00
CaIon
b8b59a134e
feat: support deepseek claude format (convert)
2025-08-07 19:01:49 +08:00
CaIon
d37af13b33
feat: support qwen claude format
2025-08-07 18:32:31 +08:00
CaIon
c4666934be
Revert "feat: update Usage struct to support dynamic token handling with ceil function #1503 "
...
This reverts commit 97b8d7de9e .
2025-08-07 16:22:40 +08:00
CaIon
a4b02107dd
feat: update MaxTokens handling
2025-08-07 16:15:59 +08:00
CaIon
97b8d7de9e
feat: update Usage struct to support dynamic token handling with ceil function #1503
2025-08-07 15:40:12 +08:00
CaIon
2e41362f2e
fix: update budget calculation logic in relay-gemini to use clamping function
2025-08-06 16:25:48 +08:00
CaIon
6960a06322
feat: enhance ThinkingAdaptor with effort-based budget clamping and extra body handling
2025-08-06 16:20:38 +08:00
CaIon
4f6d16e365
feat: add reasoning support for Openrouter requests with "-thinking" suffix
2025-08-06 12:50:26 +08:00
CaIon
f3a961f071
fix: reorder request URL handling for relay formats in Adaptor
2025-08-05 20:40:00 +08:00
CaIon
755acc6191
feat: implement channel-specific locking for thread-safe polling
2025-08-04 20:44:19 +08:00
CaIon
5e47da1a8e
feat: improve layout and pagination handling in MultiKeyManageModal
2025-08-04 20:16:51 +08:00
CaIon
808c8c5bcb
feat: add status filtering and bulk enable/disable functionality in multi-key management
2025-08-04 19:51:58 +08:00
CaIon
8fe43be3eb
fix: correct option value for pagination in MultiKeyManageModal
2025-08-04 19:33:24 +08:00
CaIon
1ecd8b41d8
feat: enhance multi-key management with pagination and statistics
2025-08-04 17:15:32 +08:00
CaIon
aeec39a198
feat: add multi-key management
2025-08-04 16:52:31 +08:00
CaIon
1f9134cd6b
feat: add support for multi-key channels in RelayInfo and access token caching
2025-08-02 22:12:15 +08:00
CaIon
f4f73016bf
fix: improve error handling and readability in ability.go
2025-08-02 14:06:12 +08:00
CaIon
fad5fc3f7d
feat: truncate abilities table before processing channels
2025-08-02 13:39:53 +08:00
CaIon
8ceda7b95f
feat: add caching for keys in channel structure and retain polling index during sync
2025-08-02 13:16:30 +08:00
CaIon
316c0a594e
feat: retain polling index for multi-key channels during sync
2025-08-02 13:04:48 +08:00
CaIon
f0b024eb77
feat: enhance ConvertGeminiRequest to set default role and handle YouTube video MIME type
2025-08-02 12:53:58 +08:00
CaIon
7d4c9955f1
feat: add recordErrorLog option to NewAPIError for conditional error logging
2025-08-02 11:07:50 +08:00
CaIon
2d4149c5dc
feat: implement key mode for multi-key channels with append/replace options
2025-08-02 10:57:03 +08:00
CaIon
52f419bc3b
feat: add admin info to error logging with multi-key support
2025-08-01 18:19:28 +08:00