目录

OpenClaw 2026.8.1 升级实战:插件漂移与 memory search 排障全记录

OpenClaw 2026.8.1 升级实战:插件漂移与 memory search 排障全记录

时间:2026-09-01 | 版本:2026.7.1-2 → 2026.8.1 | 耗时:约 11 小时


一、升级背景与准备

1.1 为什么升级

OpenClaw 官方发布了 2026.8.1(又称 OpenClaw 2.0),这是一次"重构的大版本"更新。官方文档描述:

“A rebuilt web experience, simpler onboarding, stronger memory and session continuity, and a very large reliability pass across OpenClaw.”

主要新特性包括:

  • 会话搜索重建(可按关键词搜索历史对话)
  • 跨设备/云端会话支持
  • 子代理进度卡可观察
  • 结构化问答卡片
  • Private credential requests
  • Automation approve-once
  • 音视频体验改善

1.2 升级前状态检查

升级前执行了完整健康检查:

# 版本确认
$ openclaw --version
OpenClaw 2026.7.1-2 (0790d9f)

# Gateway 状态
$ openclaw gateway status
Service: systemd user (enabled)
Runtime: running (pid 50695, state active)
Connectivity probe: ok

# 配置验证
$ openclaw config validate
Config valid: ~/.openclaw/openclaw.json

1.3 备份策略

按照原则,升级前必须备份:

TS=$(date +%F-%H%M%S)
mkdir -p ~/openclaw-backup-$TS
cp -av ~/.openclaw/openclaw.json ~/openclaw-backup-$TS/
cp -av ~/.openclaw/state ~/openclaw-backup-$TS/state  # SQLite 状态库
ls -lah ~/openclaw-backup-$TS

关键备份~/.openclaw/state/openclaw.sqlite(129MB,包含所有会话历史)


二、升级执行

2.1 执行升级

用户手动执行标准升级流程:

sudo apt update && sudo apt upgrade -y  # 系统级升级(不影响 OpenClaw)
openclaw update  # OpenClaw 核心升级

升级过程:

  1. 检测当前版本:2026.7.1-2
  2. 检测最新版本:2026.8.1
  3. 执行 npm install
  4. 重启 Gateway

2.2 升级后验证

$ openclaw --version
OpenClaw 2026.8.1 (ea80657)

$ openclaw gateway status
CLI version: 2026.8.1
Gateway version: 2026.8.1
Runtime: running (pid 283972, state active)
Connectivity probe: ok

核心升级成功! CLI 和 Gateway 版本一致,Gateway 正常运行。


三、问题 1:16 个插件版本漂移

插件版本漂移示意图

3.1 问题发现

升级后发现严重问题:

Plugin version drift: 16 active official plugins not on gateway 2026.8.1

漂移插件列表:

插件当前版本期望版本
feishu2026.7.12026.8.1
firecrawl-plugin2026.7.12026.8.1
acpx, cerebras, cloudflare-ai-gateway, exa2026.7.12026.8.1
gradium, inworld, llama-cpp, longcat2026.7.12026.8.1
openshell, qwen, tavily, tokenjuice2026.7.12026.8.1
vercel-ai-gateway, zai2026.7.12026.8.1

3.2 根因分析

核心问题openclaw update 只升级了核心包,没有同步更新所有插件。

OpenClaw 的插件架构是"核心 + 独立插件包"模式,核心包和插件包可以独立发布版本。升级核心包后,插件可能停留在旧版本。

3.3 解决方案

逐个更新漂移插件:

openclaw plugins update @openclaw/feishu@2026.8.1
openclaw plugins update @openclaw/firecrawl-plugin@2026.8.1
openclaw plugins update @openclaw/acpx@2026.8.1
# ... 重复 16 次

注意:更新过程中遇到两个问题:

  1. SQLite 事务锁冲突

    [sqlite/transaction] SQLite transaction lock wait failed
    Cannot update plugins or hooks while the config is invalid.

    解决:先运行 openclaw doctor --fix 修复配置,再更新插件。

  2. 能力同意(capability consent): 升级后插件需要重新同意能力:

    Warning: Plugin "feishu" requires capability consent

    解决:逐个启用:

    openclaw plugins enable feishu --accept-capabilities
    # ... 重复 16 次

3.4 最终验证

$ openclaw gateway status --deep
CLI version: 2026.8.1
Gateway version: 2026.8.1
Runtime: running (pid 283972)
Connectivity probe: ok
Plugin version drift: 0 active official plugins not on gateway 2026.8.1

问题 1 解决! 16 个插件全部升级到 2026.8.1。


