1. 19 Feb, 2026 3 commits
  2. 18 Feb, 2026 1 commit
  3. 17 Feb, 2026 1 commit
  4. 16 Feb, 2026 2 commits
  5. 14 Feb, 2026 5 commits
  6. 13 Feb, 2026 4 commits
    • shaw's avatar
      fix: Anthropic 429 限流使用精确的窗口重置时间而非聚合最大值 · e6814314
      shaw authored
      当账号仅触发 5h 窗口限流时,旧逻辑从聚合头
      anthropic-ratelimit-unified-reset 读取重置时间,该值为所有窗口的
      最大值(即 7d 重置时间),导致账号被标记为不可调度约 6 天。
      
      新增 calculateAnthropic429ResetTime 函数,解析 Anthropic 的
      per-window 头(5h-utilization/reset、7d-utilization/reset、
      surpassed-threshold),判断实际触发的窗口并使用对应的重置时间:
      - 仅 5h 超标 → 使用 5h-reset(约 5 小时)
      - 仅 7d 超标 → 使用 7d-reset
      - 两者均超标 → 使用 7d-reset(较长冷却)
      - per-window 头不存在 → 回退到聚合头(向后兼容)
      e6814314
    • yangjianbo's avatar
      fix(ops): 修复日志级别过滤并增强OpenAI错误诊断日志 · f96acf6e
      yangjianbo authored
      - 移除 warn 级别下 access info 的强制入库补写,确保运行时日志级别真实生效
      
      - 将 OpenAI fallback matched 与 passthrough 断流提示按需求降级为 info
      
      - 为 codex_cli_only 与 instructions required 场景补充请求诊断字段(含 User-Agent)
      
      - 出于安全考虑移除请求体预览,仅保留 request_body_size 与白名单头信息
      
      - 新增/更新回归测试,覆盖 Forward 入口到日志落库链路
      f96acf6e
    • yangjianbo's avatar
      feat: 完善日志 · 2459eafb
      yangjianbo authored
      2459eafb
    • yangjianbo's avatar
  7. 12 Feb, 2026 13 commits
  8. 11 Feb, 2026 5 commits
    • kyx236's avatar
      feat(admin): Add group filtering for account listings · fe1d46a8
      kyx236 authored
      - Add groupID parameter to ListAccounts and ListWithFilters methods
      - Implement account filtering by group ID in repository query
      - Add group query parameter parsing in account handler
      - Update all ListAccounts/ListWithFilters call sites with groupID parameter
      - Add group filter UI component to AccountTableFilters
      - Add i18n translations for group filter label in English and Chinese
      - Update API contract and test stubs to reflect new signature
      - Enable filtering accounts by their assigned groups in admin panel
      fe1d46a8
    • yangjianbo's avatar
      fix(openai): 修复 OAuth 透传流式断开与压缩头问题 · a88bb868
      yangjianbo authored
      - 透传流式在客户端断开后继续 drain 上游并解析 usage,避免计费信息丢失
      
      - 阻断透传 accept-encoding,避免压缩响应影响 SSE/usage 解析
      
      - 阻断 proxy-authorization,避免透传代理鉴权信息
      
      - 补充回归测试:请求头阻断与断流后 usage 采集
      a88bb868
    • 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] 增强 Claude Thinking 模式支持与 Opus 4.6 动态预算适配 · 19cca11e
      SilentFlower authored
       feat(antigravity): 支持 thinking adaptive 类型并适配 Opus 4.6 动态预算
      🧪 test(gateway): 增加 thinking 模式解析与签名块过滤的边界用例测试
      19cca11e
  9. 10 Feb, 2026 6 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