le0nardomartins/ClaudeMemorySync-Server

Claude Memory Syncサーバーをデプロイ、実行、トラブルシューティングします(Node + Postgres on Railway)。複数マシンのClaude Code設定を保持する暗号化バージョンストアで、同時実行制御を備えています。ユーザーがメモリ同期サーバーのデプロイや更新、マシンの承認や取り消し(CLIENT_PUBLIC_KEYS)、データベースサイズや履歴の確認、履歴のリセット(例:SYNC_KEYのローテーション時)、またはクライアントが経験する401/409/413/415/429/503エラーの調査を依頼したときに使用します。

ClaudeMemorySync-Server とは?

このスキルは、Claude Memory Syncサーバーのデプロイ、運用、トラブルシューティングを支援します。サーバーはNode.jsとPostgreSQLをベースにしており、Railwayなどのホスティングサービス上で動作します。主な機能として、複数マシン間でのClaude Codeの設定を安全に同期するための暗号化されたバージョンストアを提供します。サーバー自体はデータのマージや復号を行わず、封印されたマニフェストとブロブを保存するだけで、同時実行制御により競合(409エラー)を検出します。このスキルは、サーバーの初期デプロイ、マシンの認可・取り消し、データベースのクエリやメンテナンス、エラーログの診断、サーバー更新など、運用に関する一連のタスクをカバーしています。また、セキュリティに関する重要なルール(暗号鍵の取り扱い、データ保護、確認操作の実施)も定義されており、安全な運用を徹底します。

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

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

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

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

ドキュメント

Claude Memory Sync: サーバー

リポジトリ:

サーバーはマージを行わず、コンテンツを読むこともできません。封印されたマニフェストとブロブを保存し、新しいバージョンが最新バージョンに基づいて構築された場合のみ受け入れます(そうでない場合は 409 conflict)。

オンデマンドで、このフォルダ内を参照してください:

  • deploy.md: Railwayや他のホストへのデプロイ、更新について
  • api.md: プロトコル、デバッグ用リクエスト
  • operations.md: クエリとメンテナンス、バックアップ、取り消し、診断のためのSQL

サーバーログメッセージはポルトガル語です。operations.md に各メッセージの意味がリストされています。

常に適用されるルール

  1. データ。 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. プロトコルの一致。 クライアントとサーバーは同じプロトコルバージョンを実行する必要があります。一方を更新した場合は、すべてのマシンで他方も更新するようユーザーに促してください。
  5. サーバーをリセットしても、マシン上のデータは削除されません。 各マシンはベースをローカルに保持し、次のラウンドですべてを再度アップロードします。すべてのマシンからファイルを削除するには、1台のマシンで削除すれば十分です。そのためにサーバーを操作する必要はありません。

タスク

初期デプロイ

deploy.md → 「Railway」に従います。ユーザーは以下を行う必要があります:

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

最後に、ログに memory server na porta ... | PCs autorizados: ... が表示されるのを確認します。

マシンを認可する

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

マシンを失効させる

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

トラブルシューティング

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

データベースのクエリまたはメンテナンス

operations.md のクエリを使用します。1回限りのアクセスには 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.

関連スキル