1. 10 Jan, 2026 2 commits
  2. 29 Dec, 2025 1 commit
    • song's avatar
      feat(antigravity): 添加专用路由,支持仅使用 antigravity 账户 · b31bfd53
      song authored
      添加 /antigravity/v1/* 和 /antigravity/v1beta/* 路由:
      - 通过 ForcePlatform 中间件强制使用 antigravity 平台
      - 跳过混合调度逻辑,仅调度 antigravity 账户
      - 支持按分组优先查找,找不到时回退查询全部 antigravity 账户
      
      修复 context key 类型不匹配问题:
      - middleware 和 service 统一使用字符串常量 "ctx_force_platform"
      - 解决 Go context.Value() 类型+值匹配导致的读取失败
      
      其他改动:
      - 嵌入式前端中间件白名单添加 /antigravity/ 路径
      - e2e 测试 Gemini 端点 URL 添加 endpointPrefix 支持
      b31bfd53
  3. 27 Dec, 2025 1 commit
    • IanShaw's avatar
      fix: 修复 Gemini API 认证和 /responses 端点路由问题 (#45) · cf8a6452
      IanShaw authored
      * fix(middleware): 修复 Gemini API Key 认证中间件用户上下文类型错误
      
      修复了 ApiKeyAuthWithSubscriptionGoogle 中间件中设置用户上下文时的类型错误。
      
      **问题:**
      - 中间件直接设置 `apiKey.User` 对象到上下文
      - 导致 handler 中获取 `AuthSubject` 时类型断言失败
      - 所有 Gemini v1beta 端点返回 500 "User context not found"
      
      **修复:**
      - 改为设置 `AuthSubject` 结构体,与 `api_key_auth.go` 保持一致
      - 添加 `ContextKeyUserRole` 设置以完整支持角色检查
      
      **影响范围:**
      - Gemini v1beta API 端点 (generateContent, streamGenerateContent)
      - 使用 Google API Key 认证的所有请求
      
      **测试:**
      - 验证 Gemini CLI 调用成功返回 200
      - 确认用户上下文正确传递到 handler
      
      * fix(web): 修复 /responses 端点被前端中间件拦截的问题
      
      - 将 /responses 路径添加到 API 白名单,防止其被当作前端路由处理
      - 修复 /responses 端点返回 HTML 而非 API 响应的 BUG
      - 解决 codex CLI stream 在远程服务器上断开连接的问题
      
      根本原因:
      在 6c469b42 提交中添加了 /responses 路由,但未同步更新前端嵌入中间件
      的 API 白名单,导致该路由被拦截并返回 index.html 而非 API 响应。
      cf8a6452
  4. 26 Dec, 2025 1 commit
    • ianshaw's avatar
      feat(backend): 添加 Gemini V1beta Handler 和路由 · 46cb82ba
      ianshaw authored
      - 新增 gemini_v1beta_handler.go: 代理原生 Google API 格式
      - 更新 gemini_oauth_handler.go: 移除 redirectUri,新增 oauthType
      - 更新 account_handler.go: 账户 Handler 增强
      - 更新 router.go: 注册 v1beta 路由
      - 更新 config.go: Gemini OAuth 通过环境变量配置
      - 更新 wire_gen.go: 依赖注入
      46cb82ba
  5. 20 Dec, 2025 2 commits
    • Forest's avatar
      ci(backend): 调整 embed server · aa89777d
      Forest authored
      aa89777d
    • NepetaLemon's avatar
      ci(backend): 添加 github actions (#10) · c6b3de11
      NepetaLemon authored
      ## 变更内容
      
      ### CI/CD
      - 添加 GitHub Actions 工作流(test + golangci-lint)
      - 添加 golangci-lint 配置,启用 errcheck/govet/staticcheck/unused/depguard
      - 通过 depguard 强制 service 层不能直接导入 repository
      
      ### 错误处理修复
      - 修复 CSV 写入、SSE 流式输出、随机数生成等未处理的错误
      - GenerateRedeemCode() 现在返回 error
      
      ### 资源泄露修复
      - 统一使用 defer func() { _ = xxx.Close() }() 模式
      
      ### 代码清理
      - 移除未使用的常量
      - 简化 nil map 检查
      - 统一代码格式
      c6b3de11
  6. 18 Dec, 2025 2 commits