Commit Graph

532 Commits

Author SHA1 Message Date
sususu
19cf38d92d fix(unifiedClaudeScheduler): Add error logging for quota check failures. 2025-09-05 17:01:40 +08:00
sususu
c16cfe60ab Merge branch 'dev' of https://github.com/sususu98/claude-relay-service into dev 2025-09-05 16:41:25 +08:00
sususu
4cc937a144 feat(Claude Console): 添加Claude Console账号每日配额
1. 额度检查优先级更高:即使不启用限流机制,超额仍会禁用账户
2. 状态会被覆盖:quota_exceeded 会覆盖 rate_limited
3. 两种恢复时间:
  - 限流恢复:分钟级(如60分钟)
  - 额度恢复:天级(第二天重置)
4. 独立控制:
  - rateLimitDuration = 0:只管理额度,忽略429
  - rateLimitDuration > 0:同时管理限流和额度
2025-09-05 14:58:59 +08:00
Wesley Liddick
7d20810179 Merge pull request #347 from iaineng/dev
fix: 修复会话粘性机制下Pro账户被错误调度用于Opus请求的问题
2025-09-05 13:54:17 +08:00
iaineng
8c158d82fa fix: 添加创建Claude账户时缺失的useUnifiedUserAgent字段处理
- 在 /admin/claude-accounts POST 路由中添加 useUnifiedUserAgent 参数解构
- 将 useUnifiedUserAgent 参数传递给 claudeAccountService.createAccount() 方法
- 保持与前端 AccountForm.vue 和服务层 claudeAccountService.js 的一致性
2025-09-05 12:18:33 +08:00
iaineng
d8e833ef1a fix: 修复会话粘性机制下Pro账户被错误调度用于Opus请求的问题
- 在 _isAccountAvailable 方法中添加了模型兼容性检查,避免Pro账户被用于Opus请求
- 创建 _isModelSupportedByAccount 统一方法来处理模型兼容性验证
- 支持Claude OAuth账户的订阅类型检查(Pro/Free/Max)
- 支持Claude Console账户的supportedModels配置检查
2025-09-04 23:26:18 +08:00
sczheng189
ae727d381c fix:确保清楚了5xx错误导致的临时熔断状态,修复之前没有添加的5分钟定时器 2025-09-04 13:49:55 +08:00
sczheng189
4b0861eb7f fix:修复了重置状态只删除js对象而没有删除redis的问题 2025-09-04 13:09:55 +08:00
Wesley Liddick
d6745dbe4a Merge pull request #335 from iaineng/dev
feat: 添加Claude账户403错误处理和封禁状态支持
2025-09-04 10:46:44 +08:00
Wesley Liddick
75ac51bb57 Merge pull request #337 from sczheng189/dev
优化Claude Code User-Agent识别逻辑,更适配多段版本号比较的代码
2025-09-04 10:46:09 +08:00
Wesley Liddick
6e353893d1 Merge pull request #338 from sususu98/dev
Extract session ID directly from metadata.user_id->session
2025-09-04 10:45:57 +08:00
shaw
5a29502fcd fix: 修复gemini转发 2025-09-04 10:45:07 +08:00
sususu
aa869521c0 refactor(sessionHelper): Extract session ID directly from metadata.user_id 2025-09-04 10:26:40 +08:00
sczheng189
8f08d7843f fix: 优化Claude Code User-Agent识别逻辑
- 将字符串匹配改为正则表达式匹配,提高准确性
  - 统一版本号提取正则,支持多段版本号格式
  - 修复isRealClaudeCodeRequest中的User-Agent验证逻辑"
2025-09-04 09:19:39 +08:00
iaineng
1ff14e38cb feat: 添加Claude账户403错误处理和封禁状态支持
- 新增Claude账户403错误自动检测和处理机制
- 区分Claude账户401未授权和403封禁两种错误状态
- 支持非流式和流式请求中的401/403错误处理
- 优化Claude账户错误处理代码,减少重复逻辑
- 支持前端显示不同的Claude账户错误状态和颜色
- 完善Claude账户异常Webhook通知错误码区分
2025-09-04 00:50:28 +08:00
Wesley Liddick
ac9107aa5f Merge pull request #334 from iaineng/dev
fix: 改进会话粘性机制,支持metadata.user_id并修复cache_control导致的会话切换问题
2025-09-03 21:36:03 +08:00
Wesley Liddick
5bed7c932b Merge pull request #333 from sczheng189/dev
feat: 添加统一Claude Code User-Agent支持及缓存管理功能(仅支持Claude账户,不支持api)
2025-09-03 21:35:51 +08:00
iaineng
69795f2ed0 fix: 改进会话粘性机制,支持metadata.user_id并修复cache_control导致的会话切换问题
- 添加metadata.user_id作为最高优先级会话标识
- 修改messages中cache_control检测逻辑,使用第一条消息而非缓存断点内容
- 避免动态内容破坏会话粘性,提高会话保持的稳定性
2025-09-03 21:07:45 +08:00
sczheng189
39c49fe2bb feat: 添加统一Claude Code User-Agent支持及缓存管理功能
### **核心功能**
*   **自动更新**:自动获取并使用最新的 “Claude Code” 客户端版本号。
*   **智能缓存**:获取到的版本会缓存25小时,然后自动刷新。
*   **独立开关**:每个账户都可以单独设置是否启用此功能。

