课程大纲
OpenClaw 2.0 升级指南:不丢数据升上去、退得回
适用版本: OpenClaw v2026.8.1(官方称 OpenClaw 2.0) 验证日期: 2026-09-01 目标读者: 已在跑 2026.4.x 等旧版、准备升 2.0 的用户 难度: ⭐⭐ 进阶入门 适合首次阅读: 否——还没装过 OpenClaw 的读者直接从第 1 篇开始,装上的就是 2.0
目标
把手上的旧版 OpenClaw 安全升到 2.0:升级前做好能真恢复的备份,升级后确认会话和记忆都完整迁移,知道出问题怎么退回去。顺带把 2.0 值得上手的新功能过一遍。
为什么这次升级值得单独一篇:2.0 不是常规更新——会话存储从 JSONL 文件整体迁进 SQLite,QMD 记忆引擎被移除,Control UI 推倒重做。老规矩里「回滚就是装回旧版本号」「备份就是 tar 一下目录」这类操作,在 2.0 之后会丢数据。
前置条件
- 已完成本系列前面的章节,手上有一个在跑的旧版 OpenClaw 实例
- 能接受几分钟的服务中断(升级过程会重启 Gateway)
最短成功路径
整篇就做这 5 件事:
- 备份 —
openclaw backup create --verify - 预览 —
openclaw update --dry-run - 升级 —
openclaw update - 体检 + 记忆迁移 —
openclaw doctor --fix - 验证 — 会话还在、记忆能查、对话正常
下面展开每一步。
一、2.0 改了什么:先看这张表
| 领域 | 2.0 的变化 | 对你意味着什么 |
|---|---|---|
| 会话存储 | JSONL 文件 → SQLite 数据库 | 备份和回滚的规则全变,本篇重点 |
| 记忆 | QMD 引擎移除,内置 Memory 接管检索召回 | 装过 QMD 的必须迁移(一条命令) |
| 安装与更新 | openclaw update 全流程接管,更新前自检、失败不砸旧环境 | 别再裸 npm install -g 手动升了 |
| Control UI | 整体重做:对话为中心,文件、审批、设置贴着对话 | 老截图和路径都对不上了 |
| 技能 | 新增 Skill Workshop 与自学习改进流程 | 技能迭代有了官方工作流 |
| 定时任务 | Cron 统一更名 Automations | 旧命令和配置继续兼容,不用改 |
| 安全 | 审批绑定到具体请求与人、设备退役机制、凭据可不经过模型可见文本 | 一批自建的土办法可以退休了 |
| 浏览器 | 受管 profile 或指定共享的 Chrome 标签页,可带登录态 | 登录墙站点的自动化有了正规解法 |
官方发过一个版本号乌龙:npm 上出现过的 2026.9.1-beta.1 其实是 2026.8.1-beta.4 标错了号,并不比稳定版新。看到它别追着装,稳定版用户升到 2026.8.1 就是最新。
二、升级前必做:一份校验过的备份
官方在 2.0 发布说明里把话挑明了:更新时自动留的 config 副本和迁移恢复原件,都不算全量备份。升级前自己做一份:
bashopenclaw backup create --verify
这会把 OpenClaw 的状态、配置、认证信息、渠道凭据、会话和工作区打成一个带时间戳的 .tar.gz(默认落在当前目录),--verify 会在写完后立即做完整性校验——包括归档结构和里面每个 SQLite 快照。想指定输出目录加 --output ~/Backups。
两个注意点:
- 备份档里有 API Key、渠道凭据和聊天记录,按敏感文件对待:放加密盘、别进网盘公开目录。
- 恢复不是原地覆盖:
openclaw backup restore <归档> --target <全新目录>只会解到一个干净目录,之后停掉 Gateway、把状态目录换过去、跑一遍openclaw doctor再启动。它没有--force,这是刻意设计。
顺手确认版本线,2.0 抬高了下限:
bashnode --version # 推荐 Node 26;最低 22.22.3+ / 24.15+ / 25.9+
如果你习惯手动 npm 安装:npm 12(或 11.16+)现在必须带参数 npm install -g openclaw@latest --allow-scripts=openclaw,否则安装脚本会被 npm 拦下。这也是为什么下一步推荐用 openclaw update——这些细节它替你处理。
三、正式升级
先预览,看清它打算做什么:
bashopenclaw update --dry-run
确认无误后正式执行:
bashopenclaw update
这条命令会自动识别你的安装方式(npm / pnpm / Bun / git 源码),拉取最新版,更新前检查安装体、拦下不安全的候选,装完跑一遍 doctor,最后重启受管的 Gateway 服务。第一次以 2.0 启动时,Gateway 会自动执行会话的 SQLite 迁移,会话多的话首次启动比平时慢一些,属正常。
如果升级中途失败:2.0 的更新是先暂存验证再替换,失败时旧版 CLI 保持可运行,不会把你晾在半路。如果 npm 包已经装了一半,重跑官方安装脚本即可恢复:
bashcurl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm
四、升级后三件事
1. 跑一遍体检加清理:
bashopenclaw doctor --fix
2.0 的 doctor 重做过:聚焦真正的问题和下一步动作,配置错误会指到具体设置项。--fix 还负责清退已废弃的配置——包括下面的记忆迁移。
2. 确认会话都在。 打开 Control UI(openclaw dashboard,浏览器访问 http://127.0.0.1:18789/),翻几条升级前的历史对话,确认迁移完整。
3. 确认记忆引擎就绪:
bashopenclaw memory status
装过 QMD 的重点看这里(按本系列生产级记忆那篇搭过流水线的读者就是你):QMD 在 2.0 已被移除,内置 Memory 是唯一引擎。好消息是迁移就是刚才那条 openclaw doctor --fix:
- 它会清掉已废弃的
memory.backend、memory.qmd、memory.search.qmd配置 - QMD 原来配置的路径和额外集合会原样转成
memory.search.extraPaths,不用手搬 - 迁移是无损的:MEMORY.md、USER.md、
memory/*.md这些正文一个字不动,重建的只是检索索引 - doctor 还会主动提出清理
~/.openclaw/agents/<agentId>/qmd/下的残留索引和模型文件
一个差异要有预期:内置引擎默认用 OpenAI embedding 做向量检索(配了 OPENAI_API_KEY 即自动生效)。想像 QMD 那样纯本地不出网,装官方 llama.cpp 插件并把 memory.search.provider 设为 local;什么 embedding 都不配的话,内置引擎降级为纯关键词检索,也能用。
五、降级红线:退得回,但有规矩
万一 2.0 有你踩不过去的问题,降级路径是这样:
bashnpm view openclaw versions --json # 找到你要退回的版本号 openclaw update --tag <目标版本> --dry-run # 预览 openclaw update --tag <目标版本> # 执行,它会识别这是降级并要你确认
SQLite 红线:迁移之后新建的会话,旧版看不见。 跨过 2.0 存储迁移线往回退,要先按官方降级指引、用当前版本的 CLI 恢复归档的旧格式会话工件,再执行降级——直接装回旧版等于亲手把升级后的新会话变成不可见数据。这也是第二节坚持让你留全量备份的原因。
另外认识一条新命令但先别跑:openclaw update cleanup 会清掉迁移过程保留的恢复原件,跑了就永久放弃回滚到这些原件的能力。正确姿势是先 openclaw update cleanup --dry-run 看看会删什么,等你在 2.0 上稳定用了一阵、确认会话记忆都没问题,再考虑执行回收磁盘。不跑也没事,就是占点空间。
六、新功能十分钟导览
升级站稳后,这几样值得逐个上手:
- 新 Control UI:对话是主界面,Claw 正在做的事、待审批的动作、涉及的文件都贴在对话旁边,不用再开一堆页面来回切。新增 Sharing(分享会话)和 Incognito(不留痕会话)。
- 内置 Memory 的跨对话召回:符合条件的个人 Claw 能从同一个 agent 的其它私密对话里召回相关上下文,包括 reset 之前聊过的要点。边界也清楚:不跨 agent、遵守隔离策略。要建立的新认知是——记忆不再只是磁盘上那几个 Markdown 文件,多了一层可检索的派生记忆,而且这层记忆可以在界面里查看和删除。
- Skill Workshop 与自学习:技能的改进提议、检查、采纳决策、应用历史收进一个工作流;自学习能把你日常的纠正沉淀成技能改进提议。建议先用 Workshop 手动审提议,观察一阵再决定要不要开自动学习。
- Automations:Cron 定时任务统一改叫 Automations,Control UI 里按这个名字找入口。旧的 cron 命令、配置和语法全部兼容,历史记录还分清了三件事:任务跑没跑、结果送达没有、整个请求算不算完成——排查定时任务比以前省心。
- 消息可靠性:已接受的消息在受管重启之间不丢,拿不准是否送达的消息会保留而不是盲目重发。以前重启 Gateway 前的那种心理负担可以放下了。
- 浏览器带登录态:通过隔离的受管 profile,或你明确共享的 Chrome 标签页,让 Claw 用上已登录的网站会话(macOS 还支持按站点白名单同步 cookie)。抓需要登录的页面终于不用再折腾抓包和手贴 cookie。
七、验证清单
逐条确认,全部通过才算升级完成:
bash# 1. 版本对了 openclaw --version # 应显示 2026.8.1 # 2. Gateway 健康 openclaw gateway status --deep # 3. 体检无红项 openclaw doctor # 4. 记忆引擎就绪(装过 QMD 的确认迁移完成) openclaw memory status # 5. 旧会话还在:openclaw dashboard 里翻历史对话 # 6. 对话正常 openclaw chat "ping"
常见问题
Q: 升级会不会弄丢我的配置和会话?
正常流程不会。openclaw update 只更换代码,~/.openclaw 里的状态、配置、凭据、工作区全部保留,首次启动的 SQLite 迁移也不删原文件。备份防的是意外——磁盘、断电、以及你想降级的那天。
Q: 升级失败了,命令行还能用吗?
能。2.0 的更新先暂存候选并验证,不通过就不替换,旧版 CLI 保持可运行。npm 包装到一半坏掉的极端情况,重跑官方安装脚本恢复(见第三节)。
Q: 我的 cron 定时任务要重写吗?
不用。Automations 只是统一命名,旧的 cron 命令、配置键和 schedule 语法继续有效。只是在 Control UI 里找入口时记得按新名字找。
Q: 我照系列教程装过 QMD,升级后要手动拆吗?
不用手拆。openclaw doctor --fix 一条命令完成迁移:废弃配置清掉、QMD 的路径转成 extraPaths、正文 Markdown 一律不动。QMD 工作区的残留文件 doctor 会问你要不要清。
Q: 降级之后发现会话少了?
这就是第五节的红线:迁移后新建的会话旧版看不见。回到 2.0 它们还在;确定要留在旧版,先在 2.0 上按官方指引恢复归档会话工件再降级。
Q: 从备份恢复后 WhatsApp 之类的渠道掉线了?
官方文档把恢复备份称作时间旅行:带加密棘轮状态的渠道凭据(尤其 WhatsApp)回滚后可能失去同步,需要重新配对链接。恢复后先检查各渠道连接状态,再恢复 Gateway 对外服务。