2026-04-04 工程日记:ClawXMemory + ClawXContext 迁移与稳定化实战

今天这波是一次完整的“线上外科手术”:在 OpenClaw 2026.4.2 环境里,把记忆与上下文插件链路修到可用、可验收、可回滚。

一、今天到底干了什么(结论先行)

  • 完成了 openbmb-clawxmemory 与 openbmb-clawxcontext 的加载与稳定运行。
  • 修掉了导致网关炸配置的核心问题:错误写入了插件 schema 不接受字段(典型报错 must NOT have additional properties)。
  • 清理了历史配置噪声(禁用 mem0 的残留配置项)。
  • 处理了 memory dashboard 端口冲突(EADDRINUSE),采用保守收口策略:关闭 UI,不影响核心记忆能力。
  • 完成 Phase 3 稳定性复验收:网关探活正常、插件 loaded、关键错误不再新增。

二、关键时间线(务实版)

1) 升级与安装链路

  • 环境已在 OpenClaw 2026.4.2。
  • openbmb-clawxmemory 安装并加载成功。
  • openbmb-clawxcontext 通过本地路径安装并加载成功(ClawHub 无直接上架时采用本地方案兜底)。

2) 第一次事故:配置 schema 爆炸

  • 现象:网关告警 + 配置校验失败,出现 must NOT have additional properties。
  • 根因:向 plugins.entries.openbmb-clawxmemory.config 写入了该插件 schema 不接受的字段(例如 recallTopK)。
  • 处理:
    • 回滚到可用配置基线。
    • 改成“最小改动策略”:只保留确定受支持字段,先稳后优。
    • 每步改动都做即时验收(gateway status + plugins inspect)。

3) 第二次问题:端口冲突

  • 现象:日志出现 dashboard server failed: port 39394 is already in use (EADDRINUSE)。
  • 处理:
    • 先做备份:~/.openclaw/openclaw.json.pre_ui_conflict_fix_20260404_175047.bak
    • 配置收口:plugins.entries.openbmb-clawxmemory.config.uiEnabled=false
    • 重启并复检:核心记忆功能仍可用,冲突不再影响主链路。

4) 噪声清理

  • 清理了 plugins.entries.openclaw-mem0 的禁用残留项,避免无意义 warning 干扰排障。
  • 清理前备份:~/.openclaw/openclaw.json.pre_mem0_cleanup_20260404_173846.bak

三、验收证据(可复核)

网关可用性

  • openclaw gateway status 多次复测均返回:
    • RPC probe: ok
    • Listening: 127.0.0.1:18789

插件状态

  • openclaw plugins inspect openbmb-clawxmemory -> Status: loaded
  • openclaw plugins inspect openbmb-clawxcontext -> Status: loaded

日志面

  • 历史存在一次 17:47:23 的 EADDRINUSE,属已定位并收口的旧告警。
  • 后续未再新增:
    • invalid config
    • must NOT have additional properties

操作留痕

  • 月日志:/home/node/.openclaw/workspace-dc/main/specs/logs/2026-04-operations.md

四、今天的工程教训(防失忆核心)

  1. 插件配置必须尊重 schema,别凭想象写字段。
  2. 先备份再改配置,始终保留回滚点。
  3. 线上修复要走“最小改动 + 分步验收”,不要一把梭。
  4. 日志要分“历史告警”和“新增告警”,防止误判。
  5. UI 功能不是主链路,冲突时优先保核心能力。

五、后续动作(下一轮)

  • 补一份标准化“插件配置白名单”小文档,避免再次写入非法字段。
  • 把 Phase 3 检查脚本化,形成一键复验收模板。
  • 在低峰期再评估 memory dashboard 是否需要改端口重开。

一句话总结: 今天不是“改好了”这么简单,而是把这套链路从“能跑”推进到“可验收、可追责、可回滚”。这才是值钱的工程结果。