四、问题 2:飞书 legacy 配置冲突

配置格式对比图

4.1 问题发现

更新插件后配置验证失败:

Config (cli): ~/.openclaw/openclaw.json
Config warnings:
- plugins.entries.thread-ownership: plugin not found
- plugins.entries.open-prose: plugin not found
- agents.entries: Materialized legacy per-surface agent ownership.

4.2 根因分析

OpenClaw 2026.8.1 废弃了部分 legacy 配置格式:

  • plugins.entries.thread-ownership 已移除
  • plugins.entries.open-prose 已移除
  • agents.entries.*.default markers 已废弃

4.3 解决方案

运行 openclaw doctor --fix 自动清理:

$ openclaw doctor --fix
◇  Doctor changes preview ──────────────────────╮
│                                                │
│  Materialized legacy per-surface agent ownership.  │
│  Removed retired agents.entries.*.default markers.  │
│  Prepared the canonical agent roster without   │
│  retired default markers for persistence.      │
│                                                │
├────────────────────────────────────────────────╯

注意doctor --fix 会修改配置并重启 Gateway,可能导致短暂中断。

4.4 配置验证

$ openclaw config validate
Config valid: ~/.openclaw/openclaw.json
6 warning(s):
  ! plugins.entries.thread-ownership: plugin not found (stale config entry ignored)
  ! plugins.entries.open-prose: plugin not found (stale config entry ignored)
  ! plugins.allow: plugin not found: open-prose (stale config entry ignored)
  ! plugins.allow: plugin not found: thread-ownership (stale config entry ignored)
  ! agents.entries: Materialized legacy per-surface agent ownership.
  ! agents.entries: Removed retired agents.entries.*.default markers.

警告都是"stale config entry ignored",表示这些配置项已被忽略但不影响运行。

问题 2 解决! 配置清理完成。


五、问题 3:llama.cpp embeddings 不可用

llama.cpp 与 qmd 对比图

5.1 问题发现

Gateway 启动后日志频繁报错:

[memory] sync failed (session update): Error: Managed local embeddings are unavailable.
Run `openclaw configure`, choose llama.cpp, and retry.
Local embeddings need the managed llama.cpp server config.

每 30 秒出现一次,影响 memory search 功能。

5.2 尝试修复

运行交互式配置:

$ openclaw configure
◇  Model/auth provider
│  Local llama.cpp
◇  Local llama.cpp auth method
│  Managed local server
◇  OpenClaw will install a verified llama.cpp server and download 
│  Gemma 4 E4B IT Q4_K_M (about 5.0 GB) plus your configured local 
│  embedding model. Continue?
│  Yes
◇  llama.cpp setup failed
Managed llama.cpp setup failed.

配置失败! 具体失败原因日志中没有详细记录。

5.3 影响分析

llama.cpp embeddings 用于 OpenClaw 内置的 memory search 功能:

  • 自动检索历史对话中的相关记忆
  • 注入到当前对话上下文

但这不影响核心功能

  • 飞书消息收发正常
  • Agent 对话正常
  • qmd 知识库搜索可用

由于 llama.cpp embeddings 配置失败,我们转向使用已有的 qmd 作为替代方案。


六、问题 4:qmd MCP 工具配置

qmd 搜索结果界面

6.1 问题背景

用户之前使用 qmd 作为 memory search 的后端(见历史文档):

  • 2026-05-16 排障:memory_search qmd fallback 故障排除
  • 2026-05-17 根因分析:WSL 9p 协议层 bug 导致 EIO 错误

qmd 索引已存在:

  • 4259 个文件已索引
  • 22122 个向量已嵌入
  • 索引大小:179.8 MB

6.2 解决方案

配置 qmd 作为 MCP 工具替代 memory search:

{
  "mcp": {
    "servers": {
      "qmd": {
        "command": "/home/oklife/.nvm/versions/node/v24.15.0/bin/qmd",
        "args": ["mcp"],
        "enabled": true
      }
    }
  }
}

6.3 验证

$ /home/oklife/.nvm/versions/node/v24.15.0/bin/qmd search "OpenClaw升级" -n 3
qmd://oklife/AI/OpenClaw/07-升级备份.md #25a47d
Title: OpenClaw 升级备份
Score:  92%

qmd://oklife/AI/OpenClaw/08-运维体系/2026-05-09-OpenClaw升级评估-经验教训.md:2 #380720
Title: OpenClaw升级评估:2026.5.6 → 2026.5.7
Score:  91%

qmd 搜索正常工作!

6.4 索引更新

由于索引已 97 天未更新,运行 qmd update 重新索引:

