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
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
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
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
4627475b7c
filter apikeys by either key name or username
2025-09-02 19:40:45 +08:00
Wesley Liddick
1165427df0
Merge pull request #315 from zephyrcicd/dev
...
feat: 支持自定义API前缀配置
2025-09-02 18:19:31 +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
Zephyr
aa04487c79
Merge branch 'Wei-Shaw:dev' into dev
2025-09-02 14:00:07 +08:00
Zephyr
3f570d5fc2
fix: 修复TutorialView.vue的代码格式问题
...
- 应用Prettier格式化规范
- 确保代码符合项目的格式要求
2025-09-02 13:59:15 +08:00
shaw
86c243e1a4
fix: 修复loading动画错误
2025-09-02 11:51:38 +08:00
Wesley Liddick
5406b5790c
Merge pull request #308 from f3n9/um-5
...
增加用户管理及Azure/Gemini相关改进
2025-09-02 09:33:38 +08:00
Wesley Liddick
d0eef7e98e
Merge pull request #314 from sczheng189/feat/5xx-error-circuit-breaker
...
feat: 改进5xx错误熔断机制和重置状态功能
2025-09-02 09:32:08 +08:00
Zephyr
96cf49d3b7
feat: 支持自定义API前缀配置
...
- 添加 VITE_API_BASE_PREFIX 环境变量支持
- 教程页面优先使用自定义前缀,未配置时使用浏览器访问地址
- 更新 .env.example 添加配置说明
2025-09-01 22:50:17 +08:00
sczheng189
f2c2bdf6d6
feat: 改进5xx错误熔断机制和重置状态功能
...
## 熔断机制优化
- 将5xx错误阈值从3次提升到10次,减少误触发
- 缩短临时错误恢复时间从60分钟到5分钟
- 支持所有5xx状态码(500-599)的统一处理
## 重置状态功能完善
后端 resetAccountStatus 新增清除:
- tempErrorAt 字段 (temp_error状态)
- sessionWindowStart/sessionWindowEnd 字段
- 5xx_errors Redis计数键
前端优化:
- 重置成功后强制刷新 loadAccounts(true)
- 避免缓存导致的状态显示不一致
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-01 21:39:39 +08:00
Feng Yue
68603bc046
Merge branch 'dev' into um-5
2025-09-01 12:19:53 +08:00
shaw
5cfa3cc72f
feat: 添加精确的账户费用计算和时区支持
...
- 实现基于模型使用量的精确每日费用计算
- 添加 dateHelper 工具支持时区转换
- 移除未使用的 webhook 配置代码
- 清理环境变量和配置文件中的 webhook 相关设置
- 优化前端费用显示,使用后端精确计算的数据
- 添加 DEBUG_HTTP_TRAFFIC 调试选项支持
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-09-01 11:29:16 +08:00
Feng Yue
50b372473c
Merge remote-tracking branch 'f3n9/main' into um-5
2025-08-31 23:12:46 +08:00
shaw
e84c6a5555
feat: 实现基于费用的速率限制功能
...
- 新增 rateLimitCost 字段,支持按费用进行速率限制
- 新增 weeklyOpusCostLimit 字段,支持 Opus 模型周费用限制
- 优化速率限制逻辑,支持费用、请求数、token多维度控制
- 更新前端界面,添加费用限制配置选项
- 增强账户管理功能,支持费用统计和限制
- 改进 Redis 数据模型,支持费用计数器
- 优化价格计算服务,支持更精确的成本核算
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-31 17:27:37 +08:00
shaw
a54622e3d7
Revert "Merge pull request #292 from iRubbish/dev"
...
This reverts commit 9e8e74ce6b , reversing
changes made to 222f4e44fe .
2025-08-30 20:09:41 +08:00
Wesley Liddick
9e8e74ce6b
Merge pull request #292 from iRubbish/dev
...
feat: 新增AD域控用户认证系统
2025-08-28 08:43:21 +08:00
iRubbish
82f545c3b0
保存当前API Key管理功能的修改
...
- 统一用户创建和admin创建API Key的逻辑
- 修复admin更新用户创建的API Key功能
- 用户创建API Key名称改为displayName
- 默认无限制配置
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-26 13:42:02 +08:00
sczheng189
e69ab2161d
feat: 实现账户多分组调度功能
...
- 添加账户分组管理功能,支持创建、编辑、删除分组
- 实现基于分组的账户调度逻辑
- 添加分组权重和优先级支持
- 提供测试脚本验证多分组调度功能
- 修复代码格式化问题(统一使用LF换行符)
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-25 20:11:18 +08:00
iRubbish
7624c383e8
feat: 完整实现AD域控用户认证系统
...
主要功能:
- 新增LDAP服务连接AD域控服务器
- 实现多格式AD用户认证(sAMAccountName, UPN, 域\用户名, DN)
- 支持中文显示名和拼音用户名搜索
- 添加用户账户状态检查(禁用账户检测)
- 实现JWT token认证和用户会话管理
新增文件:
- src/services/ldapService.js - LDAP核心服务
- src/routes/ldapRoutes.js - AD认证API路由
- src/services/userMappingService.js - 用户映射服务
- web/admin-spa/src/views/UserDashboardView.vue - 用户控制台
- web/admin-spa/src/components/user/ - 用户组件目录
修改功能:
- ApiStatsView.vue 增加用户登录按钮和模态框
- 路由系统增加用户专用页面
- 安装ldapjs和jsonwebtoken依赖
技术特性:
- 多种认证格式自动尝试
- LDAP referral错误处理
- 详细认证日志和错误码记录
- 前后端完整用户认证流程
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-25 18:03:55 +08:00
Feng Yue
d5f5e0f4dd
Merge branch 'main' into um-5
2025-08-25 17:19:24 +08:00
shaw
b426a759a8
feat: 支持后台配置webhook
2025-08-23 20:20:32 +08:00
shaw
74bcb99142
feat: 新增支持Azure OpenAI账户
2025-08-23 10:30:29 +08:00
shaw
e4e72ba5e9
fix: 修复仪表盘Keys统计展示问题
2025-08-23 08:55:52 +08:00
shaw
15c8478a96
Merge branch 'pr-272' into dev
2025-08-22 22:19:00 +08:00
shaw
d2f0ac37a9
feat: 支持Dark Mode
2025-08-22 22:09:38 +08:00
iRubbish
59d013f02f
feat: 批量编辑API Keys功能优化和Bug修复
...
- 添加批量编辑API Keys路由和验证逻辑
- 修复标签操作(添加、移除、替换)功能
- 新增批量编辑前端组件,支持共享账号池选择
- 完善Bedrock账户显示和绑定功能
- 优化账户选择UI,统一所有平台选项
- 修复前端构建错误和代码格式问题
- 添加comprehensive测试场景文档
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-22 13:55:39 +08:00
iRubbish
1ee71ffbc9
feat: 完善 API Keys 批量删除功能并修复搜索跨选择问题
...
## 主要改进
### 🔧 核心修复
- 修复搜索时勾选状态无法保存的问题
- 优化全选/取消全选逻辑,支持跨搜索结果保持选择状态
- 改进批量删除的用户体验
- 添加 Unicode 字符处理中间件,提升请求体解析稳定性
### 🎯 具体变更
- **路由修复**: 解决批量删除路由匹配问题,调整路由顺序
- **API客户端**: 修复 DELETE 方法支持请求体数据传输
- **前端逻辑**: 分离筛选和搜索的监听器,搜索时保持已选中状态
- **全选优化**: 取消全选时只移除当前页选中项,保留其他页面选择
- **Unicode处理**: 添加无效 UTF-16 代理对清理和错误处理机制
- **配置管理**: 将 .mcp.json 添加到 .gitignore,避免本地配置被提交
### 🚀 用户体验提升
- 支持跨搜索结果批量选择和删除
- 批量删除按钮显示选中数量
- 智能的全选状态管理
- 更好的 Unicode 字符处理容错性
### 🧪 测试验证
- 验证搜索切换时选择状态保持
- 确认批量删除功能正常工作
- 检查 Redis 数据清理完整性
- 测试 Unicode 字符处理稳定性
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-19 09:59:54 +08:00
Feng Yue
77338276db
Merge remote-tracking branch 'f3n9/main' into user-management-new
2025-08-18 15:32:17 +08:00
shaw
b1344fef8c
fix: prettier format
2025-08-15 18:47:09 +08:00
shaw
812e98355f
feat: 实现 OpenAI token 自动刷新功能并优化账户管理界面
...
主要更改:
1. OpenAI Token 自动刷新
- 实现 refreshAccessToken 函数,支持 OAuth 2.0 refresh_token grant type
- 使用 Codex CLI 官方 CLIENT_ID (app_EMoamEEZ73f0CkXaXp7hrann)
- 支持 SOCKS5 和 HTTP/HTTPS 代理
- 自动更新 access token、id token 和 refresh token
2. 账户管理界面优化
- 移除手动刷新 token 按钮(桌面端和移动端)
- 保留后端自动刷新机制
- 优化代码结构,删除不再需要的函数和变量
3. 测试和文档
- 添加 test-openai-refresh.js 测试脚本
- 创建详细的实现文档
技术细节:
- Token 端点: https://auth.openai.com/oauth/token
- 默认有效期: 1小时
- 加密存储: AES-256-CBC
所有平台现在都支持自动 token 刷新:
✅ Claude - OAuth 自动刷新
✅ Gemini - Google OAuth2 自动刷新
✅ OpenAI - OAuth 自动刷新(新实现)
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-15 16:56:44 +08:00
KevinLiao
0e5f4e03c1
feat: 新增Claude账号订阅类型设置
...
1. OAuth可自动判断订阅类型,Setup Token请自行选择。无论那种类型都可以自己改
2. 优化调度,Pro账号不再接受opus模型请求的调度
2025-08-14 16:43:58 +08:00
Feng Yue
283583d289
fix: prettier errors
2025-08-14 16:04:00 +08:00
Feng Yue
c80446ae98
fix: include deletion metadata in user API keys response
...
- Add isDeleted, deletedAt, deletedBy, deletedByType fields to getUserApiKeys service method
- Include deletion fields in user routes API keys response
- Add debug logging to dashboard component to troubleshoot deleted keys count
- Ensure frontend can properly identify and count deleted API keys
This fixes the issue where deleted API keys count was always showing 0
instead of the actual number of deleted keys.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-14 16:02:11 +08:00
Feng Yue
65620a4cde
feat: separate active and deleted API keys display in user dashboard
...
- Replace single "API Keys" counter with separate "Active API Keys" and "Deleted API Keys"
- Add loadApiKeysStats function to count active vs deleted keys separately
- Update grid layout from lg:grid-cols-4 to lg:grid-cols-5 to accommodate new card
- Add green icon for active keys and trash icon for deleted keys
- Refresh API keys stats when switching to overview tab
- Change default tab to 'overview' for better UX
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-14 15:46:54 +08:00
Feng Yue
aff9966ed1
feat: management of deleted keys
2025-08-14 12:42:39 +08:00
Feng Yue
8ea150a975
feat: enhance user API key management and implement soft delete
...
- Redirect users to API Keys tab after login instead of overview
- Remove Token Limit and Daily Cost Limit from user API key details modal
- Implement soft delete for API keys to preserve usage statistics
- Add admin endpoint to view deleted API keys with metadata
- Track deletion metadata (deletedBy, deletedAt, deletedByType)
- Ensure deleted API keys cannot be restored
- Include deleted key stats in user totals while excluding from active count
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-14 11:38:46 +08:00
Feng Yue
1ad720304c
fix: 401 errors on user management page
2025-08-14 11:37:21 +08:00
Feng Yue
2a0be1b187
chore: add user login button
2025-08-14 11:37:13 +08:00
Feng Yue
f193db926d
fix: lint errors
2025-08-14 11:36:54 +08:00
Feng Yue
eb150b4937
feat: 实现完整用户管理系统和LDAP认证集成
...
- 新增LDAP认证服务支持用户登录验证
- 实现用户服务包含会话管理和权限控制
- 添加用户专用路由和API端点
- 扩展认证中间件支持用户和管理员双重身份
- 新增用户仪表板、API密钥管理和使用统计界面
- 完善前端用户管理组件和路由配置
- 支持用户自助API密钥创建和管理
- 添加管理员用户管理功能包含角色权限控制
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-14 11:36:45 +08:00
shaw
4ca9674772
feat: 完善多平台账户管理和API Keys页面展示
...
- 修复OpenAI路由中的gpt-5模型ID处理
- 增强统一调度器的账户选择日志输出
- 优化OAuth流程中的账户类型处理
- 完善API Keys页面的多平台账户信息展示
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-12 17:55:45 +08:00
shaw
b3cba9e091
feat: 完善API Keys页面多平台账户绑定信息展示
...
- 支持显示Claude、Gemini和OpenAI三个平台的账户绑定信息
- 添加账户状态提醒(不存在、专属、分组、共享池)
- 优化UI设计,使用彩色标签区分不同平台
- 改进响应式布局,适配移动端和平板设备
- 修复OpenAI账户绑定数量统计问题
- 修复删除账户时OpenAI绑定检查逻辑
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-12 15:01:56 +08:00