1. 29 Jan, 2026 1 commit
    • song's avatar
      fix(gateway): 过滤 Gemini 请求中 parts 为空的消息 · 7ade9baa
      song authored
      Gemini API 不接受 contents 数组中 parts 为空的消息,会返回 400 INVALID_ARGUMENT 错误。
      添加 filterEmptyPartsFromGeminiRequest 函数在转发前过滤这类消息。
      
      影响范围:ForwardGemini (antigravity) 和 ForwardNative (gemini)
      7ade9baa
  2. 28 Jan, 2026 1 commit
  3. 27 Jan, 2026 3 commits
  4. 26 Jan, 2026 1 commit
  5. 23 Jan, 2026 3 commits
  6. 21 Jan, 2026 2 commits
    • song's avatar
      feat(antigravity): 支持按模型类型配置重试次数 · 207e0950
      song authored
      新增环境变量:
      - GATEWAY_ANTIGRAVITY_MAX_RETRIES_CLAUDE
      - GATEWAY_ANTIGRAVITY_MAX_RETRIES_GEMINI_TEXT
      - GATEWAY_ANTIGRAVITY_MAX_RETRIES_GEMINI_IMAGE
      
      未设置时回退到平台级 GATEWAY_ANTIGRAVITY_MAX_RETRIES
      207e0950
    • 0xff26b9a8's avatar
      refactor(antigravity): 提取并同步 Schema 清理逻辑至 schema_cleaner.go · 71f8b9e4
      0xff26b9a8 authored
      主要变更:
      1. 重构代码结构:
         - 将 CleanJSONSchema 及其相关辅助函数从 request_transformer.go 提取到独立的 schema_cleaner.go 文件中,实现逻辑解耦。
      
      2. 逻辑优化与修正:
         - 参考 Antigravity-Manager (json_schema.rs) 的实现逻辑,修正了 Schema 清洗策略。
      71f8b9e4
  7. 20 Jan, 2026 5 commits
  8. 19 Jan, 2026 1 commit
  9. 17 Jan, 2026 13 commits
  10. 16 Jan, 2026 10 commits
    • song's avatar
      fix(antigravity): 429 时也切换 URL 重试 · ac7503d9
      song authored
      - 429 优先切换到下一个 URL 重试
      - 只有所有 URL 都返回 429 时才限流账户并返回错误
      - 与 client.go 中的逻辑保持一致
      ac7503d9
    • song's avatar
      feat(antigravity): 动态 URL 排序,最近成功的优先使用 · 69c4b17a
      song authored
      - URLAvailability 新增 lastSuccess 字段追踪最近成功的 URL
      - GetAvailableURLs 返回列表时优先放置 lastSuccess
      - 所有 Antigravity API 调用成功后调用 MarkSuccess 更新优先级
      69c4b17a
    • shaw's avatar
      feat: 添加5h窗口费用控制和会话数量限制 · 73794233
      shaw authored
      - 支持Anthropic OAuth/SetupToken账号的5h窗口费用阈值控制
      - 支持账号级别的并发会话数量限制
      - 使用Redis缓存窗口费用(30秒TTL)减少数据库压力
      - 费用计算基于标准费用(不含账号倍率)
      73794233
    • song's avatar
      feat(scheduling): 兜底层账户选择策略可配置 · 1be3eaca
      song authored
      - gateway.scheduling.fallback_selection_mode: "last_used"(默认) 或 "random"
      - last_used: 按最后使用时间排序(轮询效果)
      - random: 同优先级内随机选择
      1be3eaca
    • song's avatar
      feat(gateway): 账户切换次数和 Antigravity 限流时间可配置 · 34d6b0a6
      song authored
      - gateway.max_account_switches: 账户切换最大次数,默认 10
      - gateway.max_account_switches_gemini: Gemini 账户切换次数,默认 3
      - gateway.antigravity_fallback_cooldown_minutes: Antigravity 429 fallback 限流时间,默认 5 分钟
      - Antigravity 429 不再重试,直接标记账户限流
      34d6b0a6
    • song's avatar
      fix(antigravity): 429 重试3次后限流账户 · 2055a60b
      song authored
      - 收到429后重试最多3次(指数退避)
      - 3次都失败后调用 handleUpstreamError 限流账户
      - 移除无效的 URL fallback 逻辑(当前只有一个URL)
      2055a60b
    • song's avatar
      fix(antigravity): 429 fallback 改为 5 分钟并限流整个账户 · cc892744
      song authored
      - fallback 时间从 1 分钟改为 5 分钟
      - fallback 时直接限流整个账户而非仅限制 quota scope
      cc892744
    • longgexx's avatar
      修复格式问题。 · 392a8ac7
      longgexx authored
      392a8ac7
    • longgexx's avatar
      feat(group): 添加分组级别模型路由配置功能 · 19865b86
      longgexx authored
        支持为分组配置模型路由规则,可以指定特定模型模式优先使用的账号列表。
      
        - 新增 model_routing 字段存储路由配置(JSONB格式,支持通配符匹配)
      
        - 新增 model_routing_enabled 字段控制是否启用路由
      
        - 更新后端 handler/service/repository 支持路由配置的增删改查
      
        - 更新前端 GroupsView 添加路由配置界面
      
        - 添加数据库迁移脚本 040/041
      19865b86
    • yangjianbo's avatar
      fix(定时轮): 初始化失败返回错误并补充单测 · fe71ee57
      yangjianbo authored
      - NewTimingWheelService 改为返回 error,避免 panic
      
      - ProvideTimingWheelService 透传 error 并更新 wire 生成代码
      
      - 补充定时任务调度/取消/周期任务相关单元测试
      fe71ee57