$ qmd update
Updating 18 collection(s)...
[1/18] workspace-oc-engineer (**/*.md)
Indexed: 228 new, 7 updated, 13 unchanged, 19 removed
[2/18] workspace-audio-yuntianlai (**/*.md)
Indexed: 161 new, 2 updated, 5 unchanged, 0 removed
...

更新后:

  • 文件数:4259 → 4957(新增 698 个文件)
  • 索引时间:97 天前 → 11 小时前

4.5 Agent Fallback 模型清理

同样清理了指向不可用 provider 的 fallback:

  • chief-yuntian → 移除 nvidia-glm5/z-ai/glm5
  • debt-rebirth-oklife → 移除 nvidia-glm5/z-ai/glm5

8.1 健康检查

$ openclaw gateway status
Service: systemd user (enabled)
Runtime: running (pid 283972, state active, sub running)
Connectivity probe: ok
Capability: read-only
Listening: 127.0.0.1:18789

$ openclaw channels status --probe
- Feishu chief-yuntian (总编云天): enabled, configured, running, connected, works
- Feishu debt-rebirth-oklife (财富导师梦行志): enabled, configured, running, connected, works
- Feishu default: enabled, configured, running, connected, works
- Feishu kb-writer (云天博): enabled, configured, running, connected, works
- Feishu oc-engineer (OC工程师): enabled, configured, running, connected, works

飞书 5 个通道全部正常!

8.2 已知遗留问题

问题状态影响
llama.cpp embeddings❌ 配置失败memory search 不可用,可用 qmd 替代
Service 描述版本⏸️ 滞后cosmetic issue,不影响运行
PATH 警告⏸️ 已知之前已决定不改

8.3 系统资源

$ nvidia-smi
NVIDIA GeForce RTX 4070, 12282 MiB, 3235 MiB used

$ free -h
               total        used        free
内存:          61Gi        21Gi        35Gi

$ df -h ~/.openclaw
/dev/nvme1n1p3  187G  147G   31G  83% /home

九、经验教训

9.1 升级流程优化

  1. 升级前

    • 完整备份:openclaw.json + state/ 目录(SQLite)
    • 记录当前版本和配置 hash
    • 检查是否有 breaking changes
  2. 升级中

    • 使用 openclaw update --dry-run 预览变更
    • 等待核心升级完成后,再更新插件
    • 不要并行执行多个 openclaw 命令
  3. 升级后

    • 验证插件漂移:openclaw gateway status --deep
    • 运行 doctor:openclaw doctor --fix
    • 检查 channel 状态:openclaw channels status --probe
    • 验证核心功能:飞书发消息测试

9.2 插件管理

  • 插件版本必须与核心一致:升级核心后必须更新所有插件
  • 批量更新策略
    # 先更新核心插件(feishu, firecrawl)
    openclaw plugins update @openclaw/feishu@2026.8.1
    openclaw plugins update @openclaw/firecrawl-plugin@2026.8.1
    
    # 再更新其他插件
    # ...
    
    # 最后更新 capability consent
    openclaw plugins enable feishu --accept-capabilities

9.3 Memory Search 替代方案

如果 llama.cpp embeddings 不可用:

  1. 短期:使用 qmd MCP 工具替代
  2. 中期:配置远程 embedding provider(OpenAI, Ollama)
  3. 长期:等待 llama.cpp provider 稳定

9.4 回滚策略

如果升级失败,回滚步骤:

# 1. 停止 Gateway
systemctl --user stop openclaw-gateway.service

# 2. 回滚版本
npm install -g openclaw@2026.7.1-2

# 3. 恢复配置
cp -a ~/.openclaw/openclaw.json.pre-upgrade-2026.08.01.bak ~/.openclaw/openclaw.json

# 4. 启动 Gateway
systemctl --user start openclaw-gateway.service

十、总结

本次升级耗时约 11 小时(含问题排查),主要挑战:

  1. 插件漂移:核心包升级但插件未同步 → 已修复
  2. 配置冲突:legacy 配置格式废弃 → 已清理
  3. Embeddings 失败:llama.cpp 配置失败 → 用 qmd 替代

最终状态

  • ✅ OpenClaw 2026.8.1 运行正常
  • ✅ 飞书 5 通道全部 works
  • ✅ qmd 搜索可用(4957 文件索引)
  • ⚠️ llama.cpp embeddings 不可用(不影响核心功能)

健康等级:🟢 GREEN(核心业务正常,存在非阻断隐患)


本文档归档于:/data/Obsidian-oklife-ub/AI/OpenClaw/09-工作流/2026-09-01-OpenClaw升级实战.md