cloud-sync について
cloud-syncは、SyncHub経由の同期を確認・設定するclaude-memのスキルです。インストーラーでのサインインを案内して接続状態を検証し、チャットに同期認証情報を出さずに済むようにします。
主な機能
- 01ローカル同期とHubの状態を確認
- 02インストーラーでの設定を案内
- 03設定後に接続を検証
- 04保留中の件数とチェックポイントを報告
- 05チャットやコマンドへのトークン記載を回避
活用シーン
- 01SyncHubへの接続可否を確認
- 02インストーラー経由でclaude-memを接続
- 03保留中の書き込みや同期エラーを確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ thedotmack/ claude-mem --skill cloud-syncインストール後、Claude Code で/cloud-syncを入力して読み込まれたか確認します。
詳細
クラウド同期(cmem.ai Pro)
インストール済みのワーカーは SyncHub を通じて同期します。クライアントは 1 つ、永続的な操作ログは 1 つで、個別の同期デーモンはありません。このスキルはステータスを確認し、接続情報を書き込むインストーラーの cmem.ai サインインへユーザーを案内します。
セキュリティルール: 同期トークンをこのチャットに貼り付けるようユーザーに求めてはいけません。また、作成するコマンドにトークンを含めたり、表示したり、argv に入れたり、ログに記録したりしてはいけません。チャットに貼り付けられたシークレットは会話の記録に残り、claude-mem 自身が取得して同期する可能性があります。インストーラーは、この会話を経由させることなく、トークンを ~/.claude-mem/settings.json(モード 0600)に書き込みます。
1. ステータスを確認する
ワーカーのポートを特定し、常に登録されているステータスルートに問い合わせます。
PORT="${CLAUDE_MEM_WORKER_PORT:-$(node -e "const fs=require('fs'),p=require('path'),os=require('os');const uid=(typeof process.getuid==='function'?process.getuid():77);const fallback=String(37700+(uid%100));try{const s=JSON.parse(fs.readFileSync(p.join(os.homedir(),'.claude-mem','settings.json'),'utf-8'));process.stdout.write(String(s.CLAUDE_MEM_WORKER_PORT||fallback));}catch{process.stdout.write(fallback);}" 2>/dev/null)}"
curl -s "http://127.0.0.1:${PORT}/api/sync/status"
configured: trueかつhub.reachable: true→ ワーカーが SyncHub に対する認証済みのGET /v1/sync/statusを完了しています。deviceId、保留中の件数、lastFlushAt、lastError、Hub のヘッド/チェックポイントを報告します。ユーザーから接続の置き換えを求められていない限り、ここで終了します。configured: trueかつhub.reachable: false→hub.errorを報告し、SyncHub 接続が検証されていないことを伝えます。キューが空の場合はプッシュが行われないため、保留中の件数がゼロ、またはlastError: nullであっても成功ではありません。configured: false→ 続行します。- 再起動直後に接続拒否、404、または 503 が発生した場合 → ワーカーを診断する前に、約 30 秒間、3 秒ごとに再試行します。
2. インストーラーから接続する
ユーザー自身のターミナルで次を実行するよう依頼します。
npx claude-mem install
インストーラーに尋ねられたら CMEM Pro を選ぶよう伝えます。インストーラーはブラウザー経由でサインインし(デバイスコードを承認します)、同期トークン、ユーザー ID、SyncHub URL を ~/.claude-mem/settings.json に書き込み、ワーカーを再起動します。このチャットにシークレットを入力することはありません。
ユーザーがインストーラーを対話形式で実行できない場合(CI、リモートマシンなど)は、ヘッドレスセットアップガイド https://docs.claude-mem.ai/cmem-pro-headless を案内し、記載されている手順を自身のターミナルまたはエディターで実行してもらいます。値をこちらで収集してはいけません。
ワーカーは初回起動時にデバイス ID を生成して保存し、デバイス名にはホスト名をデフォルトで使用します。
3. 検証する
インストーラーの処理が完了したら、最大 30 秒間、5 秒ごとにステータスルートをポーリングします。ワーカーが再起動されていない場合は、先に再起動します。
curl -s -X POST "http://127.0.0.1:${PORT}/api/admin/restart"
成功の条件は、configured: true、hub.reachable: true、lastError: null です。ローカルルートは、保留中の件数がすべてゼロの場合でも、常に認証済みの読み取り専用 SyncHub ステータス確認を行います。レガシーの cmem.ai Pro ステータスルートは使用せず、同期状態を追加または進行させることもありません。保留中の件数には、SyncHub の開始時点以降に行われた書き込みのみが含まれます。セットアップによって、開始前のローカルコーパスが移行されることはありません。
hub.reachable が false の場合は、hub.error を報告します。lastError が null でない場合は、それも報告し、接続を更新するために npx claude-mem install を再実行するよう提案します。トークンを決して含めてはいけません。
4. 報告する
デバイス ID、保留中の件数、最後に成功したフラッシュ、Hub への到達可能性とチェックポイント、および Hub/フラッシュのエラーがあれば報告します。最後に、次のプライバシーに関する注意書きを付けます。
クラウド同期では、観察内容の記述とプロンプト全文が cmem.ai アカウントにアップロードされます。