CaIon
cb34e23918
chore: add fmt import for improved logging in token controller
2026-02-06 18:01:11 +08:00
Calcium-Ion and GitHub
1bae8928fb
Merge commit from fork
...
fix: harden token search with pagination, rate limiting and input validation
2026-02-06 17:54:40 +08:00
CaIon
327cc5fa23
fix: harden token search with pagination, rate limiting and input validation
...
- Add configurable per-user token creation limit (max_user_tokens)
- Sanitize search input patterns to prevent expensive queries
- Add per-user search rate limiting (by user ID)
- Add pagination to search endpoint with strict page size cap
- Skip empty search fields instead of matching nothing
- Hide internal errors from API responses
- Fix Interface2String float64 formatting causing config parse failures
- Add float-string fallback in config system for int/uint fields
2026-02-06 17:52:19 +08:00
Calcium-Ion and GitHub
96f9ff19df
Merge pull request #2863 from prnake/feat/claude-opus-4-6
...
feat: add claude-opus-4-6
2026-02-06 16:18:00 +08:00
Calcium-Ion and GitHub
1113181a61
Merge commit from fork
...
🔒 fix(security): sanitize AI-generated HTML to prevent XSS in playground
2026-02-06 16:16:20 +08:00
CaIon
a9982ef244
Remove deprecated components and hooks
2026-02-05 23:04:49 +08:00
CaIon
d13fa74368
Update .gitattributes to enhance text file handling and mark additional file types for LF normalization and binary detection
2026-02-05 22:57:32 +08:00
CaIon
493dbd2acb
Add .gitattributes to mark frontend as vendored
2026-02-05 22:53:07 +08:00
CaIon
0e095d4ad8
feat(api): add 'cookie' to passthroughSkipHeaderNamesLower
2026-02-05 22:16:35 +08:00
CaIon
17be836aa4
feat(oauth): implement custom OAuth provider management #1106
...
- Add support for custom OAuth providers, including creation, retrieval, updating, and deletion.
- Introduce new model and controller for managing custom OAuth providers.
- Enhance existing OAuth logic to accommodate custom providers.
- Update API routes for custom OAuth provider management.
- Include i18n support for custom OAuth-related messages.
2026-02-05 21:18:43 +08:00
CaIon
424595e620
feat(oauth): migrate GitHub user identification from login to numeric ID
2026-02-05 20:30:48 +08:00
CaIon
7801dc6762
refactor: unify OAuth providers with i18n support
...
- Introduce Provider interface pattern for standard OAuth protocols
- Create unified controller/oauth.go with common OAuth logic
- Add OAuthError type for translatable error messages
- Add i18n keys and translations (zh/en) for OAuth messages
- Use common.ApiErrorI18n/ApiSuccessI18n for consistent responses
- Preserve backward compatibility for existing routes and data
2026-02-05 20:21:38 +08:00
Calcium-Ion and GitHub
eaee7a99d1
Merge pull request #2853 from QuantumNous/remove/claude-legacy-models
...
remove: drop support for claude-2 and claude-1 series models
2026-02-05 17:26:29 +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
Calcium-Ion and GitHub
3b1866b6af
Merge pull request #2848 from seefs001/fix/gemini-empty-responses-local-usage
...
fix: charge local input tokens when Gemini returns empty response
2026-02-05 16:24:23 +08:00
Calcium-Ion and GitHub
b3934e83e2
Merge pull request #2842 from QuantumNous/feat/backend-i18n
...
feat: backend i18n
2026-02-05 01:57:44 +08:00
Calcium-Ion and GitHub
c5efbe47bf
Merge pull request #2840 from seefs001/feature/header-regex-override
...
feat: 支持基于Go Regex规则和全量的请求体透传
2026-02-05 01:56:27 +08:00
Calcium-Ion and GitHub
4b07737fff
Merge pull request #2837 from seefs001/fix/chat2responses_reasoning
...
fix: map Responses reasoning stream to chat completion deltas
2026-02-05 01:56:12 +08:00
Calcium-Ion and GitHub
59c30ff1e1
Merge pull request #2839 from QuantumNous/fix/sidebar-scroll-dvh
...
🐛 fix: sidebar scroll on mobile dynamic viewport
2026-02-05 01:46:32 +08:00
Calcium-Ion and GitHub
492003dfad
Merge pull request #2838 from QuantumNous/fix/subscription-epay
...
✨ fix: Improve subscription payment handling and card layout consistency
2026-02-05 01:46:18 +08:00
CaIon
a78c1c9be9
fix(i18n): prioritize user settings over Accept-Language header
...
The i18n middleware runs before UserAuth, so user settings weren't
available when language was detected. Now GetLangFromContext checks
user settings first (set by UserAuth) before falling back to the
language set by middleware or Accept-Language header.
2026-02-05 00:37:18 +08:00
CaIon
194e89de12
fix(i18n): add missing translations and improve language fallback
...
- Change default language fallback to English instead of Chinese
- Add ErrRedeemFailed typed error for model layer translation
- Migrate remaining hardcoded messages in controller/user.go
- Add translation keys: redeem.failed, user.create_default_token_error, common.uuid_duplicate, common.invalid_input
2026-02-05 00:16:17 +08:00
CaIon
c444746088
feat(i18n): add backend multi-language support with user language preference
...
- Add go-i18n library for internationalization
- Create i18n package with translation keys and YAML locale files (zh/en)
- Implement i18n middleware for language detection from user settings and Accept-Language header
- Add Language field to UserSetting DTO
- Update API response helpers with i18n support (ApiErrorI18n, ApiSuccessI18n)
- Migrate hardcoded messages in token, redemption, and user controllers
- Add frontend language preference settings component
- Sync language preference across header selector and user settings
- Auto-restore user language preference on login
2026-02-05 00:09:32 +08:00
CaIon
732d501f75
feat(i18n): update translations for performance monitoring and cache management across multiple languages
2026-02-04 23:39:56 +08:00
Calcium-Ion and GitHub
b564194f92
Merge pull request #2635 from feitianbubu/pr/1a2a0dbd92384bfe886b93606003f6753fcb4e9d
...
feat: task log show username
2026-02-04 23:39:41 +08:00
Calcium-Ion and GitHub
87ce4b455a
Merge pull request #2835 from QuantumNous/feat/performance-monitoring
...
feat(performance): implement system performance monitoring
2026-02-04 21:34:44 +08:00
CaIon
5e71ef98d9
feat(performance): implement system performance monitoring with configurable thresholds
2026-02-04 21:26:07 +08:00
CaIon
ffef331192
refactor(gemini): remove GeminiVisionMaxImageNum constant and related image count logic
2026-02-04 19:10:06 +08:00
Calcium-Ion and GitHub
5878ea6b64
Merge pull request #2832 from QuantumNous/revert-2759-fix-group-colors
...
Revert "fix(ui): use distinct color palette for group tags"
2026-02-04 19:06:35 +08:00
CaIon
a8ff74c2c7
feat(cache): enhance disk cache management with concurrency control and cleanup optimizations
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
Calcium-Ion and GitHub
36d3ae1c94
Merge pull request #2825 from seefs001/feature/request-id-log-column
...
feat: log search field request_id && conversion_path display
2026-02-04 15:13:06 +08:00
CaIon
ba6fa9ab7b
feat(subscription): implement SQLite support for SubscriptionPlan table creation and migration
...
#2823
2026-02-04 01:42:55 +08:00
CaIon
163bcb4c01
fix(workflow): enhance tag resolution and error handling in Docker image build
2026-02-04 00:13:47 +08:00
CaIon
46305ebcaa
feat(workflow): add manual trigger and tag input for Docker image builds
...
- Introduce a `workflow_dispatch` event to allow manual triggering of the Docker image build workflow.
- Add an input parameter for specifying the tag name, enhancing flexibility in build processes.
- Update tag resolution logic to prioritize the input tag when provided, ensuring accurate versioning during builds.
2026-02-04 00:09:02 +08:00
CaIon
0b799d4716
feat(epay): enhance parameter parsing for notify and return handlers
...
- Update EpayNotify and SubscriptionEpayNotify functions to handle both POST and GET requests for parameter parsing.
- Improve error handling by logging failures and returning appropriate responses when parameters are missing or parsing fails.
- Ensure consistent behavior across both notify and return routes for better reliability in payment processing.
2026-02-03 23:37:12 +08:00
CaIon
a7caff9b85
feat(subscription): validate price amount and migrate database column type
...
- Add validation to ensure subscription plan price amount is non-negative and does not exceed 9999.
- Migrate the price_amount column from float/double to decimal(10,6) in the database for improved precision.
- Update SubscriptionPlan model to reflect the new decimal type for price_amount.
2026-02-03 18:58:28 +08:00
CaIon
b07254ab48
feat: add license section to README files in multiple languages
2026-02-03 18:34:50 +08:00
Calcium-Ion and GitHub
0b4d82e9e5
Merge pull request #2814 from thirking/fix/remove-unescape-function
...
fix: 移除不必要的 unescapeMapOrSlice 调用,修复 Windows 路径转义问题
2026-02-03 17:42:09 +08:00
Calcium-Ion and GitHub
723b85b87f
feat: default enable channel affinity ( #2809 )
2026-02-03 00:05:23 +08:00
CaIon
319a909da8
feat: add support for jfif image format in file decoder
2026-02-02 21:36:08 +08:00
Calcium-Ion and GitHub
9cf884c527
Merge pull request #2803 from seefs001/feature/qwen-responses
...
feat: /v1/responses qwen3 max && perplexity
2026-02-02 21:22:25 +08:00
Calcium-Ion and GitHub
0ef4080ea8
fix: claude panic ( #2804 )
2026-02-02 21:22:07 +08:00
CaIon
a02c7b903a
fix: FreeBSD build failure due to type mismatch in Statfs_t fields ( #2793 )
...
Explicitly cast Blocks, Bavail, and Bfree to uint64 for cross-platform compatibility,
as these fields are int64 on FreeBSD but uint64 on Linux.
2026-02-02 00:36:36 +08:00
d7c55b92b2
feat: disk request body cache ( #2780 )
...
* feat: 引入通用 HTTP BodyStorage/DiskCache 缓存配置与管理
- 新增 common/body_storage.go 提供 HTTP 请求体存储抽象和文件缓存能力
- 增加 common/disk_cache_config.go 支持全局磁盘缓存配置
- main.go 挂载缓存初始化流程
- 新增和补充 controller/performance.go (及 unix/windows) 用于缓存性能监控接口
- middleware/body_cleanup.go 自动清理缓存文件
- router 挂载相关接口
- 前端 settings 页面新增性能监控设置 PerformanceSetting
- 优化缓存开关状态和模块热插拔能力
- 其他相关文件同步适配缓存扩展
* fix: 修复 BodyStorage 并发安全和错误处理问题
- 修复 diskStorage.Close() 竞态条件,先获取锁再执行 CAS
- 为 memoryStorage 添加互斥锁和 closed 状态检查
- 修复 CreateBodyStorageFromReader 在磁盘存储失败时的回退逻辑
- 添加缓存命中统计调用 (IncrementDiskCacheHits/IncrementMemoryCacheHits)
- 修复 gin.go 中 Seek 错误被忽略的问题
- 在 api-router 添加 BodyStorageCleanup 中间件
- 修复前端 formatBytes 对异常值的处理
Co-authored-by: Cursor <cursoragent@cursor.com >
---------
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-01-30 01:00:49 +08:00
Calcium-Ion and GitHub
3c1675d4e4
Merge pull request #2766 from seefs001/fix/response-compact-price
...
fix: /v1/responses/compact default billing
2026-01-29 23:24:31 +08:00
Calcium-Ion and GitHub
3be7801d00
Merge pull request #2765 from seefs001/fix/2763
...
fix: remove disable_parallel_tool_use if tool_choice=none
2026-01-29 23:24:11 +08:00
Calcium-Ion and GitHub
f470310df8
Merge pull request #2779 from RedwindA/feat/gemini2oaiSTOP
...
feat(gemini): map OpenAI stop to Gemini stopSequences
2026-01-29 23:21:35 +08:00
CaIon
8aa025f6e5
Update readme docs links
2026-01-28 22:50:47 +08:00
CaIon
5a39a84a2f
Update readme
2026-01-28 22:38:14 +08:00
CaIon
44f8b3e2c9
docs: add HelloGitHub and Product Hunt badges to README
2026-01-28 13:29:22 +08:00
Calcium-Ion and GitHub
d4d395e178
Add link to GitHub Security Advisories for reporting
...
Updated the reporting method for security issues to include a link to the draft security advisory.
2026-01-26 20:43:12 +08:00
CaIon
e42dc2624a
feat: add CODE_OF_CONDUCT and SECURITY.md files for community guidelines and vulnerability reporting
2026-01-26 20:37:50 +08:00
Calcium-Ion and GitHub
f2108a7deb
Update LICENSE file
2026-01-26 20:24:28 +08:00
Calcium-Ion and GitHub
57c65c2782
Merge pull request #2742 from seefs001/fix/pr-2540
...
feat(gemini): 支持 tool_choice 参数转换,优化多个渠道错误处理
2026-01-26 15:12:09 +08:00
Calcium-Ion and GitHub
264f07da2c
Merge pull request #2717 from xyfacai/feat/qwen-config
...
feat(qwen): support qwen image sync image model config
2026-01-22 18:50:39 +08:00
Calcium-Ion and GitHub
979c81985e
Merge pull request #2703 from seefs001/feature/log-conversion-info
...
feat: log shows request conversion
2026-01-21 23:48:08 +08:00
Calcium-Ion and GitHub
77d9a54627
Merge pull request #2702 from seefs001/fix/ali-baseurl
...
fix: replace Alibaba's Claude-compatible url with new url
2026-01-21 23:47:59 +08:00
Calcium-Ion and GitHub
3f208ee365
Merge pull request #2701 from seefs001/fix/gemini-tool-call-index
...
fix: calls to multiple tools in gemini all return index=0
2026-01-21 23:47:48 +08:00
Calcium-Ion and GitHub
14d2290bf0
Merge pull request #2663 from seefs001/feature/retry-status-code
...
feat: customizable automatic retry status codes
2026-01-21 23:47:31 +08:00
Calcium-Ion and GitHub
817006d861
Merge pull request #2684 from seefs001/fix/codex-rm-max-output-tokens
...
fix: codex Unsupported parameter: max_output_tokens
2026-01-21 23:47:17 +08:00
Calcium-Ion and GitHub
defda1df0a
Merge pull request #2676 from seefs001/fix/aff-login-method
...
fix: the login method cannot be displayed under the aff link.
2026-01-21 23:47:05 +08:00
Calcium-Ion and GitHub
ffd20f9fc8
Merge pull request #2668 from seefs001/feature/ignore-tls-config
...
feat: TLS_INSECURE_SKIP_VERIFY env
2026-01-21 23:46:52 +08:00
Calcium-Ion and GitHub
4f8abca054
Merge pull request #2667 from seefs001/fix/gemini-whitelist-field
...
fix: openAI function to gemini function field adjusted to whitelist mode
2026-01-21 23:45:57 +08:00
Calcium-Ion and GitHub
9cea854bb2
Merge pull request #2710 from QuantumNous/revert-2691-pr/5f73324da8aebf6a98269c242dda05da3ea6d7bc
...
Revert "fix: video content api Priority use url field"
2026-01-21 23:39:59 +08:00
CaIon
b311d482e3
fix: update abortWithOpenAiMessage function to use types.ErrorCode
2026-01-19 17:35:28 +08:00
Calcium-Ion and GitHub
ef572392b7
Merge pull request #2642 from seefs001/fix/gemini-propertyNames
...
fix: clean propertyNames for gemini function
2026-01-12 18:48:24 +08:00
CaIon
4ffe7dc50b
docs: update readme
2026-01-07 20:52:27 +08:00
CaIon
04ff3df583
fix(gin): update request body size check to allow zero limit
2026-01-05 18:55:24 +08:00
Calcium-Ion and GitHub
cf2eb6da08
Merge pull request #2580 from seefs001/fix/aws-proxy-timeout
...
fix: fix the proxyURL is empty, not using the default HTTP client configuration && the AWS calling side did not apply the relay timeout.
2026-01-05 18:32:25 +08:00
Calcium-Ion and GitHub
43f5433e6a
Merge pull request #2578 from xyfacai/fix/gemini-mimetype
...
fix: 修复 gemini 文件类型不支持 image/jpg
2026-01-04 22:19:16 +08:00
CaIon
6ba75a02b7
feat: add plans directory to .gitignore
2026-01-04 16:20:58 +08:00
Calcium-Ion and GitHub
1c95a9febc
Merge pull request #2558 from seefs001/fix/gemini-tool-call
...
fix: gemini request -> openai tool call
2026-01-03 12:37:28 +08:00
Calcium-Ion and GitHub
93527862a0
Merge pull request #2571 from seefs001/feature/check-in-security-check
...
feat: check-in feature integrates Turnstile security check
2026-01-03 12:36:39 +08:00
Calcium-Ion and GitHub
54cb496b09
Merge pull request #2565 from QuantumNous/feat/check-in
...
feat(checkin): add check-in functionality
2026-01-02 23:17:10 +08:00
CaIon
d340112ce2
feat(checkin): add check-in functionality with status retrieval and user quota rewards
2026-01-02 23:00:33 +08:00
CaIon
a3c1bc6350
fix: 修复 timestamp2string1 跨年显示问题,仅在数据跨年时显示年份
2026-01-01 15:42:15 +08:00
CaIon
87a75b0565
feat(ratio): add functions to check for audio ratios and clean up unused code
2025-12-31 21:29:10 +08:00
CaIon
7bbb7f8114
feat(model): add audio ratios for new TTS models and adjust default values
2025-12-31 21:22:33 +08:00
CaIon
75a6a0ba2b
feat(init): increase maximum file download size to 64MB
2025-12-31 21:15:37 +08:00
CaIon
300459c8a8
fix(TaskLogs): use correct video URL for modal preview
2025-12-31 00:44:12 +08:00
CaIon
62020d00a4
feat(adaptor): update resolution handling for wan2.6 model
2025-12-31 00:44:06 +08:00
CaIon
6d0e316ee6
refactor(image): remove unnecessary logging in oaiImage2Ali function
2025-12-31 00:23:19 +08:00
Calcium-Ion and GitHub
edca79297b
Merge pull request #2551 from feitianbubu/pr/829cb06b5d689ecbcc05bb3ef49dbf1aec427c35
...
feat: flush response writer after copying body
2025-12-30 18:09:33 +08:00
CaIon
b5a0c822d2
feat(adaptor): 新适配百炼多种图片生成模型
...
- wan2.6系列生图与编辑,适配多图生成计费
- wan2.5系列生图与编辑
- z-image-turbo生图,适配prompt_extend计费
2025-12-29 23:00:17 +08:00
Calcium-Ion and GitHub
15b38adf98
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
Calcium-Ion and GitHub
89e5edd407
Merge pull request #2450 from seefs001/fix/gemini-system-prompt
...
fix: 支持传入system_instruction和systemInstruction两种风格系统提示词参数名
2025-12-26 13:54:21 +08:00
Calcium-Ion and GitHub
343497ad84
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 and GitHub
7126c3c125
Merge pull request #2513 from seefs001/fix/token-auth-bearer
...
fix: 支持小写bearer和Bearer后带多个空格 && 修复 WSS预扣费错误提取key的问题
2025-12-26 13:51:32 +08:00
Calcium-Ion and GitHub
225cb9ef86
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 and GitHub
90b70f472b
Merge pull request #2475 from seefs001/feature/pyro
...
feat: pyroscope integrate
2025-12-25 17:54:39 +08:00
CaIon
ceb7ebe5cd
feat(user): simplify user response structure in JSON output
2025-12-25 15:39:58 +08:00
Calcium-Ion and GitHub
c7125480ac
Merge pull request #2524 from seefs001/fix/revert-model-ratio
...
fix: revert model ratio
2025-12-25 15:38:36 +08:00
Calcium-Ion and GitHub
3955d61b3e
Merge pull request #2477 from 1420970597/fix/anthropic-cache-billing
...
fix: 修复 Anthropic 渠道缓存计费错误
2025-12-24 16:59:23 +08:00
Calcium-Ion and GitHub
8ee5c23b48
Merge pull request #2510 from feitianbubu/pr/0e7050dc89c1b761069f5e528d8ecf786e7008ae
...
修复claudeResponse流式请求空指针Panic
2025-12-24 14:15:51 +08:00
CaIon
d488a19ed7
feat(token): enhance error handling in ValidateUserToken for better clarity
2025-12-22 18:01:38 +08:00
Calcium-Ion and GitHub
4bcdb1ec07
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
Calcium-Ion and GitHub
7af80ff043
Merge pull request #2483 from seefs001/fix/vertex-function-response-id
...
fix: 模型设置增加针对Vertex渠道过滤content[].part[].functionResponse.id的选项,默认启用
2025-12-21 17:24:07 +08:00
CaIon
c2a6193497
feat(gin): improve request body handling and error reporting
2025-12-20 13:34:10 +08:00
CaIon
3523acfc2c
feat(init): increase MaxRequestBodyMB to enhance request handling
2025-12-20 13:27:55 +08:00