Skip to content

高级|配置修改的安全姿势:schema → patch → restart(SOP)

目标:改配置不翻车——不猜字段名、不整段覆盖。


适用场景

  • 你要开启/调整某个能力(比如 webchat 能力、某渠道行为、日志策略)
  • 你不确定配置字段具体在哪个路径

不适用:

  • 你准备大改整份配置(那是升级/迁移级别,需更谨慎)

标准流程(强制建议)

  1. 先说清楚“要实现什么效果”(不要先写字段名)
  2. 查 schema:gateway.config.schema.lookup(path="...")
  3. 最小改动:gateway.config.patch
  4. Gateway 重启并回到当前会话

为什么一定要先查 schema

  • 配置字段会随版本变化
  • 同一个能力可能挂在不同子树(webchat / discord / telegram…)
  • 直接猜字段名 = 最高概率踩坑

最小示例(人话)

需求

我想让 webchat 支持 inline buttons(如果当前版本支持)。

小艺会怎么做

  1. 查:webchat.capabilities 相关 schema
  2. 确认可用值(dm/group/all/allowlist 等)
  3. patch:只改那一小段
  4. 重启后验证 UI 是否生效

验收(怎么判断改对了)

  • [ ] 重启后 Gateway 正常启动(openclaw gateway status
  • [ ] 目标能力在 UI 或实际行为上生效
  • [ ] 没引入无关配置变更(patch 最小化)

常见坑

  • 坑:字段名写错 → 解决:先 schema.lookup
  • 坑:一次 patch 改太多 → 解决:拆成多个小 patch,每次都可回滚
  • 坑:改完忘了验证 → 解决:做验收清单(status + 行为验证)