Claude Codeセッションのノード間移行を可能にする「cc-session-migrate」を公開
-
From
「cc-session-migrate」(csm)は、Claude Codeのセッションデータをローカルディスクから解放し、開発マシン間での移行やS3互換ストレージへのバックアップを可能にするクロスノード移行・バックアップツールです。
問題点:
Claude Codeはセッションデータをローカルディスクに保存するため、異なるマシンで作業を再開する際にコンテキストが失われ、セッションが元のマシンにロックされていました。
解決策:
csmはConsulライクなクラスターモデルを採用し、セッションデータをポータブルにします。
アーキテクチャ:
サーバー(リーダー)がクラスターのトポロジー、WebSocketハブ、セッションリレー、S3バックアップを管理します。エージェントはサーバーにアウトバウンドWebSocket接続を維持し、インバウンドポートは不要です。これにより、NATトラバーサル問題も解決します。
主な機能:
- セッション移行: 任意のノード間でセッションデータを移行できます。サーバーを介したリレー方式です。
- S3バックアップ: 各ノードが独立してR2/MinIOなどのS3互換ストレージにバックアップできます。
- クラスター管理: サーバーノードがクラスターを管理し、エージェントノードが参加・離脱します。
クイックスタート:
Linuxでは`make build`と`scripts/install.sh`でインストールでき、macOS/Windowsでは`go install`でインストール可能です。その後、クラスターをセットアップし、`csm session list`、`csm session pull`、`csm session push`などのコマンドでセッションを管理します。
S3バックアップ:
`csm backup config`でS3ストレージを設定し、`csm backup create`でバックアップを作成、`csm backup list`で一覧表示、`csm backup restore`で復元できます。デーモンモードでは、自動バックアップ(差分バックアップ)、有効期限切れバックアップのクリーンアップ(デフォルト30日保持、最低3コピー保持)も可能です。
設計上のハイライト:
- セッションIDのプレフィックスマッチング(Gitスタイル)
- アトミックな移行
- ストリーミング転送
- パスマッピングによるクロス・マシン・プロジェクトパスの違いへの対応
- WebSocketキープアライブと自動再接続
- ハブ・アンド・スポーク・リレー(NATフレンドリー)
- 増分バックアップ
- 有効期限クリーニング
MITライセンスで提供されています。
AIによる翻訳/要約をしています。正確な情報はオリジナルサイトにてご確認ください。
当サイトの記事にはプロモーションが含まれる場合があります。
