エージェントセッションの移行
asb / agent-session-bridge を使用します。JSON stdout がマシンインターフェースです。
CLIはローカルファイルを使用し、モデル呼び出しは行わず、トランスクリプトをアップロードすることはありません。
コピーと移動には、会話コンテキストのみが含まれます:ユーザー/アシスタントメッセージ、コンパクションサマリー、サポートされているユーザー画像。ツール呼び出し/結果、思考、システム/ランタイムレコードは自動的にフィルタリングされます。カウントはマニフェストに filtered:* として表示されます。追加のフラグは必要ありません。
ターゲットがサポートしている場合、ソースタイトルを保持します。ネイティブのCodexタイトルは、対応するDB行(name、次にtitle)から取得されます。スタンドアロンエクスポートには、ログにタイトルが必要です。ソースモデル/プロバイダーと思考設定は除外されます。
インストールされたコマンド、またはチェックアウトの .venv/Scripts/asb.exe (Windows) / .venv/bin/asb (POSIX) を使用します。
インストールされていない場合、このプロジェクトには Python 3.14+ が必要です。プロジェクトのvenvを作成し、そこで python -m pip install -e . を実行します。
セッションの選択
- 単一ファイル:
asb inspect <file>その後asb convert <file> --to pi - 正確なID:
asb convert --from codex --session <full-id> --to pi - プロジェクト:
asb list --from codex --project <absolute-directory>、その後asb convert --from codex --to pi --project <absolute-directory> - エクスポートディレクトリ:
asb convert <directory> --from codex --to pi - プロジェクトフィルタは、パス境界によって記録されたcwdとそのサブディレクトリを照合します。メッセージテキストは検索しません。
--source-rootはソースストアをオーバーライドします。--target-homeはターゲットエージェントホームです(そのsessionsディレクトリではありません)。--cwdは、ユーザーがワーキングディレクトリを再配置する意図がある場合にのみ使用します。- Piは宛先モデルを必要とします。これは、履歴のアシスタントメッセージからモデル選択を復元するためです。CLIは、ターゲットホームの
settings.json、次にターゲットcwdの.pi/settings.jsonからデフォルトを読み取ります。--provider/--modelでこれらをオーバーライドします。完全なターゲットデフォルトがない場合は、意図したターゲットペアを指定します。ソースモデルを代用しないでください。設定ファイルは変更されません。
サポートされている名前: codex, pi, dsh, opencode, qwen, claude, workbuddy, antigravity, antigravity-desktop
利用可能なオプションについては asb formats / asb convert --help を使用します。
実行
最初に --apply なしで実行します。count, errors, source, target, dropped_events, warnings を読み取ります。
会話本文を表示せずに、選択されたセットとマテリアルロスを報告します。
破壊的な移動を実行する前に、予期しない一致やサポートされていないコンテンツを解決します。
- ユーザーがコピーを要求した場合、または保持期間が指定されていない場合:
--applyを追加し、ソースを保持します。 - ユーザーが明示的にマイグレーション後にそれらのソースセッションを移動/カット/削除するよう要求した場合:
--move --applyを追加します。 - 既に与えられた認可を保持します。削除の意図または選択されたセットが不明瞭な場合にのみ質問します。
- 移動の前にアクティブなソース会話を停止します。CLIは変換中に変更されたソースを拒否しますが、別のクライアントの書き込みを停止することはできません。
- CLIの検証済み移動に対して、手動の
rm,delまたは再帰的削除を決して代用しないでください。 - バッチ内のすべての結果/エラーを検査します。ゼロ以外の終了コードは部分的な成功を意味する場合があります。成功したアイテムを盲目的に繰り返さないでください。新しいIDが割り当てられます。
CLIは書き込みバイトを検証し、ターゲットを解析し、削除前に必要なネイティブDB行を登録します。このチェックはモデルを呼び出しません。
返された resume argv をコマンド提案として使用します。ネイティブIDルックアップは通常のターゲットホームを想定しています。
カスタムターゲットホームの場合は、対応するホーム環境オーバーライドを使用してクライアントを起動します。
フォーマット制限
- ネイティブOpenCode選択:
asb convert --from opencode --session <id> --to pi --move --apply。デフォルトの選択はそのDBを読み取ります。--source-rootはopencode.dbを含むディレクトリを指定できます。手動で提供されたJSONエクスポートはスタンドアロンファイルです。そのエクスポートをカットしても、元のDBセッションは削除されません。 - Codex / WorkBuddy / OpenCode / Antigravity ネイティブターゲットホームには、クライアントが初期化したデータベースがすでに含まれている必要があります。不明なスキーマや必須フィールドの欠落は明確に失敗します。DB登録なしのポータブルファイルには
--output-dirを使用します。 - Gitプロジェクトの場合、インポートする前に意図したワーキングディレクトリでOpenCodeを一度起動して、プロジェクトインデックスを初期化します。
- WorkBuddyはローカルセッションとそのDB/キャッシュを処理します。複数の宛先アカウントには
--workbuddy-user-idが必要です。WorkBuddyのセッションリストから再開します。ブロブ画像は省略され、カウントされます。 - DSHはv4 JSONL/zstdを読み取ります。古いログは最初にDSHによってアップグレードする必要があります。複数の世代があると移動がブロックされます。
- DSH画像は現在省略され、カウントされます。サマリーはラベル付きユーザーコンテキストになります。
- Antigravityはagy CLI SQLiteフォーマットを意味し、直接のデスクトップ
.pbや暗号化ストレージではありません。そのホームは~/.gemini/antigravity-cliです。オーバーライドするには--source-root/--target-homeを使用します。ネイティブ書き込みまたはカットの前に、そのホームを使用しているクライアントを閉じます。アクティブなプレゼンスロックとWAL/SHM/ジャーナルファイルはカットをブロックします。 - AntigravityはセッションごとのDB、共有の
conversation_summaries.db、jetbox_summaries_proto.pb、annotations/<id>.pbtxt、および最後の会話キャッシュを使用します。CLIは選択されたレコードをまとめて書き込みおよび削除します。タイトル/cwdメタデータのために、ポータブル.dbと.manifest.jsonファイルを一緒に保持します。サマリーはラベル付きユーザーコンテキストになり、画像は省略されカウントされます。 antigravity-desktopはIDE 2.5.5 SQLite.dbセッションをサポートし、ソース/ターゲットホームは~/.gemini/antigravity-ideです(古いSQLiteホームは~/.gemini/antigravity)。例:asb convert --from codex --to antigravity-desktop --project <directory> --apply。他のフォーマットと同様に、デスクトップIDまたはプロジェクトを選択します。デスクトップとagy CLIは、それぞれ異なるフォーマット名を使用して双方向に変換します。- デスクトップのネイティブ書き込み/カットは、既知の
state.vscdb履歴インデックス、既存のprotobufキャッシュ、タイトルアノテーション、選択された会話DBの両方を更新します。標準プロファイルパスが推測されます。カスタムホームの場合は、対応するglobalStorage/state.vscdbを指定して--source-state-dbまたは--target-state-dbを渡します。最初にデスクトップクライアントを閉じます。実行中の言語サービスまたはSQLiteサイドカーは変更をブロックします。同じIDのレガシー.pbはカットをブロックします。共有状態DBと隣接するセッションは残ります。 - デスクトップは復帰コマンドを返しません。ネイティブの履歴UIを介して開きます。公式の言語サービス読み取りはIDによって検証されます。GUI履歴の発見とモデルの継続は検証されていません。ファイル解析やDB登録のみからGUIチェックを主張しないでください。
- レガシーデスクトップ
.pbまたは暗号化された履歴は、まず公式クライアントによってSQLiteにアップグレード/インポートする必要があります。または、agy/resume→ Antigravity を介してクローンし、そのCLIコピーを変換します。コピーを移動してもデスクトップオリジナルは削除されません。 - カットは、選択されたトランスクリプト/ブリッジマニフェスト、ネイティブセッションDB行、既知の履歴/リストエントリを削除します。共有プロジェクト、添付ファイル、バックアップ、認証、ランタイム設定は保持されます。ソースクリーンアップ中の障害は、有効なターゲットと保持されたソースを残す可能性があります。再試行する前にエラーを検査します。
- ポータブル
--output/--output-dirファイルは、IDベースの再開のためにネイティブインストール/インポートが必要です。Piは、pi --session <file>を介して出力されたPiファイルを開くことができます。 - コンパクション境界は有効なままです。Piは最新のサマリーとそれ以降のメッセージから継続します。以前のメッセージはセッション履歴に残ります。サマリーは過去のアクションを説明できます。生のツール実行レコードは除外されます。