若OpenClaw出现会话丢失、记忆无法加载或“transcript missing”“session lock found”等错误,大概率是session.jsonl、memory.md、opencloud.json等存档文件损坏,需按五步抢救:一、清理.lock并重建.jsonl;二、用.bak备份恢复opencloud.json;三、补全MEMORY.md YAML结构;四、删除锁文件并强制重建状态;五、从备份目录完整回滚。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

如果您启动OpenClaw时发现会话历史丢失、记忆无法加载或提示“transcript missing”“session lock found”等错误,则很可能是存档文件(如session.jsonl、memory.md、opencloud.json)已损坏。以下是针对不同存档类型实施抢救的实用方法:
一、恢复损坏的会话存档(.jsonl文件)
会话存档以JSONL格式存储对话流,损坏后会导致TUI无响应或历史重置。系统通常保留.lock文件与对应.jsonl配对,可据此识别并清理异常状态。
1、停止当前运行的OpenClaw网关:openclaw gateway stop
2、定位主代理会话目录:~/.openclaw/agents/main/sessions/
3、查找带.lock后缀的文件(例如1a269cb0-fa81-4875-a59c-e1ccd3ec6b2c.jsonl.lock),确认其关联的.jsonl文件是否存在且非空
4、若.jsonl文件为空或内容乱码,删除该.jsonl文件,并将对应.lock文件重命名为.recovery后缀以标记待修复
5、运行诊断工具触发自动重建:openclaw doctor --fix
二、还原损坏的主配置文件(opencloud.json)
opencloud.json是OpenClaw运行的核心配置载体,一旦损坏将导致启动失败或身份认证中断。系统默认在修改前生成.bak备份,优先利用该机制可避免重装。
1、进入OpenClaw状态目录:~/.openclaw/
2、列出所有配置相关文件:ls -la opencloud.json*
3、若存在opencloud.json.bak,执行覆盖还原:cp opencloud.json.bak opencloud.json
4、若无.bak但存在opencloud.json.bak.20260312类时间戳备份,选择最新日期的文件执行相同复制命令
5、校验文件权限是否为用户可读写:chmod 600 opencloud.json
三、抢救工作区记忆文件(MEMORY.md与AGENTS.md)
MEMORY.md和AGENTS.md承载角色规则、长期记忆与代理行为逻辑,损坏后表现为“遗忘一切”。这些文件不被自动压缩,但易受编辑器异常关闭影响而截断。
1、检查工作区路径,通常位于:~/openclaw-workspace/
2、运行完整性检测:openclaw doctor --check-memory
3、若报告“MEMORY.md ends abruptly”,使用文本编辑器打开该文件,滚动至末尾查看是否缺失结束标记(如---或空行)
4、手动补全基础结构:在文件末尾添加标准YAML分隔符与最小有效块:---\nrole: default\nrules: []
5、保存后重启网关并验证记忆检索是否生效:openclaw gateway start
四、强制重建会话状态与清除锁文件
当诊断工具提示“Found 1 session lock file”且pid仍存活时,表明上一会话未正常退出,造成状态阻塞。此时需人工介入释放资源并重建上下文。
1、确认锁文件关联进程是否真实运行:ps -p 31892(将31892替换为实际pid)
2、若进程不存在,直接删除锁文件:rm ~/.openclaw/agents/main/sessions/*.lock
3、清空临时会话缓存目录:rm -rf ~/.openclaw/agents/main/sessions/tmp/
4、执行全量状态修复:openclaw doctor --fix --force-state-rebuild
5、等待命令输出“State integrity restored”后,重新启动TUI界面
五、从备份目录完整回滚存档
若前述方法均无法恢复关键数据,且您曾启用官方备份策略(如迁移文档建议的归档操作),可直接用完整备份覆盖当前状态目录。
1、确认备份位置,典型路径为:~/openclaw-backup/20260310_1822/
2、停止所有OpenClaw服务:openclaw gateway stop && pkill -f openclaw
3、重命名当前状态目录以保留现场:mv ~/.openclaw ~/.openclaw.corrupted
4、解压备份至原路径:tar -xzf ~/openclaw-backup/20260310_1822/state.tar.gz -C ~
5、恢复后首次启动时添加--no-init参数跳过初始化冲突:openclaw tui --no-init










