shaw
|
567e3b25aa
|
feat: 优化并发控制和移除冗余限制功能
主要改进:
1. 改进并发控制机制
- 使用 once 代替 on 避免重复监听
- 监听多个事件确保可靠性(close、finish)
- 支持客户端断开时立即释放并发槽位
2. 支持非流式请求的客户端断开处理
- 客户端断开时立即中断上游请求
- 避免资源浪费和不必要的 API 调用
3. 移除 requestLimit(请求数限制)功能
- 移除配置和验证逻辑
- 保留请求统计用于监控分析
4. 移除速率限制(Rate Limit)功能
- 移除 RATE_LIMIT_* 配置
- 简化中间件逻辑
- 避免与并发控制重复
现在系统仅保留:
- Token 使用量限制
- 并发数限制(更精确的资源控制)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-16 14:40:37 +08:00 |
|
shaw
|
08f93e9872
|
fix: 修复并发计数器在请求异常时不能正确减少的问题
- 增强事件监听机制
- 监听 req 的 close 和 aborted 事件
- 监听 res 的 finish 和 error 事件
- 使用标志位确保只减少一次计数
- 改进日志记录
- 增加并发计数增减的详细日志
- 记录请求关闭和中断事件
- 确保计数器安全性
- 使用 Lua 脚本原子操作防止负数
- 优化 Redis 操作逻辑
- 增强管理界面
- API Keys 列表显示当前并发数
- 并发数超过 0 时用橙色标记
- 显示当前并发数/限制数格式
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-16 10:21:17 +08:00 |
|
shaw
|
12b41ceb25
|
feat: 添加API Key并发控制和编辑功能
- 新增API Key并发控制功能
- 创建API Key时可设置并发限制(0为不限制)
- 在认证中间件中实现并发检查
- 使用Redis原子操作确保计数准确
- 添加自动清理机制处理异常情况
- 新增API Key编辑功能
- 支持修改Token限制和并发限制
- 前端添加编辑按钮和模态框
- 后端限制只能修改指定字段
- 其他改进
- 添加test-concurrency.js测试脚本
- 添加详细的功能说明文档
- 所有代码通过ESLint检查
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-16 09:48:07 +08:00 |
|
shaw
|
fbf942a5fd
|
feat: 支持手动添加 Claude 账户 Access Token
- 添加 OAuth 和手动输入两种账户添加方式
- 支持直接输入 Access Token 和 Refresh Token
- 新增账户编辑功能,可更新 Token 和代理设置
- 优化 Token 刷新失败时的回退机制
- 改进用户体验,支持手动维护长期有效的 Token
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-15 19:28:14 +08:00 |
|
shaw
|
b2b8d8c719
|
feat: 添加智能sticky会话保持功能
- 新增 sessionHelper.js 实现会话哈希生成,基于Anthropic的prompt caching机制
- 扩展 claudeAccountService.selectAvailableAccount 支持会话绑定
- 更新 claudeRelayService 集成会话保持功能
- 添加 Redis 会话映射存储,支持1小时过期
- 支持故障转移:绑定账户不可用时自动重新选择
- 三级fallback策略:cacheable内容 → system内容 → 第一条消息
- 完全向后兼容,自动启用无需配置
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-07-15 18:15:53 +08:00 |
|
shaw
|
b1ca3f307e
|
first commit
|
2025-07-14 18:14:13 +08:00 |
|