"frontend/vscode:/vscode.git/clone" did not exist on "6c469b42ed5bf928c680ca7b4c7edc01db34677e"
  1. 02 Feb, 2026 1 commit
  2. 30 Jan, 2026 1 commit
  3. 28 Jan, 2026 3 commits
  4. 27 Jan, 2026 4 commits
  5. 26 Jan, 2026 1 commit
    • shaw's avatar
      feat(auth): 实现 TOTP 双因素认证功能 · 1245f07a
      shaw authored
      新增功能:
      - 支持 Google Authenticator 等应用进行 TOTP 二次验证
      - 用户可在个人设置中启用/禁用 2FA
      - 登录时支持 TOTP 验证流程
      - 管理后台可全局开关 TOTP 功能
      
      安全增强:
      - TOTP 密钥使用 AES-256-GCM 加密存储
      - 添加 TOTP_ENCRYPTION_KEY 配置项,必须手动配置才能启用功能
      - 防止服务重启导致加密密钥变更使用户无法登录
      - 验证失败次数限制,防止暴力破解
      
      配置说明:
      - Docker 部署:在 .env 中设置 TOTP_ENCRYPTION_KEY
      - 非 Docker 部署:在 config.yaml 中设置 totp.encryption_key
      - 生成密钥命令:openssl rand -hex 32
      1245f07a
  6. 25 Jan, 2026 1 commit
    • ianshaw's avatar
      fix(antigravity): 修复 Gemini 模型 thoughtSignature 被错误覆盖的问题 · 8c123339
      ianshaw authored
      ## 问题描述
      
      在使用 Gemini 模型(gemini-3-flash-preview)时,出现 400 错误:
      "Unable to submit request because Thought signature is not valid"
      
      ## 根本原因
      
      在 `request_transformer.go` 的 `buildParts()` 函数中:
      - 对于 `tool_use` 和 `thinking` 块,当 `allowDummyThought=true`(Gemini 模型)时
      - 代码会无条件将客户端传入的真实 `thoughtSignature` 覆盖成 dummy 值
      - 导致 Gemini API 验证签名失败(签名与上下文不匹配)
      
      ## 修复方案
      
      修改 signature 处理逻辑:
      1. **优先透传真实 signature**:如果客户端提供了有效的 signature,保留它
      2. **缺失时才使用 dummy**:只有在 signature 缺失且是 Gemini 模型时,才使用 dummy signature
      3. **Claude 模型特殊处理**:将 dummy signature 视为缺失,避免透传到需要真实签名的链路
      
      ## 修改内容
      
      ### request_transformer.go
      - `thinking` 块(第 367-386 行):优先透传真实 signature
      - `tool_use` 块(第 411-418 行):优先透传真实 signature
      
      ### request_transformer_test.go
      - 修改测试用例名称,反映新的行为
      - 新增测试用例验证"缺失时才使用 dummy"的逻辑
      
      ## 影响范围
      
      - 修复 Gemini 模型在多轮对话中使用 tool_use 时的签名验证错误
      - 不影响 Claude 模型的现有行为
      - 提高跨账号切换时的稳定性
      
      相关问题:#[issue_number]
      8c123339
  7. 23 Jan, 2026 3 commits
  8. 22 Jan, 2026 1 commit
    • 0xff26b9a8's avatar
      fix(antigravity): 修复非流式 Claude To Antigravity 响应内容为空的问题 · e756064c
      0xff26b9a8 authored
      - 修复 TransformGeminiToClaude 的 JSON 解析逻辑,当 V1InternalResponse
        解析成功但 candidates 为空时,尝试直接解析为 GeminiResponse 格式
      - 修复 handleClaudeStreamToNonStreaming 收集流式响应的逻辑,累积所有
        chunks 的内容而不是只保留最后一个(最后一个 chunk 通常 text 为空)
      - 新增 mergeCollectedPartsToResponse 函数,合并所有类型的 parts
        (text、thinking、functionCall、inlineData),保持原始顺序
      - 连续的普通 text parts 合并为一个,thinking/functionCall/inlineData 保持原样
      e756064c
  9. 21 Jan, 2026 3 commits
  10. 20 Jan, 2026 2 commits
  11. 19 Jan, 2026 2 commits
    • shaw's avatar
      fix: 更新Claude OAuth授权配置以匹配最新规范 · 090c8981
      shaw authored
      - 更新TokenURL和RedirectURI为platform.claude.com
      - 更新scope定义,区分浏览器URL和内部API调用
      - 修正state/code_verifier生成算法使用base64url编码
      - 修正授权URL参数顺序并添加code=true
      - 更新token交换请求头匹配官方实现
      - 清理未使用的类型和函数
      090c8981
    • shaw's avatar
      feat: 新增会话ID伪装功能,优化日志系统 · ccfeaeb2
      shaw authored
      - 新增 session_id_masking_enabled 配置,启用后将在15分钟内固定
        metadata.user_id 中的 session ID
      - TLS fingerprint 模块日志从自定义 debugLog 迁移到 slog
      - main.go 添加 slog 初始化,根据 gin mode 设置日志级别
      - 前端创建/编辑账号模态框添加会话ID伪装开关
      - 多语言支持(中英文)
      ccfeaeb2
  12. 18 Jan, 2026 2 commits
  13. 17 Jan, 2026 6 commits
  14. 16 Jan, 2026 8 commits
  15. 15 Jan, 2026 2 commits