<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ndonda Daniel</title>
    <description>The latest articles on DEV Community by Ndonda Daniel (@ndondadaniel2020).</description>
    <link>https://dev.to/ndondadaniel2020</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4130735%2Fece41539-f1b2-4515-b3de-e0c01551d783.jpg</url>
      <title>DEV Community: Ndonda Daniel</title>
      <link>https://dev.to/ndondadaniel2020</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ndondadaniel2020"/>
    <language>en</language>
    <item>
      <title>Como Recuperar o Histórico de Conversas no Google Antigravity IDE (Engenharia Reversa, Mistério do Plano e Soluções Prontas)</title>
      <dc:creator>Ndonda Daniel</dc:creator>
      <pubDate>Fri, 18 Sep 2026 11:48:54 +0000</pubDate>
      <link>https://dev.to/ndondadaniel2020/como-recuperar-o-historico-de-conversas-no-google-antigravity-ide-engenharia-reversa-misterio-do-42ji</link>
      <guid>https://dev.to/ndondadaniel2020/como-recuperar-o-historico-de-conversas-no-google-antigravity-ide-engenharia-reversa-misterio-do-42ji</guid>
      <description>&lt;p&gt;Se você já abriu o &lt;strong&gt;Google Antigravity IDE&lt;/strong&gt; e se deparou com a fatídica mensagem &lt;em&gt;"No Conversations Found"&lt;/em&gt; no histórico ou percebeu que &lt;strong&gt;dezenas de chats com a IA simplesmente sumiram da lista&lt;/strong&gt;, você não está sozinho.&lt;/p&gt;

&lt;p&gt;Muitos desenvolvedores acreditam que suas conversas foram apagadas após:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Atualizar ou reinstalar o IDE (ex: migração manual para pacote Snap ou Flatpak);&lt;/li&gt;
&lt;li&gt;Limpar caches ou redefinir configurações do editor;&lt;/li&gt;
&lt;li&gt;Períodos de inatividade ou limites de exibição da interface (LRU Cache eviction);&lt;/li&gt;
&lt;li&gt;Pequenas desconexões temporárias do motor de linguagem interno.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A grande notícia é: &lt;strong&gt;os seus dados nunca foram apagados do seu computador&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Neste artigo, desvendamos a arquitetura interna do Antigravity IDE, explicamos o caso fascinante do &lt;em&gt;"Plano de Implementação"&lt;/em&gt; que ressuscitou um chat sozinho, e apresentamos duas soluções definitivas: &lt;strong&gt;uma extensão nativa para o editor (&lt;code&gt;antigravity-history-restorer&lt;/code&gt;)&lt;/strong&gt; e um &lt;strong&gt;script standalone em Python&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  O Caso Curioso do "Plano de Implementação": A Chave da Charada
&lt;/h2&gt;

