关于 cloud-sync
cloud-sync 是 claude-mem 的技能,用于检查并配置通过 SyncHub 进行的同步。它引导用户通过安装程序登录并验证连接,同时避免在聊天中暴露同步凭据。
主要功能
- 01检查本地同步与 Hub 状态
- 02引导通过安装程序完成设置
- 03设置后验证连接
- 04报告待处理数量与检查点
- 05避免在聊天和命令中暴露令牌
适用场景
- 01检查 SyncHub 是否可连接
- 02通过安装程序连接 claude-mem
- 03查看待处理写入和同步错误
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ thedotmack/ claude-mem --skill cloud-sync安装后在 Claude Code 中输入/cloud-sync确认已加载。
详细介绍
Cloud Sync(cmem.ai Pro)
已安装的 worker 通过 SyncHub 同步。它只有一个客户端、一份持久化操作日志,不需要单独的同步守护进程。此技能会检查状态,并引导用户通过安装程序登录 cmem.ai,由安装程序写入连接信息。
**安全规则:**切勿让用户将同步令牌粘贴到此聊天中,也不要将令牌写入你提供的命令、打印出来、放入 argv 或记录到日志中。粘贴到聊天中的密钥会进入对话记录,而 claude-mem 本身可能会捕获并同步这些内容。安装程序会将令牌写入 ~/.claude-mem/settings.json(模式为 0600),且令牌不会经过本次对话。
1. 检查状态
解析 worker 端口并查询始终注册的状态路由:
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→ worker 已向 SyncHub 完成经过身份验证的GET /v1/sync/status请求。报告deviceId、待处理数量、lastFlushAt、lastError以及 Hub 的头部/检查点;除非用户要求更换连接,否则停止操作。configured: true且hub.reachable: false→ 报告hub.error,并说明 SyncHub 连接尚未通过验证。待处理数量为零或lastError: null并不代表成功,因为空队列不会执行推送。configured: false→ 继续。- 重启后立即遇到连接被拒绝、404 或 503 → 每隔三秒重试一次,持续约 30 秒,然后再诊断 worker。
2. 通过安装程序连接
请用户在自己的终端中运行:
npx claude-mem install
并在安装程序提示时选择 CMEM Pro。安装程序会通过浏览器为用户登录(用户需确认设备代码),然后自行将同步令牌、用户 ID 和 SyncHub URL 写入 ~/.claude-mem/settings.json 并重启 worker。无需在此聊天中输入任何机密信息。
如果用户无法以交互方式运行安装程序(如 CI、远程计算机),请指引他们查看无头模式设置指南:https://docs.claude-mem.ai/cmem-pro-headless,并让他们在自己的终端或编辑器中应用其中的手动配置步骤。不要自行收集这些值。
worker 首次启动时会生成并持久化设备 ID,设备名称默认为主机名。
3. 验证
安装程序运行完毕后,每隔五秒轮询一次状态路由,最多持续 30 秒。如果 worker 未重启,请先重启:
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 账户。