Community生产力与协作github.com

le0nardomartins/ClaudeMemorySync-Server

部署、运维和诊断 Claude Memory Sync 服务器(Node + Postgres 在 Railway 上),这是一个带并发控制的加密版本存储仓库,可跨多台 PC 保存 Claude Code 配置。当用户要求部署或更新 memory sync 服务器、授权或撤销一台 PC(CLIENT_PUBLIC_KEYS)、查看数据库大小或历史记录、清空历史(例如更换 SYNC_KEY 时),或调查客户端报告的 401/409/413/415/429/503 错误时使用。

ClaudeMemorySync-Server 是什么?

ClaudeMemorySync-Server 是一个轻量级后端服务,用于同步和存储跨多台 PC 的 Claude Code 配置,确保数据在静止时加密,且服务器永远不会解密或合并配置内容。它运行在 Railway 上,使用 Node.js 和 PostgreSQL,支持基于 Manifest 的版本跟踪和并发控制——仅当新版本基于最新版本时才会被接受,否则返回 409 冲突。服务器本身不执行合并操作;合并由安装在各 PC 上的“claude-memory-sync”客户端完成,客户端使用 SYNC_KEY 进行加密,并支持通过 Git 仓库进行无服务器模式的运行。该技能涵盖部署(deploy.md)、API 协议(api.md)和运维/诊断(operations.md)的详细流程,包括客户端公钥管理(CLIENT_PUBLIC_KEYS)、数据库查询、日志查看以及常见的客户端错误排查。

兼容平台✓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 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Claude Memory Sync:服务器

仓库:

服务器不进行合并,也不读取内容。它只存储密封的清单和 blob,并且仅当新版本基于最新版本时才会接受(否则返回 409 conflict)。

按需阅读本目录下的文件:

  • deploy.md:在 Railway 或其它提供商上部署和更新
  • api.md:协议说明,用于调试请求
  • operations.md:用于查询和维护的 SQL、备份、撤销、诊断

始终适用的规则

  1. 数据。 当 PC 上设置了 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 上的某个文件,只需在一台 PC 上删除即可:不要因此去操作服务器。

任务

初始部署

按照 deploy.md → "Railway" 操作。用户需要:

  • 在控制台中创建项目和 Postgres 数据库,或授权使用 Railway CLI;
  • 粘贴公钥。

最后,在日志中确认出现 memory server na porta ... | PCs autorizados: ... 这行。

授权一台 PC

  1. 在 PC 上生成密钥:python src/components/remote_client.py keygen <名称>(客户端)或 npm run keygen -- <名称>(本仓库)。
  2. 将 <名称>:<base64> 追加到 CLIENT_PUBLIC_KEYS 中,用逗号分隔,不要删除其他条目。
  3. Railway 会自动重启。在日志中确认 PCs autorizados 里出现该名称。

撤销一台 PC

从 CLIENT_PUBLIC_KEYS 中删除该 PC 的条目。如果该机器已被入侵,建议在所有 PC 上更换 SYNC_KEY(参见客户端排错),并清空历史记录(见 operations.md)。

诊断

读取服务日志(Railway 控制台或 railway logs),并与 operations.md → "Diagnóstico" 对照。客户端日志文件为 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.

相关技能