&lt;p&gt;Antes de olhar para o código, vale analisar um relato real e intrigante:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Eu já tive um chat que sumiu completamente do histórico, mas eu ainda estava com a aba do Plano de Implementação (Implementation Plan / Artifact) aberta no editor. Em vez de abrir um novo chat, cliquei no menu **Review ▾&lt;/em&gt;* do próprio plano e usei a opção &lt;strong&gt;Submit comment&lt;/strong&gt; ('Add a message...'). No segundo seguinte em que enviei o comentário pelo plano, o chat inteiro reapareceu na lista de conversas!"*&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Por que isso aconteceu? É coincidência?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Não, é exatamente assim que o ecossistema do Antigravity funciona.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Os Artefatos têm vínculo direto com o chat:&lt;/strong&gt; Planos de implementação, walk-throughs e artefatos de código guardam internamente o identificador único da conversa que os originou (&lt;code&gt;cascadeId&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A "cutucada" direta pelo Review:&lt;/strong&gt; Ao enviar um comentário pelo botão &lt;strong&gt;Review ▾ → Submit comment&lt;/strong&gt; do artefato, a interface do editor faz uma chamada direta ao Language Server solicitando que o feedback seja processado na trajetória correspondente àquele &lt;code&gt;cascadeId&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;O despertar do banco:&lt;/strong&gt; O Language Server vai até o disco, localiza o banco de dados correspondente (&lt;code&gt;~/.gemini/antigravity-ide/conversations/&amp;lt;cascadeId&amp;gt;.db&lt;/code&gt;), carrega toda a trajetória da conversa para a memória RAM e emite o evento de sincronização interna (&lt;code&gt;antigravityUnifiedStateSync.trajectorySummaries&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;O renascimento imediato na UI:&lt;/strong&gt; Como efeito colateral dessa leitura, a interface do VS Code recebe a notificação de estado unificado e renderiza o chat de volta no histórico e na busca (&lt;code&gt;Search all convos...&lt;/code&gt;) instantaneamente.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Em outras palavras: &lt;strong&gt;os chats nunca são apagados; eles apenas entram em estado adormecido no disco porque o editor não mantém centenas de conversas pesadas na memória RAM da interface simultaneamente.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  A Arquitetura Oculta do Antigravity IDE
&lt;/h2&gt;

&lt;p&gt;Para entender como recuperar qualquer conversa sem depender de ter um plano aberto, precisamos dissecar as camadas do Antigravity:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌────────────────────────────────────────────────────────┐
│                   VS Code UI (Frontend)                │
│  - Painel do Agent, Histórico, "Search all convos..."  │
│  - Cache volátil: state.vscdb                          │
└───────────────────────────▲────────────────────────────┘
                            │
               RPC Connect (HTTP/POST JSON)
               Porta 127.0.0.1:&amp;lt;random&amp;gt; + CSRF
                            │
┌───────────────────────────▼────────────────────────────┐
│         Language Server (language_server_linux_x64)    │
│  - Motor daemon de IA em segundo plano                 │
│  - Responsável pelo streaming, diffs e contexto        │
└───────────────────────────▲────────────────────────────┘
                            │ Leitura de disco
