1. 02 Feb, 2026 2 commits
  2. 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
  3. 28 Jan, 2026 1 commit
  4. 27 Jan, 2026 2 commits
  5. 23 Jan, 2026 1 commit
  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 4 commits
  8. 19 Jan, 2026 1 commit
  9. 17 Jan, 2026 12 commits
  10. 16 Jan, 2026 6 commits
  11. 15 Jan, 2026 1 commit
  12. 14 Jan, 2026 2 commits
  13. 13 Jan, 2026 3 commits
    • song's avatar
      refactor: 提取 getOrCreateGeminiParts 减少重复代码 · 9a22d1a6
      song authored
      将两个 merge 函数中重复的 Gemini 响应结构访问逻辑提取为公共函数。
      9a22d1a6
    • song's avatar
      fix: 修复 Antigravity 非流式响应文本丢失问题 · c9d21d53
      song authored
      Gemini 流式响应是增量的,需要累积所有 chunk 的文本内容。
      原代码只保留最后一个有 parts 的 chunk,导致实际文本被空
      text + thoughtSignature 的最终 chunk 覆盖。
      
      添加 collectedTextParts 收集所有文本片段,返回前合并。
      c9d21d53
    • song's avatar
      fix: 修复 Antigravity 图片生成响应丢失问题 · e1015c27
      song authored
      流式转非流式时,图片数据在中间 chunk 返回,最后一个 chunk 只有
      finishReason,导致只保留最后 chunk 时图片丢失。
      
      添加 collectedImageParts 收集所有图片 parts,并在返回前合并。
      e1015c27
  14. 12 Jan, 2026 2 commits
    • xiluo's avatar
      feat(gateway): 优化 Antigravity/Gemini 思考块处理 · 524d80ae
      xiluo authored
      此提交解决了思考块 (thinking blocks) 在转发过程中的兼容性问题。
      
      主要变更:
      
      1. **思考块优化 (Thinking Blocks)**:
         - 在 AntigravityGatewayService 中增加了 sanitizeThinkingBlocks 处理,强制移除思考块中不支持的 cache_control 字段(避免 Anthropic/Vertex AI 报错)
         - 实现历史思考块展平 (Flattening):将非最后一条消息中的思考块转换为普通文本块,以绕过上游对历史思考块签名的严格校验
         - 增加 cleanCacheControlFromGeminiJSON 作为最后一道防线,确保转换后的 Gemini 请求中不残留非法的 cache_control
      
      2. **GatewayService 缓存控制优化**:
         - 更新缓存控制逻辑,跳过 thinking 块(thinking 块不支持 cache_control 字段)
         - 增加 removeCacheControlFromThinkingBlocks 函数强制清理
      
      关联 Issue: #225
      524d80ae
    • ianshaw's avatar
      feat(gateway): 添加流超时处理机制 · 2a0758bd
      ianshaw authored
      - 添加 StreamTimeoutSettings 配置结构体和系统设置
      - 实现 TimeoutCounterCache Redis 计数器用于累计超时次数
      - 在 RateLimitService 添加 HandleStreamTimeout 方法
      - 在 gateway_service、openai_gateway_service、antigravity_gateway_service 中调用超时处理
      - 添加后端 API 端点 GET/PUT /admin/settings/stream-timeout
      - 添加前端配置界面到系统设置页面
      - 支持配置:启用开关、超时阈值、处理方式、暂停时长、触发阈值、阈值窗口
      
      默认配置:
      - 启用:true
      - 超时阈值:60秒
      - 处理方式:临时不可调度
      - 暂停时长:5分钟
      - 触发阈值:3次
      - 阈值窗口:10分钟
      2a0758bd