用途与实际影响
这项功能怎样使用
为什么需要它
Claude 的项目笔记和完整聊天不同。电脑本地可保存整个项目记忆目录,私有云只保文字笔记;只看云端会漏掉其他附件。
举个实际例子
我说“把这个项目之前的Claude记忆找回来”。先定位备份中的项目/memory目录,选版本并保留目标现有文件,再按原项目映射回填。若还需要memory里的非Markdown附件,优先检查本地/G,不能只看云仓库。
最后我会得到什么
得到这个项目的记忆版本,并核对当前 Claude 是否真的加载;附件从本机或 G 盘找,登录和旧聊天另查。
正常时
项目记忆确实存在并已保存,恢复后 Claude 能识别这个项目时才称可用。
发现问题时
云端失败时本机副本仍可用,共享备份任务其他部分也要分别看结果。
入口不可用或证据不足时
没有该项目记忆或私有目标不可读时明确说缺少,不创建空目录冒充恢复。
从哪里开始
在已接入的 AI 对话中点名 Claude 项目,说明要找哪份项目记忆。
需要准备什么
- 具体项目
- 本地/G 或私有 Git 版本
- 是否需要非 Markdown 附件
从开始到拿到结果
- 1
按项目找到对应记忆
系统在备份中定位这一个 Claude 项目的记忆目录,不混入其他项目。
- 2
依介质选材料
电脑本地和 G 盘副本可含完整目录;私有云仓库只保存文字笔记,若要找附件仍须检查本地副本。
- 3
回填并验收
保留目标文件后恢复选定项目,确认 Claude 实际加载;原始聊天和登录不由记忆备份恢复。
技术实现与依据
这里保留实现、关键条件、精确入口、历史记录和验证结果。
共享任务最近返回0;G与私有Git元数据已读,新机应用恢复未验关键规则与设计选择
本地/G递归复制memory目录;云端只同步*.md,两者不假装同样完整。
云目录按project/memory保留,当前仍存在的各项目内Markdown使用镜像同步;不把未处理的旧项目目录自动判作已清除。
没有专用自动还原器;恢复前确认新旧项目路径映射,先留目标副本,再回填并让Claude实际读取。
本模块用到的名词
- project/memory(项目记忆层级)
- 每个项目保留自己的memory目录,不让多个MEMORY.md互相覆盖。
- 共享任务返回码
- 同一调度顺序运行两个独立消费者,第一项失败不阻止第二项尝试,但最终不会报成全成功。
专业定义
保存每个项目的memory,避免同名MEMORY.md互相覆盖;本地/G与云端的文件范围不同。
解决什么
防止项目间记忆重名覆盖、云副本范围被夸大,以及把共享任务码误当成单个消费者的全部证据。
当前怎样实现
- backup-memory.ps1读取claude_memory五个路径键,枚举source_root下项目目录中的memory;找不到来源或任何memory目录时退出1。
- 本地时间戳目录保持project/memory层级并复制全部内容,轮换30份;G使用ai-memory.g-hot-snapshot.v1逐文件SHA-256回读,同内容可复用旧点。
- 云端先检查main与远端关系,移除旧根目录Markdown布局但保留README;逐当前项目以robocopy *.md /MIR同步到project/memory,退出码>=8视为失败。源在这一步被再次读取,不是直接拿G快照覆盖。
- memory_backup_hidden.vbs先等待Claude结束,再等待OpenClaw结束;两段都尝试,Claude非零时优先返回它,否则返回OpenClaw结果。没有新增Claude独立计划任务。
执行流程
- 1
枚举实际项目memory目录并形成项目分组。
- 2
复制本地时间戳副本,核对G并轮换。
- 3
按项目将Markdown送入私有Git,提交和回读。
- 4
共享启动器继续尝试OpenClaw,并组合退出码。
- 5
恢复选定项目记忆,核对新路径和Claude加载结果。
边界
- 不是Claude完整环境、登录、项目代码或原始聊天备份。
- 本地/G可能包含非Markdown,私有Git不包括这些文件;需要时按实际介质选恢复材料。
- 本轮没有打开记忆正文或在新电脑执行恢复。
失败与恢复
- 没有项目memory目录
- 退出1,说明没有可备份来源。
- 某个项目robocopy失败
- Git层失败并保留已完成本地/G;共享启动器仍继续尝试OpenClaw。
真实入口
E:\Projects\Tools\OpenClawGateway\tools\backup-memory.ps1Claude项目选择、两种文件范围及Git结果
tools/memory_backup_hidden.vbsClaude后接OpenClaw的真实顺序和首个非零传播
如何验证
- 9月9日22:07Z共享任务最近05:20:01Z为Ready/enabled/0。22:08Z读取G保存点36文件、76727字节,旧点时间为8月21日05:20Z;源实现允许同内容复用,未重新哈希正文。
- Claude私有Git本地干净;首次Git远端读取TLS失败,随后GitHub引用接口确认1fcc03dff6b0d5bbfa7c3a02a570d31308332b8e同值。
与其他模块的关系
Claude记忆在共享OpenClaw Memory Backup任务中先运行,成果仍写自己的快照和私有Git,不混入OpenClaw工作区。
