Commit Graph

25 Commits

Author SHA1 Message Date
QTom
8901994644 fix: improve logging for client disconnections in relay services
当客户端主动断开连接时,改为使用 INFO 级别记录而不是 ERROR 级别,
因为这是正常情况而非错误。

- ccrRelayService: 区分客户端断开与实际错误
- claudeConsoleRelayService: 区分客户端断开与实际错误
- claudeRelayService: 区分客户端断开与实际错误
- droidRelayService: 区分客户端断开与实际错误
2025-12-10 14:18:44 +08:00
QTom
f5d1c25295 feat: 添加用户消息串行队列功能,防止同账户并发请求触发限流
- 新增 userMessageQueueService.js 实现基于 Redis 的队列锁机制
- 在 claudeRelayService、claudeConsoleRelayService、bedrockRelayService、ccrRelayService 中集成队列锁
- 添加 Redis 原子性 Lua 脚本:acquireUserMessageLock、releaseUserMessageLock、refreshUserMessageLock
- 支持锁续租机制,防止长时间请求锁过期
- 添加可配置参数:USER_MESSAGE_QUEUE_ENABLED、USER_MESSAGE_QUEUE_DELAY_MS、USER_MESSAGE_QUEUE_TIMEOUT_MS
- 添加 Web 管理界面配置入口
- 添加 logger.performance 方法用于结构化性能日志
- 添加完整单元测试 (tests/userMessageQueue.test.js)
2025-12-09 17:04:01 +08:00
John Doe
201d95c84e [fix] Droid: dynamic x-api-provider and custom User-Agent support
- Dynamic x-api-provider selection for OpenAI endpoint based on model
  - Models with '-max' suffix use 'openai' provider
  - Other models use 'azure_openai' provider
  - Fixes gpt-5.1-codex-max model compatibility issue

- Update default User-Agent to factory-cli/0.32.1

- Add custom User-Agent field for Droid accounts
  - Backend: userAgent field in createAccount and updateAccount
  - Frontend: User-Agent input in account creation/edit UI
  - Supports all Droid auth modes: OAuth, Manual, API Key

This resolves the issue where gpt-5.1-codex-max failed with 'Azure OpenAI only supports...' error due to incorrect provider header.
2025-12-07 21:08:48 +03:00
John Doe
b3e27e9f15 [fix] Add cache token capture for Droid OpenAI endpoint
The _parseOpenAIUsageFromSSE method was not capturing cache-related
tokens (cache_read_input_tokens, cache_creation_input_tokens) from
OpenAI format responses, while the Anthropic endpoint correctly
captured them.

This fix adds extraction of:
- cached_tokens from input_tokens_details
- cache_creation_input_tokens from both input_tokens_details and
  top-level usage object

This ensures proper cache statistics tracking and cost calculation
for OpenAI models (like GPT-5/Codex) when using the Droid provider.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06 23:00:54 +03:00
shaw
4aeb47062b fix: droid增加comm端点 2025-11-27 20:38:50 +08:00
shaw
1ed0ca31ec fix: 修复因代理ip不可用导致axios的proxy回退到环境变量代理问题 2025-10-18 11:00:43 +08:00
shaw
c2669da4b3 fix: 更新factory user-agent 2025-10-15 15:26:58 +08:00
shaw
d72897f835 fix: droid转发增加runtimeAddon调试插件 2025-10-15 15:17:20 +08:00
AAEE86
8d84e2fa6e refactor: 优化API Key状态更新和日志记录格式 2025-10-14 09:33:17 +08:00
AAEE86
ea3ad2157f fix: 优化API Key错误状态码的显示方式 2025-10-14 00:53:19 +08:00
AAEE86
1f9afc788b feat: 添加Droid账户API Key管理功能
(cherry picked from commit 0cf3ca6c7eafcf28a2da7e8bfd6814b4883bb752)
2025-10-13 18:24:49 +08:00
shaw
22928aeae3 fix: 优化droid默认启用推理的问题 2025-10-12 20:16:13 +08:00
shaw
33e69ac6e2 fix: 修复droid claude的temperature参数问题 2025-10-12 19:14:25 +08:00
shaw
45dab2af40 fix: 修复temperature参数传递问题 2025-10-12 18:35:28 +08:00
shaw
b7cd143b4c fix: 修复temperature参数冲突问题 2025-10-12 13:25:43 +08:00
shaw
0b2610842a feat: droid apikey异常自动移除 2025-10-11 22:39:41 +08:00
shaw
6dcb8b9449 fix: 修复droid转发流式请求判断 2025-10-11 20:46:05 +08:00
shaw
cd9a2025b2 fix: 适配droid调用claude code订阅接口 2025-10-11 14:17:08 +08:00
shaw
6b02dbf040 fix: 优化droid转发错误传递 2025-10-10 20:05:13 +08:00
shaw
e150bc4beb fix: droid转发移除claude code的metadata参数 2025-10-10 19:15:25 +08:00
shaw
1198ee1619 fix: 修复codex传递的gpt-5模型无法使用droid账号的问题 2025-10-10 18:40:19 +08:00
shaw
66fe3cf74a fix: 优化count_tokens接口不受并发跟客户端限制 2025-10-10 17:16:10 +08:00
shaw
fad9e52c98 feat: Droid平台支持多apikey添加 2025-10-10 16:09:15 +08:00
shaw
42db271848 feat: droid平台账户数据统计及调度能力 2025-10-10 15:13:45 +08:00
shaw
2fc84a6aca feat: 新增Droid cli支持 2025-10-09 23:05:09 +08:00