### **前端界面**
*   **新增开关**:账户设置里增加了“使用统一版本”的选项。
*   **信息显示**:能直接看到当前正在使用的版本号。
*   **手动刷新**:提供“清除缓存”按钮,可手动强制更新。

### **后端技术**
*   **核心方法**:开发了新的后台功能,用于捕获、比较和管理版本号。
*   **管理接口**:为管理员提供了新的API (`/admin/claude-code-version`),方便查询和刷新。
2025-09-03 20:14:58 +08:00
Feng Yue
26c57148f7 Merge remote-tracking branch 'f3n9/main' into main-um-8 2025-09-03 17:43:36 +08:00
shaw
16d397125a feat: 支持apikey名称修改 2025-09-03 17:28:13 +08:00
Feng Yue
8ab8cf4a7a fix: user role filtering issue 2025-09-03 16:03:43 +08:00
Feng Yue
6aeb05f685 Merge remote-tracking branch 'f3n9/main' into main-um-8 2025-09-03 15:40:28 +08:00
Wesley Liddick
2c0ffd07d0 Merge pull request #322 from f3n9/dev-um-8
用户API Key管理相关优化
2025-09-03 15:24:00 +08:00
Feng Yue
54d1bc076c Merge branch 'main-um-8' into dev-um-8 2025-09-03 15:21:58 +08:00
Feng Yue
bec9cf565b feat: add Windows Active Directory LDAP authentication support 2025-09-03 15:15:13 +08:00
Feng Yue
f69333f312 Revert "add support of Windows AD Server"
This reverts commit a1005e91c8.
2025-09-03 15:03:14 +08:00
shaw
aeace0c5f0 fix: codex转发store默认false 2025-09-03 14:32:11 +08:00
Feng Yue
a1005e91c8 add support of Windows AD Server 2025-09-03 13:30:13 +08:00
shaw
b158a90b72 fix: 修复API统计和OpenAI路由问题 2025-09-03 10:54:11 +08:00
shaw
941cfacea9 fix: 优化多key查询费用错误问题 2025-09-03 10:29:12 +08:00
Feng Yue
1fc35197e1 Merge remote-tracking branch 'f3n9/dev' into dev-um-8 2025-09-03 09:45:52 +08:00
shaw
2e6feeb1c1 fix: 优化多key查询卡片 2025-09-03 09:45:13 +08:00
shaw
886ec35edc feat: api-stats页面支持多key查询 2025-09-02 23:18:31 +08:00
Feng Yue
3860f7d9b3 update default limit of apikey number per user to one and disallow key deletion by default 2025-09-02 21:42:48 +08:00
shaw
81ad098678 fix: 修复apikeys页面的一些bug 2025-09-02 21:38:54 +08:00
sczheng189
9c7ec8758d resolve: 解决与upstream/dev的合并冲突
- 合并admin.js中的groupIds和autoStopOnWarning参数
- 统一AccountForm.vue中的错误提示文案和平台判断逻辑
- 保留AccountsView.vue中的分组过滤和ungrouped功能
- 确保Azure OpenAI账户创建和更新逻辑完整性

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-02 20:32:42 +08:00
Feng Yue
d56da4d799 transfer existing api keys to users on the first login 2025-09-02 20:32:28 +08:00
sczheng189
945e0ac198 refactor: 精简Azure OpenAI多分组功能实现
- 移除不必要的分组清理逻辑
- 简化组成员端点实现,使用简单的members.push()
- 移除OpenAI账户路由中的groupInfos添加
- 保持最小化修改原则,只保留必要的功能实现

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-02 20:21:24 +08:00
sczheng189
37e6c14eac feat: 完善账户多分组功能和Azure OpenAI支持
主要功能:
- 实现账户多分组调度功能完整支持
- 修复Azure OpenAI账户优先级显示问题(前端条件判断缺失)
- 修复未分组筛选功能失效(API参数处理)
- 修复Azure OpenAI账户创建错误调用Gemini API的问题
- 完善各平台分组信息支持和使用统计显示
- 统一删除账户时的分组清理逻辑
- 添加前端请求参数处理支持

技术改进:
- 前端支持多平台账户请求构造
- 后端统一groupInfos返回格式
- API客户端完善查询参数处理

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-02 20:16:20 +08:00
Feng Yue
58958cf246 fix ownership update issue 2025-09-02 18:53:42 +08:00
Feng Yue
5ee98597e7 fix get userlist issue 2025-09-02 18:40:16 +08:00
Feng Yue
7a9e4abdd5 admin now is able to reassign apikey to admin/user 2025-09-02 17:17:06 +08:00
Feng Yue
e973158472 show owner's name in apikey management page 2025-09-02 16:16:43 +08:00
shaw
1a9746c84d feat: LDAP适配深色模式 2025-09-02 14:43:30 +08:00
shaw
86c243e1a4 fix: 修复loading动画错误 2025-09-02 11:51:38 +08:00
Wesley Liddick
b1ca898dff Merge pull request #317 from f3n9/um-5
修复账户管理页中Azure/OpenAI类型账户调度状态不准确的问题
2025-09-02 11:29:27 +08:00
Feng Yue
9f3fff1f27 fix: treat OpenAI account isActive as string 2025-09-02 10:13:27 +08:00
Feng Yue
23cb44f60f fix: handle boolean account flags in OpenAI scheduler 2025-09-02 10:06:59 +08:00
Feng Yue
60428921a1 Fix schedulable flag for OpenAI and Azure accounts 2025-09-02 09:58:05 +08:00