github lbjlaq/Antigravity-Manager v4.8.4
Antigravity Tools v4.8.4

4 hours ago
  • [流水线通用归一化与签名保真] Tool Call ID 全链路规范化,根治多轮思考工具调用 400 报错 (Fixes #3529, #3531, Thanks to @Mortalit, @ddmixi):
    • 根因根除: 客户端(如 OpenCode、Antigravity IDE)在执行本地工具后将结果发回第二轮生成时,常剥离 tool_id 中的下划线(如将 call_573077 转换为 call573077),导致网关从缓存匹配签名失败,向上游发出的 functionCall 缺失签名而引发 Google 报错 Function call is missing a thought_signature in functionCall parts (400)。
    • 流水线 Step 0 统一前置清洗: 入站流水线 InboundThinkingPipeline 第一道节点将上下文内所有 functionCall.id 与 functionResponse.id 全量规范化为带下划线的标准格式(call_<digits>),使得后续水合、签名缓存与终审门禁均在纯净规范上下文之上运行。
    • 缓存与持久化双向兼容: 统一 tool_signatures 与 thinking_records 表及 L1 内存缓存以归一化 ID 存储;点查时自动兼容未归一化的历史遗留记录并执行静默自愈。
    • 思考还原强关联: ThinkingStore 的 by_tool 索引与 Phase 1 工具调用锚定匹配统一对齐归一化 ID,彻底终结工具调用轮次签名断链死循环。
  • [签名保真与在位自愈根治] 根除 Claude 适配层破坏性 Base64 解码,支持原始 Protobuf 签名并引入反向入库优化自愈机制:
    • 根除破坏性 Base64 解码: 彻底移除 claude/streaming.rs 与 claude/response.rs 中误将 Gemini 签名尝试用 String::from_utf8 转为原始字符串的逻辑。Gemini 的 thoughtSignature 为原始 Protobuf 二进制(首字节为 0x12),当字节序列全在 ASCII 范围时曾被硬解为 40 字节控制字符,导致下轮带回时因长度 < 50 被当做无效数据过滤而引发上游签名校验失败。
    • 阈值放宽与 Protobuf 自动容错: 全协议统一将最小有效签名校验长度从 50 放宽至 32;在 SignatureCache、ThinkingStore 和 proxy_db 增加对首字节 0x12 的二进制 Protobuf 签名的特征识别与自动转码标准 Base64 兜底保护。
    • 全链路反向入库自愈写回 (In-Place Self-Healing Write-Back):
      • tool_signatures 表:load_tool_signature 读取历史记录时若命中旧版损坏或二进制签名,就地自动修复并通过 save_tool_signature 反向覆写更新 SQLite。
      • thinking_records 表:load_thinking_by_tool_id、load_thinking_by_signature、load_thinking_by_fingerprint 与 UI 兜底展示检索时,若命中脏签名,立即在位执行 UPDATE thinking_records SET signature = ? WHERE id = ? 治愈历史数据。
      • 轮次签名锚定时,若锚点为工具调用,通过 cache_tool_signature 同步热刷入 L1 内存缓存并反向持久化。
  • [首个非思考 Part 锚点签名保障] 严格对齐官方报文,杜绝占位思考块注入:
    • 废除假占位符: 严格遵守官方形态,无实质思考内容(占位/空思考)时绝不强行注入 ... / . / · 等占位思考块。
    • 权威锚点保真: 确保每轮第一个非思考 part(无论正文还是工具调用)作为权威锚点,均稳定携带有效的 thoughtSignature,杜绝 Gemini 上游签名校验失败。
    • 清理无用压缩逻辑: 移除旧版将历史思考块压缩为 "..." 的 Layer-2 占位压缩代码,保留纯净的上下文回退与摘要机制。
  • [原生自动更新增强] 支持自定义更新源、原生更新器检查与下载跳转:
    • 多端点原生更新检查: 新增 check_native_update Tauri 指令,支持根据渠道动态探测并传入实际可用的 updater_json_url(支持 Beta 预览与 Stable 正式双端点)。
    • SemVer 版本比对器扩展: 原生更新器集成预发布版本兼容比对逻辑,并在更新失败时优雅回退至系统浏览器打开外部直链下载,提升全平台更新可用性。
  • [Docker 部署与文档规范] 补充预览版镜像拉取指引并修复代码块排版:
    • 在 README.md、README_EN.md 与 docker/README.md 明确增加拉取和运行独立 Beta 预览版 Docker 镜像(如 lbjlaq/antigravity-manager:v4.8.4-beta.1)的说明与命令示例。
    • 修复 Docker 部署章节 Markdown 围栏未独立闭合导致后续说明文字与标题被误高亮为 Bash 代码的问题。
    • 补充 JeikCode 快速接入指南与多工具调用实践。

Full Changelog: v4.8.3...v4.8.4

Don't miss a new Antigravity-Manager release

NewReleases is sending notifications on new releases.