┌───────────────────────────▼────────────────────────────┐
│            Armazenamento Persistente no Disco          │
│  ~/.gemini/antigravity-ide/conversations/*.db (SQLite) │
│  ~/.gemini/antigravity-ide/brain/* (JSONL &amp;amp; Artifacts) │
└────────────────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;A Camada Persistente:&lt;/strong&gt; Fica em &lt;code&gt;~/.gemini/antigravity-ide/conversations/&lt;/code&gt;. Cada conversa é um banco de dados SQLite com extensão &lt;code&gt;.db&lt;/code&gt; contendo todas as mensagens, comandos executados e raciocínios da IA.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A Camada de Visualização (UI):&lt;/strong&gt; Fica no arquivo &lt;code&gt;~/.config/Antigravity IDE/User/globalStorage/state.vscdb&lt;/code&gt;. É apenas um cache de interface. Se esse arquivo for recriado ou se o editor sofrer um reset, o histórico visual fica em branco.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;O Protocolo de Despertar:&lt;/strong&gt; O Language Server expõe uma API RPC interna via protocolo Connect na porta &lt;code&gt;localhost&lt;/code&gt;. Ao chamarmos o método:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;   POST /exa.language_server_pb.LanguageServerService/GetCascadeTrajectorySteps
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;com os headers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Connect-Protocol-Version: 1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;X-Codeium-Csrf-Token: &amp;lt;csrf-do-processo&amp;gt;&lt;/code&gt;
e o payload &lt;code&gt;{"cascadeId": "&amp;lt;id-do-banco&amp;gt;", "startIndex": 0, "endIndex": 2}&lt;/code&gt;, o motor lê o arquivo &lt;code&gt;.db&lt;/code&gt; do disco para a memória e o republica para a interface do editor instantaneamente!&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Por que as extensões legadas de histórico falham?
&lt;/h2&gt;

&lt;p&gt;Se você pesquisar na loja do VS Code por extensões como &lt;code&gt;antigravity-history&lt;/code&gt;, notará que a maioria não funciona mais.&lt;/p&gt;

&lt;p&gt;O motivo técnico é simples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extensões antigas procuravam por arquivos binários legados com extensão &lt;code&gt;.pb&lt;/code&gt; (Protobuf serializado antigo) na pasta do Codeium;&lt;/li&gt;
&lt;li&gt;As versões modernas do &lt;strong&gt;Google Antigravity IDE&lt;/strong&gt; migraram sua persistência para &lt;strong&gt;bancos SQLite relacionais (&lt;code&gt;.db&lt;/code&gt;)&lt;/strong&gt; e logs JSONL;&lt;/li&gt;
&lt;li&gt;Como as extensões legadas não conhecem os arquivos &lt;code&gt;.db&lt;/code&gt; nem sabem dialogar com a API RPC do Language Server, elas acusam que nenhuma conversa existe.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Solução 1: A Extensão Nativa (&lt;code&gt;antigravity-history-restorer&lt;/code&gt;)
&lt;/h2&gt;

&lt;p&gt;Para resolver esse problema de maneira definitiva e integrada ao fluxo do desenvolvedor, desenvolvemos a extensão &lt;strong&gt;Antigravity History Restorer&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Como funciona
&lt;/h3&gt;

&lt;p&gt;A extensão roda diretamente dentro do VS Code / Antigravity IDE:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Detecta o processo em execução do Language Server e descobre dinamicamente seu token CSRF e portas locais (com suporte a Linux, macOS e Windows);&lt;/li&gt;
&lt;li&gt;Varre as pastas de conversas (&lt;code&gt;~/.gemini/antigravity-ide/conversations&lt;/code&gt;);&lt;/li&gt;
&lt;li&gt;Exibe uma barra de progresso nativa no rodapé do editor restaurando cada conversa;&lt;/li&gt;
&lt;li&gt;Oferece um botão imediato para abrir a busca de conversas ou recarregar a janela.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Código Fonte da Extensão
&lt;/h3&gt;

&lt;p&gt;A extensão foi desenvolvida em TypeScript e organizada de forma modular no repositório oficial:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/NdondaDaniel2020/antigravity-history-restorer/blob/main/src/extension.ts" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;code&gt;src/extension.ts&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; — Ponto de entrada, registro do comando na paleta e integração com a barra de notificações do editor.&lt;/li&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/NdondaDaniel2020/antigravity-history-restorer/blob/main/src/detector.ts" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;code&gt;src/detector.ts&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; — Descoberta dinâmica de portas e extração do token CSRF do processo do Language Server.&lt;/li&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/NdondaDaniel2020/antigravity-history-restorer/blob/main/src/restorer.ts" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;code&gt;src/restorer.ts&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; — Varredura dos arquivos SQLite locais e execução das chamadas RPC para reindexação das conversas.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Como Utilizar no Editor
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Abra a paleta de comandos (&lt;code&gt;Ctrl+Shift+P&lt;/code&gt; no Linux/Windows ou &lt;code&gt;Cmd+Shift+P&lt;/code&gt; no Mac);&lt;/li&gt;
&lt;li&gt;Digite e selecione:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   Antigravity: Restore Missing Chats
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Acompanhe a restauração em tempo real e volte a pesquisar suas conversas pelo ícone de histórico (&lt;code&gt;🕒&lt;/code&gt;) ou atalho &lt;code&gt;Search all convos...&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;📦 &lt;strong&gt;Repositório Open-Source no GitHub:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Todo o código da extensão, scripts de automação e documentação estão disponíveis publicamente em:&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/NdondaDaniel2020/antigravity-history-restorer" rel="noopener noreferrer"&gt;https://github.com/NdondaDaniel2020/antigravity-history-restorer&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Solução 2: O Script Standalone em Python (&lt;code&gt;scripts/restore_antigravity_history.py&lt;/code&gt;)
&lt;/h2&gt;

&lt;p&gt;Se você não quer instalar uma extensão ou prefere executar uma solução rápida via terminal, disponibilizamos um script Python autocontido que resolve o problema em menos de 10 segundos utilizando exclusivamente a biblioteca padrão do Python (sem necessidade de instalar pacotes via &lt;code&gt;pip&lt;/code&gt;):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🐍 &lt;a href="https://github.com/NdondaDaniel2020/antigravity-history-restorer/blob/main/scripts/restore_antigravity_history.py" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;code&gt;scripts/restore_antigravity_history.py&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; — Código-fonte completo e comentado no GitHub.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Como Executar o Script
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Certifique-se de que o &lt;strong&gt;Antigravity IDE está aberto&lt;/strong&gt;;&lt;/li&gt;
&lt;li&gt;Execute no seu terminal:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Opção A: Se você já clonou o repositório&lt;/span&gt;
python3 scripts/restore_antigravity_history.py

&lt;span class="c"&gt;# Opção B: Download e execução rápida com curl (sem clonar o repositório)&lt;/span&gt;
curl &lt;span class="nt"&gt;-sO&lt;/span&gt; https://raw.githubusercontent.com/NdondaDaniel2020/antigravity-history-restorer/main/scripts/restore_antigravity_history.py
python3 restore_antigravity_history.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Pronto! Todas as conversas retornam imediatamente à interface.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;Sistemas de desenvolvimento modernos baseados em IA frequentemente operam com múltiplos processos em segundo plano (daemons, sockets locais e caches em memória). Entender a divisão entre a &lt;strong&gt;camada de persistência real&lt;/strong&gt; (SQLite/JSONL) e a &lt;strong&gt;camada de indexação da interface&lt;/strong&gt; (State Sync) é o que separa o desespero de perder semanas de trabalho da solução elegante com engenharia reversa.&lt;/p&gt;

&lt;p&gt;Agora você pode restaurar seu histórico a qualquer momento — seja com um clique pela extensão, seja com uma chamada rápida de script!&lt;/p&gt;




&lt;h3&gt;
  
  
  Links e Recursos
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Repositório oficial no GitHub:&lt;/strong&gt; &lt;a href="https://github.com/NdondaDaniel2020/antigravity-history-restorer" rel="noopener noreferrer"&gt;https://github.com/NdondaDaniel2020/antigravity-history-restorer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extensão do Open VSX:&lt;/strong&gt; &lt;a href="https://open-vsx.org/extension/NdondaDaniel2020/antigravity-history-restorer" rel="noopener noreferrer"&gt;https://open-vsx.org/extension/NdondaDaniel2020/antigravity-history-restorer&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>architecture</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to Restore Lost Chat History in Google Antigravity IDE (Reverse Engineering, The Plan Mystery, and Ready-to-Use Solutions)</title>
      <dc:creator>Ndonda Daniel</dc:creator>
      <pubDate>Fri, 18 Sep 2026 11:47:42 +0000</pubDate>
      <link>https://dev.to/ndondadaniel2020/how-to-restore-lost-chat-history-in-google-antigravity-ide-reverse-engineering-the-plan-mystery-15og</link>
      <guid>https://dev.to/ndondadaniel2020/how-to-restore-lost-chat-history-in-google-antigravity-ide-reverse-engineering-the-plan-mystery-15og</guid>
      <description>&lt;p&gt;If you have ever launched &lt;strong&gt;Google Antigravity IDE&lt;/strong&gt; only to be greeted by the dreaded &lt;em&gt;"No Conversations Found"&lt;/em&gt; message in your history, or noticed that &lt;strong&gt;dozens of past AI chat sessions have vanished from your sidebar&lt;/strong&gt;, you are not alone.&lt;/p&gt;

&lt;p&gt;Many developers assume their conversation data was permanently wiped out after:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Updating or reinstalling the IDE (e.g. migrating between tarball, Ubuntu Snap, or Flatpak packages);&lt;/li&gt;
&lt;li&gt;Clearing editor caches or resetting application state;&lt;/li&gt;
&lt;li&gt;Extended periods of inactivity or UI cache eviction (LRU cache limits);&lt;/li&gt;
&lt;li&gt;Transient disconnections from the internal language daemon.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The great news is: &lt;strong&gt;your data was never deleted from your computer.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this article, we dissect the internal architecture of Google Antigravity IDE, uncover the intriguing case of the &lt;em&gt;"Implementation Plan"&lt;/em&gt; that resurrected a lost conversation on its own, and provide two production-ready open-source solutions: a &lt;strong&gt;native editor extension (&lt;code&gt;antigravity-history-restorer&lt;/code&gt;)&lt;/strong&gt; and a &lt;strong&gt;standalone, dependency-free Python script&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Curious Case of the "Implementation Plan": The Key Clue
&lt;/h2&gt;

&lt;p&gt;Before diving into code, consider this real-world diagnostic scenario:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"I once had a chat that disappeared entirely from my history panel, but I still had its Implementation Plan (Artifact) tab open in the editor. Instead of starting a new chat, I clicked the **Review ▾&lt;/em&gt;* menu on the artifact and used &lt;strong&gt;Submit comment&lt;/strong&gt; ('Add a message...'). The exact second the comment went through, the entire missing conversation reappeared in my chat history list!"*&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Why did that happen? Was it a coincidence?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;No, this is precisely how Antigravity's internal architecture is designed.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Artifacts are intrinsically bound to their parent conversation:&lt;/strong&gt; Implementation plans, code diffs, and walk-through artifacts store the unique identifier of the conversation that originated them (&lt;code&gt;cascadeId&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Direct wake-up via Review:&lt;/strong&gt; Submitting feedback via &lt;strong&gt;Review ▾ → Submit comment&lt;/strong&gt; invokes an RPC method on the local Language Server daemon, instructing it to process user input on the trajectory associated with that &lt;code&gt;cascadeId&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Waking up the SQLite database:&lt;/strong&gt; The Language Server reads the disk, locates the corresponding database file (&lt;code&gt;~/.gemini/antigravity-ide/conversations/&amp;lt;cascadeId&amp;gt;.db&lt;/code&gt;), loads the trajectory into memory, and emits an internal synchronization event (&lt;code&gt;antigravityUnifiedStateSync.trajectorySummaries&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Immediate UI re-indexing:&lt;/strong&gt; Upon receiving the state synchronization event, the VS Code frontend immediately updates its conversation cache and restores the chat in the sidebar and the &lt;code&gt;Search all convos...&lt;/code&gt; palette.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In short: &lt;strong&gt;conversations are never deleted; they simply enter a dormant state on disk because the IDE does not keep hundreds of heavy conversation trajectories in frontend memory simultaneously.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Hidden Architecture of Antigravity IDE
&lt;/h2&gt;

&lt;p&gt;To restore any conversation on demand without having an artifact open, we must understand the three distinct tiers of Antigravity:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌────────────────────────────────────────────────────────┐
│                   VS Code UI (Frontend)                │
│  - Agent Panel, History, "Search all convos..."        │
│  - Volatile frontend cache: state.vscdb                │
└───────────────────────────▲────────────────────────────┘
                            │
               RPC Connect (HTTP/POST JSON)
               Port 127.0.0.1:&amp;lt;random&amp;gt; + CSRF Token
                            │
┌───────────────────────────▼────────────────────────────┐
│         Language Server (language_server_linux_x64)    │
│  - Background AI daemon engine                         │
│  - Handles agent streaming, diffs, and indexing        │
└───────────────────────────▲────────────────────────────┘
                            │ On-Disk Read
┌───────────────────────────▼────────────────────────────┐
│            Persistent Storage on Disk                  │
│  ~/.gemini/antigravity-ide/conversations/*.db (SQLite) │
│  ~/.gemini/antigravity-ide/brain/* (JSONL &amp;amp; Artifacts) │
└────────────────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The Persistent Layer:&lt;/strong&gt; Located at &lt;code&gt;~/.gemini/antigravity-ide/conversations/&lt;/code&gt;. Every conversation is an individual SQLite database file (&lt;code&gt;.db&lt;/code&gt;) containing messages, agent tool calls, diffs, and trajectories.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Presentation Layer (UI Cache):&lt;/strong&gt; Stored in &lt;code&gt;~/.config/Antigravity IDE/User/globalStorage/state.vscdb&lt;/code&gt;. This is merely an ephemeral frontend cache. If this cache is cleared or rebuilt, the history panel appears blank.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Awakening Protocol:&lt;/strong&gt; The Language Server exposes an internal RPC API via the Connect protocol over &lt;code&gt;localhost&lt;/code&gt;. When issuing an HTTP POST to:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;   POST /exa.language_server_pb.LanguageServerService/GetCascadeTrajectorySteps
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;with the headers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Connect-Protocol-Version: 1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;X-Codeium-Csrf-Token: &amp;lt;process-csrf-token&amp;gt;&lt;/code&gt;
and the JSON payload &lt;code&gt;{"cascadeId": "&amp;lt;conversation-id&amp;gt;", "startIndex": 0, "endIndex": 2}&lt;/code&gt;, the engine loads the &lt;code&gt;.db&lt;/code&gt; file into memory and pushes it to the editor UI immediately.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why Legacy History Extensions Fail
&lt;/h2&gt;

&lt;p&gt;If you search extension marketplaces for older extensions like &lt;code&gt;antigravity-history&lt;/code&gt;, you will find that most of them no longer work.&lt;/p&gt;

&lt;p&gt;The technical reason is straightforward:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Older extensions searched for deprecated &lt;code&gt;.pb&lt;/code&gt; (Protobuf binary) files inside legacy Codeium directories;&lt;/li&gt;
&lt;li&gt;Modern releases of &lt;strong&gt;Google Antigravity IDE&lt;/strong&gt; migrated persistence to &lt;strong&gt;relational SQLite databases (&lt;code&gt;.db&lt;/code&gt;)&lt;/strong&gt; and JSONL trajectory logs;&lt;/li&gt;
&lt;li&gt;Because legacy tools do not recognize &lt;code&gt;.db&lt;/code&gt; files and cannot communicate with the modern Language Server Connect RPC, they report zero conversations found.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Solution 1: The Native Extension (&lt;code&gt;antigravity-history-restorer&lt;/code&gt;)
&lt;/h2&gt;

&lt;p&gt;To provide a seamless, 1-click recovery workflow integrated directly into the editor, we developed the &lt;strong&gt;Antigravity History Restorer&lt;/strong&gt; extension.&lt;/p&gt;

&lt;h3&gt;
  
  
  How It Works
&lt;/h3&gt;

&lt;p&gt;The extension executes directly inside the VS Code / Antigravity IDE environment:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Detects the running Language Server process and dynamically discovers its local listening ports and CSRF token (with support across Linux, macOS, and Windows);&lt;/li&gt;
&lt;li&gt;Scans conversation directories (&lt;code&gt;~/.gemini/antigravity-ide/conversations&lt;/code&gt;);&lt;/li&gt;
&lt;li&gt;Displays a native VS Code progress bar in the status area while restoring each conversation;&lt;/li&gt;
&lt;li&gt;Provides an immediate prompt to open the conversation search palette or reload the window.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Extension Source Code
&lt;/h3&gt;

&lt;p&gt;The extension is written in TypeScript and cleanly modularized in the official open-source repository:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/NdondaDaniel2020/antigravity-history-restorer/blob/main/src/extension.ts" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;code&gt;src/extension.ts&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; — Extension entry point, command registration, and native progress notification lifecycle.&lt;/li&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/NdondaDaniel2020/antigravity-history-restorer/blob/main/src/detector.ts" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;code&gt;src/detector.ts&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; — Dynamic port discovery and CSRF token extraction from the active Language Server process.&lt;/li&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/NdondaDaniel2020/antigravity-history-restorer/blob/main/src/restorer.ts" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;code&gt;src/restorer.ts&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; — Local SQLite database scanner and Connect RPC dispatcher.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to Use in Antigravity IDE
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open the Command Palette (&lt;code&gt;Ctrl+Shift+P&lt;/code&gt; on Linux/Windows or &lt;code&gt;Cmd+Shift+P&lt;/code&gt; on macOS);&lt;/li&gt;
&lt;li&gt;Type and select:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   Antigravity: Restore Missing Chats
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Watch the recovery progress in real time. Once finished, reopen your conversations via the history icon (&lt;code&gt;🕒&lt;/code&gt;) or the &lt;code&gt;Search all convos...&lt;/code&gt; shortcut.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;📦 &lt;strong&gt;Open VSX Marketplace:&lt;/strong&gt; &lt;a href="https://open-vsx.org/extension/NdondaDaniel2020/antigravity-history-restorer" rel="noopener noreferrer"&gt;Antigravity History Restorer&lt;/a&gt;&lt;br&gt;&lt;br&gt;
🌟 &lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/NdondaDaniel2020/antigravity-history-restorer" rel="noopener noreferrer"&gt;NdondaDaniel2020/antigravity-history-restorer&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Solution 2: Standalone Python Script (&lt;code&gt;scripts/restore_antigravity_history.py&lt;/code&gt;)
&lt;/h2&gt;

&lt;p&gt;If you prefer a terminal-based solution or do not wish to install an extension, we also provide a self-contained Python script that accomplishes the same recovery in under 10 seconds using only Python's standard library (no &lt;code&gt;pip install&lt;/code&gt; required):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🐍 &lt;a href="https://github.com/NdondaDaniel2020/antigravity-history-restorer/blob/main/scripts/restore_antigravity_history.py" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;code&gt;scripts/restore_antigravity_history.py&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; — Full source code with detailed inline documentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to Run the Script
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Ensure &lt;strong&gt;Antigravity IDE is running&lt;/strong&gt;;&lt;/li&gt;
&lt;li&gt;Run in your terminal:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Option A: If you have already cloned the repository&lt;/span&gt;
python3 scripts/restore_antigravity_history.py

&lt;span class="c"&gt;# Option B: Download and run directly via curl (no git clone required)&lt;/span&gt;
curl &lt;span class="nt"&gt;-sO&lt;/span&gt; https://raw.githubusercontent.com/NdondaDaniel2020/antigravity-history-restorer/main/scripts/restore_antigravity_history.py
python3 restore_antigravity_history.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Done! All conversations are immediately re-indexed into the editor.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Modern AI-augmented IDEs rely on complex multi-tier architectures: persistent on-disk databases (SQLite/JSONL), local language server daemons, and ephemeral UI caches. Understanding the boundary between &lt;strong&gt;true persistent storage&lt;/strong&gt; and &lt;strong&gt;presentation-layer caching&lt;/strong&gt; turns a panicked moment of perceived data loss into a 10-second fix.&lt;/p&gt;

&lt;p&gt;You can now recover your lost conversations anytime — whether with a single click through the native extension, or via a quick terminal script!&lt;/p&gt;




&lt;h3&gt;
  
  
  Resources &amp;amp; Links
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Extension on Open VSX:&lt;/strong&gt; &lt;a href="https://open-vsx.org/extension/NdondaDaniel2020/antigravity-history-restorer" rel="noopener noreferrer"&gt;https://open-vsx.org/extension/NdondaDaniel2020/antigravity-history-restorer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Official GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/NdondaDaniel2020/antigravity-history-restorer" rel="noopener noreferrer"&gt;https://github.com/NdondaDaniel2020/antigravity-history-restorer&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>architecture</category>
      <category>debugging</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
