Skip to content

Releases: lbjlaq/Antigravity-Manager

Antigravity Tools v4.1.31

25 Mar 13:00

Choose a tag to compare

  • [推荐项目] 支持新成员 Antigravity-Tools-LS: 专为 AI 协议设计的语言服务器,提供极致的开发辅助与调试体验。
  • [核心修复] 稳定企业切换与多 OAuth 客户端认证 (PR #2330):
    • 多客户端支持: 引入了对多 OAuth-client 的支持与 oauth_client_key 跟踪机制,支持主动切换。
    • 企业模式增强: 加格了企业模式切换时的预检(检测 project_id),并优化了失败提示。
    • 状态显示优化: 改进了需要验证 (Verification Required)、风险 (Risk)、受限 (Rate Limited) 等异常账号状态的 UI 显示。
    • API 访问回退: 为 fetchAvailableModels 接口添加了 Sandbox -> Daily -> Prod 的自动回退路径,在遇到 429 或 5xx 错误时自动尝试备选环境。
  • [代理修复] 修复使用 Gemini v1internal 协议时的 400 错误 (PR #2356):
    • 冲突避让: 解决了 v1internal 协议不支持同时使用 googleSearchfunctionDeclarations 的限制。
    • 智能注入: 现在当请求中包含函数定义时,代理将自动跳过 Google 搜索工具的注入,确保请求成功率。
  • [代理修复] 标准化 Gemini SSE 错误格式,防止 IDE 崩溃 (Issue #2371):
    • 格式规范化: 将 Gemini 处理器的流式错误输出包装为标准 OpenAI choices 格式,彻底解决了 IDE 解析器因 TypeError 导致的 UI 冻结问题。
    • 连接自愈: 为 SSE 流添加了标准的 data: [DONE] 终止符,并优化了错误状态下的存储路径探测逻辑。

Antigravity Tools v4.1.29

12 Mar 01:57

Choose a tag to compare

  • [重要提醒] 谷歌风控与第三方工具使用风险:
    • 由于谷歌加强风控,第三方工具会违反服务条款而被暂停使用 Antigravity、Gemini CLI 或 Gemini Code Assist。
    • 使用第三方软件、工具或服务访问 Antigravity、Gemini CLI 或 Gemini Code Assist(例如,使用 OpenClaw 和 Antigravity OAuth)违反了适用的条款和政策。此类行为可能导致您的帐户被暂停或终止。建议只使用切换功能
    • 申诉链接: 如果您认为帐户被误封,请通过 此链接 进行申诉。
    • 如果你对新的反代功能感兴趣可以查看 TG 频道 获取最新动态。
    • 风险提示
  • [核心功能] 账号感知的动态模型重映射与回退 (PR #2286):
    • 动态回退逻辑: 解决了由于不同账号对 Gemini Pro 模型层级(如 high / low)访问权限不一致导致的 404/400 报错问题。系统现在会根据选中账号的实际权限,在同系列模型间自动执行平滑回退(例如:gemini-3.1-pro-high -> gemini-3.1-pro-low -> 默认层级)。
    • 账号权限实时校验: 在请求进入处理器前,动态通过账号文件数据校验目标模型的可用性,实现真正意义上的“账号感知”调度。
    • 重映射优先级优化: 确立了 API 弃用规则 > 账号感知回退 > 用户自定义映射 > 系统默认映射 的科学优先级链条。
    • 文档同步: 新增了 docs/model-remapping-logic.md,完整记录了复杂的重映射逻辑流程。
  • [核心修复] Windows CLI 探测增强与路径扫描优化 (PR #2298):
    • 路径主动扫描: 引入了对 APPDATALOCALAPPDATA 以及 NVM_HOME 等路径的自动扫描机制,确保即使 CLI 未正确配置在系统 PATH 中也能被精准识别。
    • 脚本处理优化: 改进了 Windows 环境下 .cmd.bat 脚本的调用方式,解决了直接执行无法稳定获取版本号的问题。
    • 执行安全加固: 新增了路径安全性校验逻辑,通过绝对路径检查与危险字符过滤,有效防范命令注入风险。
  • [持续集成] 引入 GitHub Actions CI 工作流 (PR #2298):
    • 自动化质量控制: 构建了基础的 CI 流水线,涵盖 Rust 代码格式化检查、静态分析以及跨平台编译测试,提升了代码合规性与交付稳定性。

Antigravity Tools v4.1.28

03 Mar 05:40

Choose a tag to compare

  • [重要提醒] 谷歌风控与第三方工具使用风险:
    • 由于谷歌加强风控,第三方工具会违反服务条款而被暂停使用 Antigravity、Gemini CLI 或 Gemini Code Assist。
    • 使用第三方软件、工具或服务访问 Antigravity、Gemini CLI 或 Gemini Code Assist(例如,使用 OpenClaw 和 Antigravity OAuth)违反了适用的条款和政策。此类行为可能导致您的帐户被暂停或终止。
    • 申诉链接: 如果您认为帐户被误封,请通过 此链接 进行申诉。
    • [后续规划] 关于未来版本更迭:
      • 我们计划在后续推送新版本,届时可能会将“账号切换”与“反代代理”功能解耦为独立的模块或工具。
      • 由于作者近期工作繁忙,发布可能会有延迟,感谢理解。
      • 欢迎关注公众号 CtrlerTG 频道 获取最新动态。
    • 请谨慎使用本项目。
  • [核心修复] 全系列模型限流锁定修复 (Fix Issue #2209):
    • 统一归一化逻辑: 修复了 Claude 和 Gemini 系列模型在发生 429 (Too Many Requests) 错误时,由于限流 Key 未归一化导致负载均衡器无法识别锁定状态的问题。
    • 熔断器联动增强: 确保即使在禁用"额度保护"的情况下,内置熔断器也能通过归一化后的模型 ID(如 claude, gemini-3-flash 等)精确拦截已耗尽账号,消除 90s 的无效等待。
  • [核心修复] Gemini 系列模型 adaptive 模式下错误注入 thinkingLevel 导致 400 报错 (Fix Issue #2208):
    • 根因定位: 4.1.27 引入的自适应识别逻辑将 gemini-3.1-pro-high / gemini-3.1-pro-low 等 Gemini 系列模型误判为支持 thinkingLevel,而 thinkingLevel 是 Vertex AI Claude 原生协议专有参数,Gemini 系列底层走 v1internal 协议,仅接受 thinkingBudget,导致请求被 Google API 拒绝并返回 400 INVALID_ARGUMENT
    • 条件收窄: 将注入 thinkingLevel 的触发条件从 contains("gemini-3") 修正为 contains("claude"),确保 thinkingLevel 仅在 Claude 协议路径下注入,Gemini 系列模型在 adaptive 模式下统一回落到安全的 thinkingBudget: 24576
    • 零附带损伤: OpenAI 协议与 Gemini 原生协议路径本身无此问题,本次修复仅针对 Claude 协议映射器,影响范围最小。
  • [核心修复] 修复 Claude Code 4.1.27+ 联网搜索 (Internal Tool) 失效问题 (Issue #2224):
    • 混合工具支持: 克服了 Gemini v1internal API 对 googleSearch 与自定义 functionDeclarations 同时使用的限制。
    • 智能感知注入: 重构了工具注入引擎,实现在 Gemini 2.0+ 和 3.0 系列模型上自动同时开启内置搜索与自定义开发者工具。
    • 多协议对齐: 本次修复同步覆盖了 OpenAI 和 Gemini Native 协议,确保全协议栈在高性能模型下的联网能力一致性。
    • 后向兼容: 针对旧版 Gemini 1.5 模型保留了自动排他转换逻辑,规避 400 错误。
  • [核心修复] gemini-3-flash / gemini-3.1-flash 函数调用时缺少 thought_signature 导致 400 报错 (Fix Issue #2167):
    • 根因定位: 三个协议映射器(OpenAI / Claude / Gemini 原生)的模型识别逻辑均未将 gemini-3-flash 系列纳入 "thinking 模型" 范畴,致使在首次函数调用(无 Session 签名缓存)时,thoughtSignature 字段未被注入,Google v1internal API 返回 400 INVALID_ARGUMENT
    • OpenAI 协议: 新增 is_gemini_flash_thinking 判断变量,在 functionCall 构建阶段,当 Session 缓存为空时自动注入哨兵值 skip_thought_signature_validator
    • Claude 协议: 将 gemini-3-flash / gemini-3.1-flash 加入 target_model_supports_thinking 识别列表;无签名时 flash 模型不再强制禁用 thinking,改为依赖现有哨兵注入路径(build_contents L1249-1256),保留模型思考能力。
    • Gemini 原生协议: 在 wrap_requestfunctionCall 处理块中,当 Session 缓存为空时对 flash 模型补充哨兵 fallback,覆盖首次调用场景。
    • 零附带损伤: flash 模型不触发 thinkingConfig 注入逻辑,不影响非思考类请求的正常路径;顺带修复了 test_wrap_request_with_signature 单元测试中 session_id 参数位置错误的既有 Bug。
  • [核心修复] Token 统计时区偏差修复 (Fix Issue #2214):
    • 自动时区贴合: 将 Token 统计的基准时间从标准时间 (UTC) 切换为系统本地时间 (Local Time)。
    • 全球多时区支持: 引入了 SQLite 'localtime' 转换机制。无论用户身处全球何处,统计图表的时间轴都将自动与其系统时钟对齐,彻底解决了北京时间或其他非 UTC 时区下的数据错位问题。

Antigravity Tools v4.1.27

01 Mar 08:59

Choose a tag to compare

  • [核心优化] 代理配置初始化与工具图片保留修复 (Issue #2156):
    • 补全默认配置: 修复了 ProxyConfig 默认初始化时缺失 global_system_promptproxy_poolimage_thinking_mode 字段导致的编译失败问题。
    • 模式匹配完善: 补充了 OpenAIContentBlock 枚举匹配中的未知类型兜底分支 (_ => {}),消除非穷尽匹配的编译警告/错误。
    • 图片无条件保留: 移除冗余的 preserve_tool_result_images 开关,现已强制保留 tool_result 中的图片数据结构,转为大模型支持的 inlineData 结构,大幅简化逻辑。
  • [功能增强] 修改 docker-compose.yml 的配置 (PR #2185):
    • 命名空间更新: 将构建的默认镜像名称从 antigravity-manager 更新为 lbjlaq/antigravity-manager
    • 环境变量占位符: 为环境变量添加了带默认值的占位符语法,允许用户通过宿主机的环境变量或 .env 文件来灵活覆盖默认配置。
  • [核心修复] OpenCode thinking budget 参数全面兼容 (Issue #2186):
    • 架构支持:解决了 Vercel AI SDK (@ai-sdk/anthropic) 配合 OpenCode 使用时,因原生蛇形命名 budget_tokens 导致系统无法启动并抛出 AI_UnsupportedFunctionalityError: 'thinking requires a budget' 的问题。
    • 双字段输出:在向 OpenCode / Claude CLI 等外部客户端同步模型配置时,自动同时输出标准的 budget_tokens 与小驼峰的 budgetTokens 字段。
    • 服务端适配:后端配置解析器现已原生支持这两种命名变体。
  • [核心修复] 解决免费账号配额耗尽后的无限重试与路由死锁问题 (Issue #2184)
    • 问题根源:修补了 Google API fetchAvailableModels 接口在特定负载下无法正确返回 remainingFraction 的缺陷。由于缺失 project 标识,导致接口错误地为已耗尽配额(HTTP 429)的账号返回 1.0(100%),进而导致智能路由算法将请求持续分配给不可用账号,引发长时间重试及配额显示错误。
    • 负载修复:修改配额刷新请求,在负载中精准注入正确的 {"project": project_id} 结构。恢复了配额信息的准确感知,并在未破坏原生字段(如 supportsThinking)的前提下实现了接口完全兼容。
    • 自愈恢复:通过读取真实配额,系统现已能够实时识别免费账号的耗尽状态并将其可用度置为 0%,无缝触发多账号自愈轮询(Smart Status Self-healing),解决请求受阻与长等待问题。
  • [核心修复] 解决首页 Gemini 绘图平均配额显示为 0 的问题 (Issue #2160)
    • 匹配更新:将 Dashboard 中的绘图模型匹配逻辑从硬编码的 gemini-3-pro-image 更新为包含最新的 gemini-3.1-flash-image
    • 配置同步:在 modelConfig.ts 中补全了新版绘图模型的 UI 定义,确保图标和标签正常渲染。
  • [核心功能] 全协议动态模型规格 (Model Specs) 集成 (Issue #2176)
    • 动态引擎:实现了“动态优先、静态兜底”的规格引擎,优先识别 API 返回的 max_output_tokens 等硬限额数据。
    • 静态资源:引入 model_specs.json 集中管理 30+ 种模型的默认参数,彻底告别映射器中的硬编码逻辑。
    • 协议注入:统一了 OpenAI、Claude 和 Gemini 协议处理器对 Token 限额的注入方式,增强了跨版本兼容性。
  • [核心修复] 深度解决 Claude -> Gemini 3 路径下的 400 INVALID_ARGUMENT 异常
    • 自适应识别:修正了自适应模式逻辑,确保映射后的 Gemini 3 模型能正确使用 thinkingLevel 支持,而非失效的 budget 逻辑。
    • 冲突规避:实现了参数排他性检查,在开启分级思维时自动剥离不兼容的 thinkingBudget
    • Token 溢出保护:为 maxOutputTokens 自动提升补齐逻辑增加了 65536 的模型硬上限保护,根除参数越界导致的请求失败。

Antigravity Tools v4.1.26

27 Feb 14:05

Choose a tag to compare

  • [功能增强] 优化配额刷新逻辑,支持同步禁用账号:
    • 逻辑放宽: “刷新所有”和“批量刷新”现在不再跳过标记为 disabledproxy_disabled 的账号。
    • 自动恢复: 允许通过刷新操作尝试重新激活因 Token 过期或临时错误而被禁用的账号,提升了多账号管理的灵活性。
  • [核心修复] 修复 Windows 系统下后台任务导致 cmd 黑框闪烁的问题:
    • 静默执行: 通过为 std::process::Command 封装注入 CREATE_NO_WINDOW 标志,解决了在 Windows 端应用底层组件(如版本探测、重启更新等)调用系统命令时引发的命令行窗口一闪而过的视觉干扰,确保全过程无边框静默执行。

Antigravity Tools v4.1.25

27 Feb 05:36

Choose a tag to compare

  • [核心功能] 动态画图模型与新架构支持:
    • 动态解析: 移除了针对 gemini-3-pro-image 的硬编码限制。通过新增的 clean_image_model_name 智能清洗后缀(如 -4k, -16x9),全面兼容如 gemini-3.1-flash-image 等任意未来新增的画图模型。
    • 配额自适应: 优化了 normalize_to_standard_id,使用 image 关键词宽泛匹配,确保新模型也能正确触发配额保护机制。
  • [核心功能] 聊天接口 (Chat Completions) 画图拦截支持:
    • 跨界融合: OpenAI 和 Claude 协议的对话流现在能智能探测画像生成意图。当使用带有 image 的模型名时,系统会将常规文本生成请求静默转移给高级画图引擎。
    • 流式回显: 生成完成后,通过 Markdown 格式(![Generated Image](url))以 SSE 流式返回图片链接,完美适配所有支持 Markdown 的聊天客户端。
  • [核心修复] 彻底修复画图重定向 404 与参数穿透失效:
    • 404 移除: 移除了底层调用中残留的旧模型硬编码,根除因模型信息不一致导致的 404 Not Found 崩溃及账号受损。
    • 精准参数继承: 修复了未传参数时系统强制塞入默认 1024x1024 的行为。现在,如果模型名带有后缀(如 gemini-3-pro-image-16x9-4k),后台会严格优先解析后缀分辨率进行穿透绘图。

Antigravity Tools v4.1.24

26 Feb 08:51

Choose a tag to compare

  • [功能调整] 禁用自动预热调度程序,保留手动预热:
    • 变更说明: 为了减少不必要的后台资源占用,本版本已注释掉自动预热(Smart Warmup)的后台调度逻辑。
    • 设置隐藏: 设置页面中的“智能预热”配置项已隐藏。
    • 手动保留: 账号管理页面的手动预热功能保持不变,仍可正常使用。
    • 恢复指引: 如果您需要自动预热功能,可以自行拉取本项目源代码,在 src-tauri/src/lib.rs 中取消 start_scheduler 的注释并解除 Settings.tsx 中相关 UI 的注释后重新编译使用。
  • [核心修复] 智能版本指纹选择与启动 Panic 修复 (Issue #2123):
    • 问题根源: 1) constants.rs 中的 KNOWN_STABLE_VERSION 硬编码了低版本号,当本地 IDE 检测失败时回退该版本作为请求头,导致 Google 拒绝 Gemini 3.1 Pro 模型。2) 新增的远端版本网络调用直接在 LazyLock 初始化(Tokio 异步上下文)中执行,导致 Cannot block the current thread 严重崩溃。
    • 修复方案: 1) 引入"智能最大版本"策略 max(本地版本, 远端版本, 4.1.24),始终取最高值。2) 将网络探测逻辑移至独立 OS 线程并配合 mpsc 通道,安全避开异步运行时限制。保证无论本地版本新旧,指纹均不低于上游要求,且应用能稳定启动。
  • [核心修复] 动态模型 maxOutputTokens 限额系统 (替代 PR #2119 硬编码方案):
    • 问题根源: 部分客户端发送的 maxOutputTokens 超过模型物理上限(如 Flash 限制 64k),导致上游返回 400 错误。
    • 三层限额架构:
      • 第一层(动态优先): 实时读取账号 quota.models 数据。
      • 第二层(静态默认表): model_limits.rs 内置已知限额(如 Flash 65536)。
      • 第三层(全局兜底): 默认 131072。
    • 实现细节: 在 wrap_request() 中注入裁剪逻辑,确保请求参数合法。

Antigravity Tools v4.1.23

25 Feb 13:23

Choose a tag to compare

  • [安全增强] 优化与原生对齐应用层与底层特征指纹,提升请求稳定性与防拦截能力。
  • [核心修复] 将 v1beta thinkingLevel 转换为 v1internal thinkingBudget (PR #2095):
    • 问题根源: OpenClaw、Cline 等客户端发送 v1beta 格式的 thinkingLevel 字符串("NONE" / "LOW" / "MEDIUM" / "HIGH")到 generationConfig.thinkingConfig。当 AGM 通过 Google v1internal API 代理请求时,Google 会因为 v1internal 仅接受数字型 thinkingBudget 而拒绝请求,返回 400 INVALID_ARGUMENT
    • 修复方案: 在 wrap_request() 的现有 budget 处理逻辑之前,新增一个早期转换步骤:检测 thinkingLevel 字符串,将其映射为对应的数字 thinkingBudgetNONE→0, LOW→4096, MEDIUM→8192, HIGH→24576),然后删除 thinkingLevel 字段并写入 thinkingBudget,确保下游所有 budget 处理逻辑(预算封顶、maxOutputTokens 调整、自适应检测)都能看到正确的数值预算。
    • 测试: 已验证 OpenClaw 发送 thinkingLevel: "LOW"gemini-3.1-pro-high(Gemini 原生协议),请求现返回 200 OK,不再报 400 错误。
  • [核心修复] 账号数据损坏与后台任务无限循环修复 (PR #2094):
    • 问题根源: 当用户在设置中输入过大的刷新间隔值(如 999999999)时,interval * 60 * 1000 超过 JS 引擎 32 位有符号整数上限 2,147,483,647ms,浏览器会将 setInterval 延迟静默截断为 1ms,导致前端每秒触发数千次 refreshAllQuotas/syncAccountFromDb 请求,进而引发多线程并发写同一 [uuid].json 文件,造成字节流交错、JSON 尾部残留,账号数据永久损坏。
    • 原子文件写入 (account.rs): save_account 改为先写入 UUID 后缀的临时文件,再通过 fs::rename(POSIX)/ MoveFileExW(Windows)原子替换目标文件,与已有的 save_account_index 保持一致,从根本上消除并发写导致的 JSON 损坏。
    • setInterval 溢出保护 (BackgroundTaskRunner.tsx): 对 refresh_intervalsync_interval 两个定时器的延迟参数加上 Math.min(..., 2147483647) 上界限制,防止超过 INT32_MAX 后被浏览器截断为 1ms 无限循环。
    • 输入验证 (Settings.tsx): 将 refresh_intervalsync_interval 输入框的 max 属性从 60 更新为 35791(35791 min × 60000 < INT32_MAX),并在 onChange 中添加 NaN fallback(默认为 1)及范围夹紧 [1, 35791],从源头阻断非法值输入。
  • [核心优化] OAuth 换票专属:剔除 JA3 指纹与动态 User-Agent 伪装:
    • 纯净请求: 仅针对 exchange_code(首次授权)和 refresh_access_token(静默续期)的换票请求,移除了底层网络库的 Chrome JA3 指纹伪装,恢复标准纯净的 TLS特征。
    • 动态 UA: 换票时自动提取编译时版本号 (CURRENT_VERSION) 构建专属的 User-Agent(如 vscode/1.X.X (Antigravity/4.1.23)),以匹配纯净 TLS 链路。
  • [功能增强] API 反代页面与设置页模型列表全面接入动态模型数据:
    • 问题根源: "API 反代 → 支持模型与集成"列表与"模型路由中心"的目标模型选择下拉框,以及"设置 → 固定配额模型"列表,此前均仅从静态 MODEL_CONFIG 读取硬编码模型信息,导致账号实际下发的动态新模型(如 GPT-OSS 120BGemini 3.1 Pro (High) 等)无法出现在这些列表中。
    • 修复方案:
      • 重构 useProxyModels Hook:以账号 quota.models 动态数据为第一优先数据源,聚合所有账号里所有模型的 display_name(为主展示名称)和 name(为模型 ID);MODEL_CONFIG 仅作为图标/分组的样式补充,以及无账号数据时的静态兜底。
      • 新增自动懒加载逻辑:ApiProxy 页面本身不调用 fetchAccounts,现在 Hook 内部检测到 store 为空时自动触发,保证动态模型在任意导航路径下均可正常展示。
      • 重构 PinnedQuotaModels 组件:采用同等策略,从 useAccountStore 拉取全账号动态模型,并修复了已固定的 "thinking" 类型模型显示"未知"的问题,改为优先展示其真实 display_name
    • 去重优化: 所有列表均基于模型原始 name(小写)去重,并额外过滤掉 -thinking 后缀的 MODEL_CONFIG 静态别名条目(这类变体已由账号数据中的 supports_thinking 标记覆盖)。

Antigravity Tools v4.1.22

21 Feb 16:07

Choose a tag to compare

  • [重要提醒] 2api 风控风险提示:
    • 由于近期的谷歌风控原因,使用 2api 功能会导致账号被风控的概率显著增加。
    • 强烈建议: 为了确保您的账号安全与调用稳定性,建议减少或停止使用 2api 功能。目前更原生、更稳定的 gRPC (application/grpc)gRPC-Web (application/grpc-web) 协议代理支持仍在积极测试中,如果您有相关的测试经验或想法,非常欢迎联系讨论,也欢迎您建立新分支一起探索!
    • 📸 点击查看 gRPC 实时转换 OpenAI 规范测试演示gRPC Test
  • [核心优化] Claude Sonnet 4.5 迁移至 4.6 (PR #2014):
    • 模型升级: 引入 claude-sonnet-4-6claude-sonnet-4-6-thinking 作为主推模型。
    • 平滑过渡: 自动将 legacy 模型 claude-sonnet-4-5 重定向至 4.6
    • 全局适配: 更新了全部 12 种语言的本地化文件、UI 标签(Sonnet 4.6, Sonnet 4.6 TK, Opus 4.6 TK)以及预设路由。
  • [核心优化] Gemini Pro 模型名称迁移 (PR #2063): 将 gemini-pro-high/low 迁移至 gemini-3.1-pro,确保与 Google 最新 API 命名对齐。
  • [重大架构] 国际化 (i18n) 与结构化模型配置集成 (PR #2040):
    • 架构重构: 引入了全新的 i18n 翻译框架,将硬编码的模型展示逻辑解耦至结构化 MODEL_CONFIG
    • 逻辑适配: 在账号表格、详情弹窗和设置页面中集成了基于 i18n 标签的动态去重机制,修复了 Gemini 3.1 Pro 额度重复显示的 UI 问题。
    • 多语言提升: 优化并修正了所有 12 种语言的版本描述,将 Claude 4.5 描述全面升级为正式版 4.6,并将 G3 描述统一为 G3.1
    • [核心修复] Claude Opus 4.6 思考模式 400 报错 (Claude 协议):
    • 参数专项对齐: 修复了 claude-opus-4-6-thinking 在 Claude 协议下返回 400 INVALID_ARGUMENT 的问题。通过强制对齐 thinkingBudget (24576) 与 maxOutputTokens (57344),并剔除在该模式下不兼容的 stopSequences,确保其请求参数与 100% 成功的 OpenAI 协议完全一致,提升了对 Claude 原生协议客户端的兼容性。

Antigravity Tools v4.1.21

17 Feb 10:47

Choose a tag to compare

  • [核心修复] Cherry Studio / Claude 协议兼容性 (Fix Issue #2007):
    • maxOutputTokens 限制: 修复了 Cherry Studio 等客户端发送超大 maxOutputTokens (128k) 导致 Google API 返回 400 INVALID_ARGUMENT 的问题。现在自动将 Claude 协议的输出上限限制为 65536,确保请求始终在 Gemini 允许的范围内。
    • Adaptive 思考模式对齐: 针对 Gemini 模型优化了 Claude 协议的 thinking: { type: "adaptive" } 行为。现在自动映射为 24576 的固定思考预算 (与 OpenAI 协议一致),解决了 Gemini Vertex AI 对 thinkingBudget: -1 的不兼容问题,显著提升了 Cherry Studio 的思考模式稳定性。
  • [核心修复] 生产环境自定义协议支持 (PR #2005):
    • 协议修复: 默认启用 custom-protocol 特性,修复了生产环境下自定义协议 (如 tauri://) 加载失败的问题,确保本地资源和特殊协议请求的稳定性。
  • [核心优化] 托盘图标与窗口生命周期管理:
    • 智能托盘: 引入 AppRuntimeFlags 状态管理,实现了窗口关闭行为与托盘状态的联动。
    • 行为优化: 当托盘启用时,关闭窗口将自动隐藏而非退出应用;当托盘禁用时,关闭窗口将正常退出,提供了更符合直觉的桌面体验。
  • [核心增强] Linux 版本检测与 HTTP 客户端鲁棒性:
    • 版本解析: 增强了 Linux 平台的版本号提取逻辑 (extract_semver),能从复杂的命令行输出中准确识别版本,提升了自动更新和环境检测的准确性。
    • 客户端降级: 为 HTTP 客户端构建过程增加了自动降级机制。当代理配置导致构建失败时,系统会自动回退到无代理模式或默认配置,防止因网络配置错误导致应用完全不可用。
  • [核心修复] Cherry Studio 联网搜索空响应修复 (/v1/responses):
    • SSE 事件补全: 重写了 create_codex_sse_stream,补全了 OpenAI Responses API 规范要求的完整 SSE 事件生命周期(response.output_item.addedcontent_part.added/doneoutput_item.doneresponse.completed),解决了 Cherry Studio 因事件缺失导致无法组装响应内容的问题。
    • 联网搜索注入修复: 过滤了 Cherry Studio 发送的 builtin_web_search 工具声明,防止其与 inject_google_search_tool 冲突,确保 Google Search 工具被正确注入。
    • 搜索引文回显: 为 Codex 流式响应添加了 groundingMetadata 解析,支持在联网搜索结果中回显搜索查询和来源引文。
  • [优化] Claude 协议联网与思考稳定性 (PR #2007):
    • 移除联网降级: 移除了 Claude 协议中针对联网搜索的激进模型降级逻辑,避免不必要的模型回退。
    • 移除思考历史降级: 移除了 should_disable_thinking_due_to_history 检查,不再因历史消息格式问题永久禁用思考模式,改为依赖 thinking_recovery 机制自动修复。
  • UI 优化 (Fix #2008): 改进了冷却时间的显示颜色 (使用蓝色),提高了在小字体下的可读性。