le0nardomartins/ClaudeMemorySync-Server

Claude Memory Syncサーバー(Node + Postgres on Railway)のデプロイ、運用、診断を行います。複数PCのClaude Code設定を保存する、暗号化・バージョン管理・排他制御付きのストレージです。ユーザーがメモリ同期サーバーの起動や更新、PCの認可・失効(CLIENT_PUBLIC_KEYS)、データベースのサイズ確認や履歴確認、履歴のリセット(例:SYNC_KEY変更時)、またはクライアントが目にする401/409/413/415/429/503エラーの調査を依頼したときに使用します。

ClaudeMemorySync-Server とは?

このスキルは、Claude Memory Syncサーバーのデプロイ、運用、診断を支援します。サーバーはNode.js + PostgreSQL(Railway上)で構成され、複数のPC間でClaude Codeの設定を安全に同期するための暗号化・バージョン管理・排他制御付きストレージです。ユーザーがサーバーの起動・更新、PCの認可・失効、データベースの状態確認や履歴リセット、エラー調査などを依頼した際に使用します。サーバーはコンテンツを解読せず、マニフェストと暗号化されたblobのみを保存し、最新バージョンからの更新のみを受け付けます(それ以外は409 Conflict)。Railwayへのデプロイ、CLIENT_PUBLIC_KEYSの管理、pg_dumpによるバックアップ、SQLを使ったメンテナンスなどの操作手順が含まれています。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/le0nardomartins/ClaudeMemorySync-Server/tree/HEAD/docs

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Claude Memory Sync: server

リポジトリ:

サーバーはマージを実行せず、コンテンツを読み取りません。サーバーはマニフェストと暗号化されたblobを保存し、最新バージョンからの新しいバージョンのみを受け付けます(それ以外は 409 conflict)。

必要に応じて、このフォルダ内の以下のファイルを参照してください:

  • deploy.md:Railwayまたは他のプロバイダーへのデプロイ、更新
  • api.md:プロトコル、リクエストのデバッグ用
  • operations.md:SQLによる照会とメンテナンス、バックアップ、失効、診断

常に有効なルール

  1. データ。 PCに SYNC_KEY がある場合、データベースには暗号化されたデータのみが含まれます。SYNC_KEY がない場合、データベースにはユーザーのAPIキーが含まれます。いずれの場合でも、Postgresを公開せず、DATABASE_URL を共有しないでください。
  2. キー。 CLIENT_PUBLIC_KEYS には公開鍵のみが含まれており、公開しても問題ありません。CLIENT_PRIVATE_KEY と SYNC_KEY はサーバーやチャットに送信しないでください。
  3. 確認後にデプロイ、プッシュ、Railway上の変数変更、TRUNCATE、DELETE、またはその他の元に戻せないアクションを実行してください。データを変更する前に、バックアップ(pg_dump、operations.md を参照)を取得してください。
  4. プロトコルの固定。 クライアントとサーバーは同じバージョンのプロトコルを使用する必要があります。一方を更新する際は、すべてのPCで他方も更新するようユーザーに促してください。
  5. サーバーをリセットしても、PC上のデータは削除されません。 各PCはローカルにベースを保持し、次の同期ラウンドですべてを再送信します。すべてのPCからファイルを削除するには、1台のPCでファイルを削除するだけで十分です。そのためにサーバーを操作する必要はありません。

タスク

初期デプロイ

deploy.md →「Railway」の手順に従ってください。ユーザーには以下が必要です:

  • ダッシュボードでプロジェクトとPostgresを作成するか、Railway CLIの使用を許可する
  • 公開鍵を貼り付ける

最後に、ログに memory server on port ... | authorized PCs: ... という行が表示されることを確認してください。

PCを認可する

  1. PCでキーを生成します:python src/components/remote_client.py keygen <name>(クライアント)または npm run keygen -- <name>(こちら)。
  2. <name>:<base64> を CLIENT_PUBLIC_KEYS にカンマ区切りで追加します。他のエントリは削除しないでください。
  3. Railwayは自動的に再起動します。ログの「authorized PCs」に名前が表示されることを確認してください。

PCを失効させる

CLIENT_PUBLIC_KEYS から該当するエントリを削除します。マシンが侵害された場合は、すべてのPCで SYNC_KEY を変更し(クライアントのトラブルシューティングを参照)、履歴をリセットするよう指示します(operations.md)。

診断する

サービスのログ(Railwayダッシュボードまたは railway logs)を読み、operations.md →「診断」と比較してください。クライアント側では、ファイルは sync.log です。409 の後に 201 が続くのは正常です。

データベースの照会またはメンテナンス

operations.md のクエリを使用します。一時的なアクセスには railway connect Postgres を使用します。読み取り専用のクエリを優先し、書き込み操作は必ず確認してください。

サーバーを更新する

  1. リポジトリにプッシュします。Railwayは Dockerfile を使用してデプロイします。マイグレーションは起動時に自動的に実行されます(db.migrate)。
  2. その後、クライアントの更新を依頼してください。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル