Community生产力与协作github.com

le0nardomartins/ClaudeMemorySync-Server

部署、运行和排障 Claude Memory Sync 服务器(Node + Postgres in Railway),这是一个带并发控制的加密版本存储,用于保存来自多台机器的 Claude Code 配置。当用户要求部署或更新内存同步服务器、授权或撤销机器(CLIENT_PUBLIC_KEYS)、检查数据库大小或历史记录、重置历史(例如轮换 SYNC_KEY 时),或调查客户端看到的 401/409/413/415/429/503 错误时使用。

ClaudeMemorySync-Server 是什么?

该技能帮助用户部署、管理和故障排除 Claude Memory Sync 服务器,该服务器基于 Node 和 Postgres,托管在 Railway 上。它是一个加密版本存储,无法读取内容,仅存储密封的清单和 Blob,并通过 409 冲突检测实现并发控制。支持授权/撤销客户端机器(通过 CLIENT_PUBLIC_KEYS)、查询数据库大小和历史、重置历史(例如轮换 SYNC_KEY 时),以及调查客户端遇到的 HTTP 错误(如 401、409、413、415、429、503)。服务器日志为葡萄牙语,但提供了详细的诊断对照表。使用前必须确认不可逆操作(部署、推送、TRUNCATE、DELETE 等),并建议在操作数据前备份。该技能适用于 Railway 平台,兼容 Claude Code 客户端,并强调客户端和服务器必须运行相同的协议版本。

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

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

文档

Claude Memory Sync:服务器

仓库:

服务器不进行合并,也无法读取内容。它存储密封的清单和 Blob,并且只接受基于最新版本构建的新版本(否则返回 409 冲突)。

按需阅读本文件夹中的以下文件:

  • 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. 重置服务器不会删除机器上的任何内容。 每台机器本地保留其基础数据,并在下一轮同步时重新上传所有内容。要从所有机器上删除一个文件,只需在一台机器上删除即可:无需为此操作服务器。

任务

初始部署

按照 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 → “Diagnostics” 进行比对。客户端侧的日志文件为 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.

相关技能