sczheng189
|
f4f88091c1
|
feat: 扩展熔断机制支持所有5xx错误码
- 扩展错误检测从单一500错误到所有5xx错误码(500-599)
- 新增temp_error状态,连续3次5xx错误触发临时熔断
- 支持流式和非流式请求的统一5xx错误处理
- 添加定时清理机制,60分钟后自动恢复temp_error状态
- 完善错误计数和清理逻辑,提高系统可靠性
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-25 19:14:14 +08:00 |
|
iRubbish
|
f31f7c9385
|
feat: 实现历史API Key自动关联功能
核心功能:
- AD用户登录时自动关联已存在的历史API Key
- 关联规则: API Key name字段与用户displayName完全匹配
- 自动设置owner字段完成关联,避免用户重新创建Key
实现逻辑:
1. 优先匹配owner字段(已关联的Key)
2. 如无owner匹配,尝试匹配name与displayName
3. 找到匹配历史Key后,自动设置owner完成关联
技术特性:
- 详细日志记录关联过程
- 支持JWT token中完整用户信息传递
- Redis数据自动更新owner字段
- 系统迁移兼容性处理
测试验证:
- 创建测试历史Key验证自动关联
- JWT token正确解析displayName字段
- Redis数据正确更新owner关联关系
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-25 18:19:33 +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 |
|
github-actions[bot]
|
81ad8a787f
|
chore: sync VERSION file with release v1.1.120 [skip ci]
|
2025-08-24 09:48:45 +00:00 |
|
shaw
|
5c5548e839
|
fix: 修复openai Team订阅无法转发codex的问题
|
2025-08-24 17:48:09 +08:00 |
|
github-actions[bot]
|
4d7cbe3102
|
chore: sync VERSION file with release v1.1.119 [skip ci]
|
2025-08-24 08:51:00 +00:00 |
|
shaw
|
e56a49d7ed
|
fix: 修复codex 添加账号缺少oauth步骤
|
2025-08-24 16:47:45 +08:00 |
|
github-actions[bot]
|
9d8d83f32b
|
chore: sync VERSION file with release v1.1.118 [skip ci]
|
2025-08-23 12:29:04 +00: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 |
|
github-actions[bot]
|
86aff0a273
|
chore: sync VERSION file with release v1.1.117 [skip ci]
|
2025-08-22 15:56:08 +00:00 |
|
shaw
|
796f38c8b2
|
feat: 配置文件增加时区配置
|
2025-08-22 23:54:41 +08:00 |
|
shaw
|
85c1e84b42
|
fix: 修复批量编辑组件的 Prettier 格式化问题
- 格式化所有不符合 Prettier 规范的代码
- 修复长标签元素的换行问题
- 确保前端构建成功通过
|
2025-08-22 22:29:58 +08:00 |
|
shaw
|
47a1b37243
|
feat: 为批量编辑API Keys组件添加暗黑模式支持
- 为所有文本、背景、边框添加暗黑模式样式
- 更新表单控件(输入框、选择框、按钮)的暗黑模式样式
- 确保与项目其他组件的暗黑模式风格保持一致
|
2025-08-22 22:24:33 +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 |
|
lucky
|
eab7ea954b
|
Delete .spec-workflow directory
|
2025-08-22 16:46:38 +08:00 |
|
iRubbish
|
4c1759aa25
|
忽略.spec-workflow目录
|
2025-08-22 16:39:07 +08:00 |
|
iRubbish
|
f0ccc5e18c
|
忽略.spec-workflow
|
2025-08-22 16:32:39 +08:00 |
|
iRubbish
|
ee93018c20
|
增加 API keys 批量编辑管理
|
2025-08-22 16:12:04 +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 |
|
github-actions[bot]
|
8328b6ddac
|
chore: sync VERSION file with release v1.1.116 [skip ci]
|
2025-08-21 03:08:51 +00:00 |
|
lucky
|
d3f93a44ef
|
Merge branch 'Wei-Shaw:dev' into dev
|
2025-08-21 11:00:51 +08:00 |
|
shaw
|
102fc54e8e
|
fix: 修复gemini转发代理ip未使用的问题
|
2025-08-21 10:55:05 +08:00 |
|
shaw
|
bd10032857
|
fix: 移除Unicode清理逻辑,恢复与main分支一致的转发流程
- 移除app.js中的JSON解析错误处理中间件
- 移除api.js中的cleanUnicodeString和cleanUnicodeInObject函数
- 移除handleMessagesRequest中的Unicode清理调用
- 确保转发逻辑与main远程分支完全一致
问题原因:
- Unicode清理逻辑会修改请求体,可能导致某些情况下的JSON解析错误
- Claude API本身能够处理Unicode问题,不需要在中转服务中预处理
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-21 09:29:27 +08:00 |
|
shaw
|
39a72e3e72
|
fix: 修复JSON解析错误导致的"Unexpected end of JSON input"问题
- 移除express.json()的verify函数中危险的buffer修改逻辑
- 该逻辑直接修改body-parser正在处理的原始buffer,导致数据损坏
- 改进JSON解析错误中间件,支持更多错误模式识别
- 将内部500错误改为用户友好的400错误响应
- 修复了Claude CLI客户端连接时的JSON解析问题
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-20 23:50:42 +08:00 |
|
shaw
|
cb29b3f7e4
|
fix: 代理ip使用重构为统一方法
|
2025-08-20 23:21:32 +08:00 |
|
shaw
|
a45c832278
|
feat: 统一代理配置管理,支持IPv4/IPv6协议族选择
- 新增统一代理工具 ProxyHelper,支持 SOCKS5/HTTP/HTTPS 代理
- 添加 IPv4/IPv6 协议族配置选项,默认使用 IPv4 确保兼容性
- 移除 OpenAI 路由中硬编码的 family: 4 限制
- 统一 8 个服务文件中的代理创建逻辑,避免重复维护
- 支持 OAuth 和 token 交换过程中的代理使用
- 新增配置项:PROXY_USE_IPV4(默认 true)
- 向后兼容:现有配置无需手动更新
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-20 22:36:34 +08:00 |
|
shaw
|
4aa562be21
|
fix: 去除logger自动添加metadata字段
|
2025-08-20 21:45:48 +08:00 |
|
Wesley Liddick
|
d27c84b13b
|
Merge pull request #262 from mouyong/dev
fix(proxy): 强制 SOCKS5 代理使用 IPv4
|
2025-08-20 21:43:40 +08:00 |
|
mouyong
|
5af8913954
|
refactor(backend): 统一账户平台标识字段
WHAT: 统一 Claude 账户的平台标识,从 claude-oauth 改为 claude
WHY: 简化平台标识命名规范,提高前后端数据一致性,为多平台支持奠定基础
HOW: 在账户创建和查询接口中添加 platform 字段支持;更新 claudeAccountService 默认平台标识;保持向后兼容性,旧数据自动使用默认值
|
2025-08-20 21:40:24 +08:00 |
|
mouyong
|
54dca0f285
|
fix(frontend): 修复编辑分组模态框显示问题
WHAT: 修复账户分组管理中编辑分组表单无法显示的问题
WHY: 编辑模态框使用无效的 z-60 类名导致层级冲突,编辑表单被主模态框遮挡
HOW: 将编辑模态框的 z-index 类名从 z-60 改为 z-50,与主模态框同级但利用 DOM 顺序确保正确显示;保持其他样式和功能不变
|
2025-08-20 21:37:19 +08:00 |
|
Feng Yue
|
b0ad541f5d
|
Merge remote-tracking branch 'f3n9/main' into azure-openai
|
2025-08-20 18:59:15 +08:00 |
|
iRubbish
|
eb92213b17
|
feat: 添加 API Keys 批量管理功能的完整规范文档
- 需求文档:批量标签管理、账号分配、状态管理等6个核心需求
- 设计文档:完整的系统架构、组件设计和数据模型
- 任务计划:20个原子化实现任务,支持增量开发
功能包括:
- 批量标签添加/删除和冲突解决
- 批量账号分配(Claude/Gemini/OpenAI/Bedrock)
- 批量启用/禁用API Keys
- 增强的跨搜索持久多选界面
- 实时进度跟踪和操作审计
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-20 14:49:20 +08:00 |
|
mouyong
|
5ae136a5dc
|
style: 移除尾随逗号
WHAT: 移除 SocksProxyAgent 配置对象中的尾随逗号
WHY: 保持代码格式的一致性和整洁性,符合项目的代码规范
HOW: 删除 family: 4 后的尾随逗号;无功能变更;纯格式化修改
|
2025-08-20 09:45:55 +08:00 |
|
shaw
|
9272930371
|
Merge branch 'main' into dev
|
2025-08-20 09:39:59 +08:00 |
|
shaw
|
af379f22aa
|
fix: openai的responses去除text参数
|
2025-08-20 09:39:51 +08:00 |
|
mouyong
|
b1f2b4f6c1
|
fix(proxy): 强制 SOCKS5 代理使用 IPv4
WHAT: 为 SOCKS5 代理配置添加 family: 4 选项强制使用 IPv4 地址族
WHY: 解决 IPv4 主机名在代理连接时被意外解析到 IPv6 地址的问题,确保代理连接的稳定性和可预期性
HOW: 在 SocksProxyAgent 构造函数中添加 family: 4 配置选项;保持与现有 HTTP/HTTPS 代理的兼容性;无破坏性变更
|
2025-08-20 09:34:02 +08:00 |
|
Wesley Liddick
|
4840c5b829
|
Merge pull request #260 from iRubbish/dev
feat: 完善 API Keys 批量删除功能并修复搜索跨选择问题
|
2025-08-20 08:37:06 +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 |
|
shaw
|
c61aba7c0c
|
remove text
|
2025-08-18 19:17:31 +08:00 |
|
github-actions[bot]
|
23cb78558d
|
chore: sync VERSION file with release v1.1.115 [skip ci]
|
2025-08-18 11:16:13 +00:00 |
|
shaw
|
539411d593
|
fix: openai的responses去除text参数
|
2025-08-18 19:15:49 +08:00 |
|
iRubbish
|
f642fa7095
|
feat: 实现 API Keys 批量删除后端功能
- 新增 DELETE /admin/api-keys/batch 端点
- 支持批量删除最多100个API Keys
- 完整的请求参数验证(数组格式、数量限制、ID有效性)
- 逐个删除并记录成功/失败状态
- 详细的错误信息和日志记录
- 返回成功/失败统计结果
请求格式: { "keyIds": ["key1", "key2", ...] }
响应格式: { "success": true, "data": { "successCount": 2, "failedCount": 0, "errors": [] } }
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-08-18 17:00:26 +08:00 |
|
Feng Yue
|
77338276db
|
Merge remote-tracking branch 'f3n9/main' into user-management-new
|
2025-08-18 15:32:17 +08:00 |
|
github-actions[bot]
|
262df4d42e
|
chore: sync VERSION file with release v1.1.114 [skip ci]
|
2025-08-18 03:13:25 +00:00 |
|
shaw
|
d11b7c5e3e
|
fix: openai的api转发剔除多余参数
|
2025-08-18 11:13:01 +08:00 |
|
shaw
|
0f5779de84
|
fix: openai的api转发剔除多余参数
|
2025-08-18 11:10:49 +08:00 |
|