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
CaIon
0080123779
fix: ensure ChannelIsMultiKey context key is set to false for single key retries
2025-08-01 18:09:20 +08:00
CaIon
2578c39c7d
refactor: simplify streamResponseGeminiChat2OpenAI by removing hasImage return value and optimizing response text handling
2025-08-01 17:58:21 +08:00
CaIon
87c16db2d7
fix: update JSONEditor to default to manual mode for invalid JSON and add error message for invalid data
2025-08-01 17:21:25 +08:00
CaIon
de23f66785
fix: handle case where no response is received from Gemini API
2025-08-01 17:04:16 +08:00
CaIon
563d056ff7
refactor: update error handling to support dynamic error types
2025-07-31 21:16:01 +08:00
CaIon
6d2e92fb7b
feat: add JSONEditor component for enhanced JSON input handling
2025-07-31 12:54:07 +08:00
CaIon
590e6db670
fix: 修复被禁用的渠道无法测试的问题
2025-07-31 10:56:51 +08:00
CaIon
40848f28d4
fix: correct request mode assignment logic in adaptor
2025-07-30 23:32:20 +08:00
CaIon
91febc3097
fix: remove debug print statement
2025-07-30 23:29:45 +08:00
CaIon
a2fbf368c1
fix: 修复缓存开启下自动禁用失效
2025-07-30 23:26:09 +08:00
CaIon
28ededaf8e
fix: WriteContentType panic
2025-07-30 20:31:51 +08:00
CaIon
9afb9b594d
feat: 错误内容脱敏
2025-07-30 19:08:35 +08:00
CaIon
2d1cd5595c
Merge remote-tracking branch 'origin/alpha' into alpha
2025-07-30 18:39:32 +08:00
CaIon
2db71673a5
fix: auto ban
2025-07-30 18:39:19 +08:00
CaIon
efb7c6a15e
fix: auto ban
2025-07-29 23:08:16 +08:00
CaIon
a1caf37f5b
fix: auto ban
2025-07-29 15:20:08 +08:00
CaIon
10f025ea45
fix: increase maximum request count limits for user rate settings
2025-07-27 16:46:34 +08:00
CaIon
1c5ba67ed3
fix: ensure minimum quota display and handle zero values in render function
2025-07-27 16:32:14 +08:00
CaIon
360012bed2
feat: support claude convert to gemini
2025-07-26 13:31:33 +08:00
CaIon
2cb7b9ae62
fix: improve error messaging and JSON schema handling in distributor and relay components
2025-07-26 12:11:20 +08:00
CaIon
f610773455
feat: enhance request handling with pass-through options and system prompt support
2025-07-26 11:39:09 +08:00
CaIon
1adc83e4c9
Merge remote-tracking branch 'origin/alpha' into alpha
2025-07-26 10:43:42 +08:00
CaIon
3243f2296b
feat: add upstream error type and default handling for OpenAI and Claude errors
2025-07-25 18:48:59 +08:00