1. 14 Feb, 2026 4 commits
  2. 13 Feb, 2026 3 commits
  3. 12 Feb, 2026 19 commits
  4. 11 Feb, 2026 6 commits
    • yangjianbo's avatar
      fix(openai): 修复 OAuth 透传流式断开与压缩头问题 · a88bb868
      yangjianbo authored
      - 透传流式在客户端断开后继续 drain 上游并解析 usage,避免计费信息丢失
      
      - 阻断透传 accept-encoding,避免压缩响应影响 SSE/usage 解析
      
      - 阻断 proxy-authorization,避免透传代理鉴权信息
      
      - 补充回归测试:请求头阻断与断流后 usage 采集
      a88bb868
    • kyx236's avatar
      feat(admin): Add email search and rate limit filtering for accounts and redeem codes · 04a1a7c2
      kyx236 authored
      - Add used_by_email column to redeem code export CSV for better user identification
      - Implement rate_limited status filter in account listing with RateLimitResetAt check
      - Extend redeem code search to include user email in addition to code matching
      - Add API key search capability to user listing filters
      - Display user email in redeem code table used_by column for improved visibility
      - Update search placeholders in UI to reflect expanded search capabilities (email, username, notes, API key)
      - Improve Chinese and English localization strings for search hints
      04a1a7c2
    • sususu98's avatar
      fix: include Gemini thoughtsTokenCount in output token billing · d21d70a5
      sususu98 authored
      Gemini 2.5 Pro/Flash thinking models return thoughtsTokenCount separately
      from candidatesTokenCount in usageMetadata, but this field was not parsed
      or included in billing calculations, causing thinking tokens to be
      unbilled.
      
      - Add ThoughtsTokenCount field to GeminiUsageMetadata struct
      - Include thoughtsTokenCount in OutputTokens across all 3 Gemini usage
        parsing paths (non-streaming, streaming, compat layer)
      - Add tests covering thinking token scenarios
      
      Closes #554
      d21d70a5
    • Edric Li's avatar
      feat(antigravity): 添加 onboardUser 支持并修复 project_id 补齐逻辑 · a4a46a86
      Edric Li authored
      - 新增 OnboardUser API 客户端方法,支持账号 onboarding 获取 project_id
      - loadProjectIDWithRetry 增加 onboard 回退:LoadCodeAssist 未返回 project_id 时自动触发 onboarding
      - GetAccessToken 中 project_id 补齐改用轻量 FillProjectID 替代全量 RefreshAccountToken
      - 补齐逻辑增加 5 分钟冷却机制,防止频繁重试
      - OnboardUser 轮询等待改为 context 感知,支持提前取消
      - 提取 mergeCredentials 辅助方法消除重复代码
      - 新增 extractProjectIDFromOnboardResponse 和 resolveDefaultTierID 单元测试
      a4a46a86
    • SilentFlower's avatar
      [UPDATE] 优化思考预算逻辑与代码结构 · 6ae82e04
      SilentFlower authored
      🧠 refactor(antigravity): 完善 thinking 预算分配策略并重构工具构建逻辑
      6ae82e04
    • SilentFlower's avatar
      [UPDATE] 增强 Claude Thinking 模式支持与 Opus 4.6 动态预算适配 · 19cca11e
      SilentFlower authored
       feat(antigravity): 支持 thinking adaptive 类型并适配 Opus 4.6 动态预算
      🧪 test(gateway): 增加 thinking 模式解析与签名块过滤的边界用例测试
      19cca11e
  5. 10 Feb, 2026 8 commits
    • Tian's avatar
      feat(antigravity): 支持 Refresh Token 批量导入创建 OAuth 账号 · c8f87a9c
      Tian authored
      后端新增 ValidateRefreshToken service 方法和 POST /oauth/refresh-token 端点,
      前端新增 API/Composable/UI 集成,OAuthAuthorizationFlow i18n 动态化,
      支持在 Antigravity 创建账号时批量粘贴 Refresh Token 自动验证并创建账号。
      c8f87a9c
    • yangjianbo's avatar
      feat(openai): 增加 OAuth 透传开关 · f1e884ce
      yangjianbo authored
      
      
      - 仅对 Codex CLI 且账号开启时走原样透传(只替换认证)
      
      - 透传模式禁用工具修正/模型替换,并旁路解析 usage 用于计费
      
      - 管理后台增加开关与文案,ops upstream error 记录 passthrough 标记
      Co-Authored-By: default avatarClaude Opus 4.6 <noreply@anthropic.com>
      f1e884ce
    • yangjianbo's avatar
      perf(service): 优化重试场景 thinking 过滤性能 · 86f31247
      yangjianbo authored
      
      
      - 避免全量 Unmarshal 请求体,改为仅解析 messages 子树
      
      - 顶层 thinking 使用 sjson 直接删除,减少整体重写
      
      - content 仅在需要修改时延迟分配 new slice
      
      - 增加 FilterThinkingBlocksForRetry 基准测试
      Co-Authored-By: default avatarClaude Opus 4.6 <noreply@anthropic.com>
      86f31247
    • yangjianbo's avatar
    • Edric Li's avatar
      fix: 修复 CI 检查失败 · 378e476e
      Edric Li authored
      - gofmt: 修复 error_passthrough_service.go 格式问题
      - errcheck: 修复 error_passthrough_runtime_test.go 类型断言未检查
      - staticcheck: if-else 改为 switch (gateway_service.go)
      - test: 修复两个测试用例错误使用 MODEL_CAPACITY_EXHAUSTED 导致走错路径
      378e476e
    • Edric Li's avatar
      perf: 错误处理性能优化 · a54b81cf
      Edric Li authored
      - MatchRule 延迟/限制 body ToLower,先用 statusCode 短路,只在需要关键词匹配时转换且限制 8KB
      - 预计算规则的小写关键词/平台和 error code set,消除运行时重复 ToLower 和线性扫描
      - MODEL_CAPACITY_EXHAUSTED 全局去重,避免并发请求重复重试同一模型
      - 503 重试 body 读取限制从 2MB 降至 8KB
      - time.After 替换为 time.NewTimer,防止 context 取消时 timer 泄漏
      a54b81cf
    • Edric Li's avatar
      fix: 修复错误透传规则 skip_monitoring 未生效的问题 · 2d4236f7
      Edric Li authored
      - ops_error_logger: status < 400 分支增加 OpsSkipPassthroughKey 检查
      - ops_upstream_context: 新增 checkSkipMonitoringForUpstreamEvent,中间重试/故障转移事件也能触发跳过标记
      - gateway_handler/openai_gateway_handler/gemini_v1beta_handler: handleFailoverExhausted 匹配规则后设置 OpsSkipPassthroughKey
      - antigravity_gateway_service: writeMappedClaudeError 增加 applyErrorPassthroughRule 调用
      2d4236f7
    • yangjianbo's avatar
      test(backend): 补充改动代码单元测试覆盖率至 85%+ · e4899967
      yangjianbo authored
      
      
      新增 48 个测试用例覆盖修复代码的各分支路径:
      - subscription_maintenance_queue: nil receiver/task、Stop 幂等、零值参数 (+6)
      - billing_service: CalculateCostWithConfig、错误传播、SoraImageCost 等 (+12)
      - timing_wheel_service: Schedule/ScheduleRecurring after Stop (+3)
      - sora_media_cleanup_service: nil guard、Start/Stop 各分支、timezone (+10)
      - sora_gateway_service: normalizeSoraMediaURLs、buildSoraContent 等辅助函数 (+17)
      Co-Authored-By: default avatarClaude Opus 4.6 <noreply@anthropic.com>
      e4899967