☰
Antigravity Conversation Fix v1.06 新特性完整解读:多文件夹会话合并去重与全数据库写入是怎么实现的
2026/10/15 16:29:52 网站建设 项目流程

【免费下载链接】antigravity-conversation-fix

Fixes missing and unordered conversation history in Google Antigravity

项目地址:https://gitcode.com/gh_mirrors/an/antigravity-conversation-fix
点击查看免费下载

Antigravity Conversation Fix 是一款免费开源的会话历史修复工具,专门解决 Google Antigravity 中聊天记录丢失、排序错乱、标题变成占位符等难题。v1.06 版本带来了两大关键升级:多文件夹会话合并去重与全数据库写入——升级新版 Antigravity IDE 后"消失"的旧聊天,如今一次运行即可全部找回。本文用最通俗的方式带你弄懂它的实现原理,普通用户也能快速完成修复。

升级后聊天记录"失踪"?先看懂这三个原因 🤔

很多用户从 Antigravity v1.x 升级到 v2.x 后发现侧边栏历史几乎清空,其实数据并没有丢,只是"藏"起来了:

  1. 会话文件分散在多个文件夹:新版使用antigravity-ide目录,旧版留在antigravity,甚至还存在antigravity-backup备份目录,会话文件被"劈"成了几份。
  2. 数据库不止一个:如果你同时安装了独立 Agent 和 IDE 两个变体,AppData 下就有多个state.vscdb侧边栏索引数据库,只修一个,另一个照样是空的。
  3. 存储格式变了:新版把会话从.pb(protobuf)文件改成了.db(SQLite)文件,老工具根本扫不到新格式。

Antigravity 的侧边栏只读数据库里的"会话索引"(即antigravityUnifiedStateSync.trajectorySummaries这条记录)。索引坏了,磁盘上的会话文件再多也不会显示——这正是本工具要解决的问题。

v1.06 新特性解读:多文件夹会话合并去重 🔀

这是本次更新的主角。工具现在会按antigravity-ide→antigravity→antigravity-backup的优先级顺序扫描三个目录,把所有.pb和.db会话文件汇总成一份统一清单:

  • 按会话 ID 去重:同一会话如果同时存在于新旧两个文件夹,只保留优先级更高(更新)的那份,彻底避免侧边栏出现重复条目;
  • 双格式兼容:新版.db文件自动识别,同时.db-shm、.db-wal这类 SQLite 日志文件会被自动忽略,不会误入清单;
  • 跨文件夹 brain 搜索:标题恢复所依赖的 brain 产物文件现在也横跨三个文件夹查找——即使会话文件在antigravity里,而它的标题数据在antigravity-ide里,也能正常取回;
  • 完全无损:所有文件只读扫描,不复制、不移动、不修改任何会话文件本身。

合并去重的核心逻辑集中在 _collect_all_conversations 函数中,三个目录的候选路径定义见 rebuild_conversations.py,brain 跨目录查找见 _find_brain_path。

全数据库写入:一次修复所有 Antigravity 变体 📦

v1.06 之前,工具只写入"第一个找到"的数据库。现在它会发现所有已存在的 Antigravity 数据库(Antigravity、Antigravity IDE、antigravity三种命名变体),并把重建好的索引写入其中每一个:

独立 Agent + IDE 双装用户:一次运行,两边全部修复。✅

写入流程在 write_index_to_database 中完成:先读取旧索引值,生成带时间戳的备份文件(形如trajectorySummaries_backup_20261014_035452.txt),再把新的 base64 编码索引 UPDATE 或 INSERT 进state.vscdb的ItemTable表。每个数据库各自独立备份,互不覆盖,方便单独回滚。

同时,v1.06 修复了进程检测逻辑,现在会同时检查antigravity.exe和antigravity ide.exe两个进程名,避免新版进程名导致"应用还在运行"的漏检。

底层原理:会话索引是如何被重建的 ⚙️

整个修复过程可以看作一条五步流水线:

  1. 扫描磁盘:合并三个文件夹的全部会话文件,按修改时间倒序排列(最新的排最前);
  2. 读取旧索引:从所有数据库中提取已有的标题和元数据(工作区、时间戳等),确保重跑不丢数据,多库合并逻辑见 extract_existing_metadata_from_paths;
  3. 解析标题:优先级为「数据库中的原标题 > brain 产物的 .md 标题 >Conversation (日期) 短ID兜底」,实现见 resolve_title;
  4. 重建索引:为每条会话生成 protobuf 编码的索引条目,保留工作区映射、为缺失时间戳的会话注入时间戳;
  5. 多库写入:备份后把同一份索引写回每一个state.vscdb。

普通用户快速上手:一键运行步骤 🚀

Windows 用户(推荐):

  1. 完全关闭 Antigravity(File → Exit,或在任务管理器中结束进程)
  2. 下载Antigravity_Conversation_Fix.exe(无需安装 Python 或任何开发工具)
  3. 双击运行,终端窗口会显示扫描结果与统计
  4. 提示分配工作区时按 Enter(自动分配,推荐)
  5. 重启电脑,打开 Antigravity——会话回来了,并按日期排序

macOS / Linux / WSL 用户:无需第三方依赖,直接运行脚本即可:

终端输入命令:python3 rebuild_conversations.py

💡 WSL 用户无需手动复制文件,脚本会自动解析 Windows 的%APPDATA%路径直连数据库;误用 Python 2 启动时也会自动切换到python3重试。

Windows 批处理入口见 run.bat,完整运行说明与路径对照表见 README.md。

安全机制:自动备份与无损设计 🛡️

  • 自动备份:改动前旧索引一定先落盘为trajectorySummaries_backup_*.txt,备份失败会直接拒绝修改数据库;
  • 非破坏性:.pb/.db会话文件只读,绝不修改;
  • 幂等可重跑:反复运行安全,已有标题与工作区元数据会被保留。输出中[~]表示标题保留、[+]表示从 brain 提取、[?]表示兜底标题、[WS]表示工作区已保留或恢复。

常见问题 FAQ ❓

Q:为什么建议重启电脑?A:完整重启最能确保 Antigravity 读取到新索引。多数情况下,关闭并重新打开应用也可以。

Q:运行工具时 Antigravity 开着会怎样?A:工具会检测antigravity.exe/antigravity ide.exe进程并弹出警告。建议先关闭,否则应用退出时可能把修复覆盖掉。

Q:备份文件在哪里?会被覆盖吗?A:备份保存在工具所在目录(exe 或脚本旁),文件名带时间戳,每次运行都不会覆盖更早的备份。

写在最后 ✨

v1.06 把"版本升级导致会话分裂"这一最头疼的场景彻底补齐:多文件夹合并去重找回了散落在旧目录里的会话,全数据库写入让所有 Antigravity 变体一次修复。如果你正被"聊天历史消失"困扰,这个免费开源的 MIT 协议工具值得一试——完整核心逻辑开放在 rebuild_conversations.py 中,许可证见 LICENSE,欢迎自行审查源码。

【免费下载链接】antigravity-conversation-fix

Fixes missing and unordered conversation history in Google Antigravity

项目地址:https://gitcode.com/gh_mirrors/an/antigravity-conversation-fix
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询