1. 29 Dec, 2025 1 commit
    • song's avatar
      feat(antigravity): 添加混合调度可选功能 · 1ad29032
      song authored
      - 后端:账户模型添加 IsMixedSchedulingEnabled() 方法,读取 extra.mixed_scheduling
      - 后端:gateway_service 和 gemini_messages_compat_service 支持混合调度逻辑
      - 后端:分组创建支持指定 platform 参数
      - 前端:账户创建/编辑弹窗添加混合调度开关(仅 antigravity 账户显示)
      - 前端:混合调度开关添加问号图标和 tooltip 说明
      - 前端:GroupSelector 支持根据 mixedScheduling 属性过滤分组
      - 前端:分组创建支持选择 platform
      - 测试:e2e 测试添加 ENDPOINT_PREFIX 环境变量支持混合/隔离模式测试
      - 测试:删除过时的 Claude signature 测试用例
      1ad29032
  2. 28 Dec, 2025 3 commits
    • song's avatar
      fix(gateway): Antigravity 账户 count_tokens 返回估算值 · ad15d997
      song authored
      Antigravity 不支持 count_tokens 转发,直接返回估算值,
      与 Antigravity-Manager 和 proxycast 实现保持一致。
      
      修复 count_tokens 请求选择到 Antigravity 账户时导致 401 的问题。
      ad15d997
    • song's avatar
    • noreply's avatar
      feat: Schedule batch update for account last_used_at · cbfce49a
      noreply authored
      Implement deferred batch update mechanism to reduce database load:
      
      - Add DeferredService for batching account last_used_at updates
      - Add TimingWheelService for efficient recurring task scheduling
      - Integrate with GatewayService and OpenAIGatewayService
      - Implement BatchUpdateLastUsed repository method using CASE...WHEN SQL
      - Fix golangci-lint error: Replace interface{} with any
      
      Benefits:
      - Reduces database writes by batching updates (10-second intervals)
      - Improves request throughput by deferring non-critical updates
      - Maintains accurate account usage tracking for scheduling
      cbfce49a
  3. 27 Dec, 2025 1 commit
  4. 26 Dec, 2025 4 commits
  5. 25 Dec, 2025 3 commits
  6. 24 Dec, 2025 2 commits
    • Forest's avatar
      refactor: 重命名 go module · 836c4dda
      Forest authored
      836c4dda
    • shaw's avatar
      feat(gateway): 添加上游错误重试机制 · ad54795a
      shaw authored
      - OAuth/Setup Token 账号遇到 403 错误时,等待 2 秒后重试,最多 3 次
      - Console 账号遇到未配置的错误码时,同样进行重试
      - 重试耗尽后:OAuth 403 标记账号异常,Console 未配置错误码不标记账号
      - 移除 handleErrorResponse 中已被重试逻辑覆盖的死代码
      ad54795a
  7. 23 Dec, 2025 1 commit
    • shaw's avatar
      fix: 兼容GLM等API的usage数据解析 · 61838cdb
      shaw authored
      部分第三方API(如GLM)的SSE响应格式与标准Claude API不同:
      - 标准Claude: input_tokens在message_start中
      - GLM等API: 所有tokens都在message_delta中
      
      现在从message_delta中也解析input_tokens和cache相关字段,
      如果message_start中没有值则使用message_delta中的数据。
      61838cdb
  8. 22 Dec, 2025 1 commit
  9. 21 Dec, 2025 1 commit
  10. 20 Dec, 2025 5 commits
  11. 19 Dec, 2025 4 commits
  12. 18 Dec, 2025 2 commits
    • 江西小徐's avatar
      fix: 修复并发请求时共享httpClient.Transport导致的竞态条件 · 2392e7cf
      江西小徐 authored
      问题描述:
      当多个请求并发执行且使用不同代理配置时,它们会同时修改共享的
      s.httpClient.Transport,导致请求可能使用错误的代理(数据泄露风险)
      或意外失败。
      
      修复方案:
      为需要代理的请求创建独立的http.Client,而不是修改共享的httpClient.Transport。
      
      改动内容:
      - 新增 buildUpstreamRequestResult 结构体,返回请求和可选的独立client
      - 修改 buildUpstreamRequest 方法,配置代理时创建独立client
      - 更新 Forward 方法,根据是否有代理选择合适的client
      2392e7cf
    • shaw's avatar
      First commit · 642842c2
      shaw authored
      642842c2