エクスポートのボタンを押して、何も起きなかった夕方を想像してみてください。ダイアログは出ず、ファイルもできず、エラーの一行すらありません。その会話には、数時間かけて詰めた設計の相談が入っているとします。
最初にお伝えしたいのは、この記事の検証範囲です。私の手元で、実際の Antigravity のエクスポート不具合を再現できたわけではありません。確かめたのは、後半に載せる退避スクリプトを、疑似のフォルダで動かすところまでです。症状そのものは、公式フォーラムに複数の報告があります。ですから以下は、「報告されていること」と「手元で動いたこと」を分けて書き残します。
報告されている症状は、同じようで少しずつ違います
フォーラムを読むと、ボタンを押しても無反応で、ファイルもエラーも出ないという報告が複数あります。更新のあとから急に効かなくなった、という書き方もありました。コマンドパレットのエクスポートも反応しない、という報告もあります。0 バイトの Markdown ができる、という報告もあり、症状は一つではないようです。
一方で、画面の履歴は見えているのに書き出しだけが止まる人もいれば、履歴そのものが一覧に出ない人もいます。この二つは、分けて考えたほうが楽になります。
| 見え方 | まず疑うこと | 最初にやること |
|---|---|---|
| 履歴は見える、書き出しだけ無反応 | エクスポート機能そのもの | 経路 1 と経路 2 で本文を別の場所へ |
| 履歴が一覧に出ない | 表示側の問題(データは残っている場合がある) | 経路 3 でフォルダを丸ごと退避してから探す |
| 0 バイトのファイルができる | 書き出しの途中失敗 | そのファイルを信用せず、経路 1 で取り直す |
経路 1:エージェント自身に、会話を Markdown で書き出してもらう
報告のなかに、エージェントへ「この会話全体を Markdown ファイルとして書き出して」と頼んだら通った、というものがありました。ただし、会話がすでに途中で切り詰められている場合は、切り詰められたぶんしか残らない、とも書かれています。
ですから、頼むなら早いほうがよいのです。長い会話になってから頼むのではなく、区切りのよいところで一度頼んでおきます。依頼文は短くて構いません。
ここまでの会話を、決まったこと・保留にしたこと・次にやることの三つに分けて、
docs/chat-notes-YYYYMMDD.md に Markdown で書き出してください。全文ではなく三つに分ける形にしたのは、全文の書き出しよりも、あとで自分が読み返すときに役立つからです。私は個人開発の相談ごとを、全文よりも「決めたこと」の一覧のほうを何度も開いてきました。
経路 2:画面からコピーして、自分のノートに貼る
地味ですが、いちばん確実です。エクスポートが効かなくても、画面に見えている本文は選択してコピーできます。大事な回答だけでも、日付つきのファイルに貼っておきます。
この経路の弱点は、手作業であることです。毎回やる気にはなれませんので、「設計を決めた回答」と「実際に動いたコマンド」の二種類に限る、という線引きにしておくと続きます。
経路 3:会話のフォルダを、日付つきで丸ごと退避する
フォーラムでは、履歴が画面に出なくても、データは手元のフォルダに残っていた、という報告が目立ちました。場所として挙がっていたのは、ホームディレクトリ配下の .gemini/antigravity のなかにある brain などです。会話のファイル(.pb)が見つかったという報告もあります。
ここで一つ、注意があります。これらの場所と構成は、利用者の報告に基づくもので、公式の仕様として確認したものではありません。版によって違う可能性があります。お使いの環境で、先にフォルダがあるかどうかを確かめてからお使いください。
ls -la ~/.gemini/antigravity存在したら、次のスクリプトで退避します。何を解決するかといえば、「更新や不具合で履歴が見えなくなる前に、素の状態の控えを持っておく」ことです。
#!/usr/bin/env bash
set -euo pipefail
SRC="${AG_DIR:-$HOME/.gemini/antigravity}"
DEST="${AG_BACKUP_DIR:-$HOME/ag-chat-backup}"
STAMP="$(date +%Y%m%d-%H%M)"
[ -d "$SRC" ] || { echo "not found: $SRC" >&2; exit 1; }
mkdir -p "$DEST"
# conversations と brain だけを固めます(他の設定は含めません)
tar -czf "$DEST/ag-$STAMP.tar.gz" -C "$SRC" conversations brain
# 新しい 14 個だけ残して、古いものを消します
ls -1t "$DEST"/ag-*.tar.gz | tail -n +15 | xargs -r rm --
echo "saved: $DEST/ag-$STAMP.tar.gz"なぜこう書いたかを、三点だけ添えます。まず、set -euo pipefail を置いたのは、フォルダが無いのに「保存しました」と表示される事故を避けるためです。次に、固める対象を conversations と brain に絞ったのは、認証情報を含みうる他のファイルを、うっかりクラウドの同期フォルダへ流さないためです。最後に、世代を 14 個で切ったのは、毎日動かしても容量が膨らみ続けないようにするためです。
疑似のフォルダ(conversations/a.pb と brain/abc/ だけを置いたもの)で動かしたところ、圧縮ファイルができて、中身にその二つが入っていることまで確かめました。実際の Antigravity のフォルダで動かしたものではありません。
xargs -r と tail -n +15 の組み合わせは GNU 系の想定です。iMac の標準の xargs では -r が無い場合があります。その場合は、古い世代の削除の行を外して、手で整理するほうが安全です。
復元は、必ず別の場所でやります
退避した圧縮ファイルを展開するときは、本物のフォルダへ上書きしないでください。まず別の場所へ展開して、中身を目で確かめます。
mkdir -p ~/ag-restore-check
tar -xzf ~/ag-chat-backup/ag-YYYYMMDD-HHMM.tar.gz -C ~/ag-restore-check
ls -R ~/ag-restore-check | head -20フォーラムには、会話のファイルを新しい側のフォルダへ複写して取り戻せた、という報告もあります。ただし、非公式の手順ですので、複写の前に必ず控えを取っておくのが前提です。一度上書きしてしまうと、戻る道がなくなります。
私の線引き
エクスポートが効くかどうかは、版によって変わるのかもしれません。一方で、会話の記録は、自分の手元に二重に持っておけます。
頼りにする書き出しは一つに決めず、控えの経路を二つ持つようにしています。 この線引きだけは、機能が直ったあとも変えないつもりです。
まずは今日、ls -la ~/.gemini/antigravity の一行だけ打ってみていただければと思います。フォルダの有無が分かれば、どの経路を使うかは自然に決まります。