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 2 commits
  4. 23 Jan, 2026 1 commit
  5. 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
  6. 20 Jan, 2026 4 commits
  7. 19 Jan, 2026 1 commit
  8. 17 Jan, 2026 12 commits
  9. 16 Jan, 2026 6 commits
  10. 15 Jan, 2026 1 commit
  11. 14 Jan, 2026 2 commits
  12. 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
  13. 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
  14. 11 Jan, 2026 1 commit
    • IanShaw027's avatar
      feat(ops): 实现上游错误事件记录与查询功能 · 7ebca553
      IanShaw027 authored
      **新增功能**:
      - 新建ops_upstream_error_events表存储上游服务错误详情
      - 支持记录上游429/529/5xx错误的详细上下文信息
      - 提供按时间范围查询上游错误事件的API
      
      **后端改动**:
      1. 模型层(ops_models.go, ops_port.go):
         - 新增UpstreamErrorEvent结构体
         - 扩展Repository接口支持上游错误事件CRUD
      
      2. 仓储层(ops_repo.go):
         - 实现InsertUpstreamErrorEvent写入上游错误
         - 实现GetUpstreamErrorEvents按时间范围查询
      
      3. 服务层(ops_service.go, ops_upstream_context.go):
         - ops_service: 新增GetUpstreamErrorEvents查询方法
         - ops_upstream_context: 封装上游错误上下文构建逻辑
      
      4. Handler层(ops_error_logger.go):
         - 新增GetUpstreamErrorsHandler处理上游错误查询请求
      
      5. Gateway层集成:
         - antigravity_gateway_service.go: 429/529错误时记录上游事件
         - gateway_service.go: OpenAI 429/5xx错误时记录
         - gemini_messages_compat_service.go: Gemini 429/5xx错误时记录
         - openai_gateway_service.go: OpenAI 429/5xx错误时记录
         - ratelimit_service.go: 429限流错误时记录
      
      **数据记录字段**:
      - request_id: 关联ops_logs主记录
      - platform/model: 上游服务标识
      - status_code/error_message: 错误详情
      - request_headers/response_body: 调试信息(可选)
      - created_at: 错误发生时间
      7ebca553
  15. 09 Jan, 2026 1 commit
    • Song Siyu's avatar
      feat: antigravity 配额域限流 + SSE 上限 (#222) · 7d1fe818
      Song Siyu authored
      * fix: 添加 gemini-3-flash 前缀映射支持 gemini-3-flash-preview
      
      * feat(antigravity): 增强请求参数和注入 Antigravity 身份 system prompt
      
      * feat: antigravity 配额域限流
      
      * chore: 调整 SSE 单行上限到 25MB
      
      * chore: 提升 SSE 单行上限到 40MB
      7d1fe818