需启用webhook入站并配置sqlite持久化与zstd压缩:执行openclaw config set webhook.enabled true和persistence.mode sqlite,添加checkpoint_compression: zstd至config.yaml,重启服务后可通过ui回退至status: committed的.zst检查点。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要在OpenClaw v2026.4.11中启用Webhook入站功能,并确保每次触发后的状态能自动保存为压缩检查点,同时通过UI界面随时回退到任意历史分支——这要求你必须绕过默认的内存快照机制,启用SQLite持久化存储并激活前端检查点管理模块。
启用Webhook入站与持久化检查点
打开终端,进入OpenClaw安装目录,执行:openclaw config set webhook.enabled true。
运行openclaw config set persistence.mode sqlite,强制将所有检查点写入./data/checkpoints.db而非内存;【若仍使用memory模式,分支回退将完全失效】。
编辑config.yaml,在webhook:节点下添加checkpoint_compression: zstd——zstd是唯一被v2026.4.11支持的压缩算法,其他如gzip或lz4会导致UI加载失败。
重启服务:openclaw service restart。此时Webhook端点(默认/webhook/in)已启用,且每次成功接收请求后自动生成带时间戳的.zst压缩包存入./data/checkpoints/。
在UI中查看与回退检查点分支
浏览器访问http://localhost:3000/checkpoints,登录后进入检查点管理页。
方法一:点击「分支视图」按钮 → 页面顶部显示时间线式分支图 → 每个圆点代表一次Webhook触发生成的检查点 → 鼠标悬停显示该检查点关联的原始payload哈希值与触发时间。
方法二:在搜索框输入branch:prod-20260411 → 系统列出所有匹配标签的检查点 → 点击右侧「还原」图标 → 弹窗提示「将覆盖当前会话状态,不可撤销」→ 确认后Agent自动加载对应.zst文件并重建Memory与Skill上下文。
注意:只有标记为status: committed的检查点才允许回退;临时调试生成的status: draft检查点不会出现在UI列表中。
手动触发检查点归档与分支创建
第一步:向/webhook/in发送POST请求,Header中必须包含X-OpenClaw-Branch: staging-v2,Body为合法JSON payload。
第二步:请求返回201后,立即执行openclaw checkpoint archive --tag staging-v2 --compress,该命令将当前内存状态打包为staging-v2-20260612-1631.zst并写入SQLite。
第三步:刷新UI页面,在分支筛选器中选择staging-v2 → 可见新分支已同步上线,且支持点击「设为默认」使后续Webhook自动绑定至此分支。
这一步操作起来很简单,直接把curl命令粘贴进终端就行;但漏掉X-OpenClaw-Branch头会导致检查点被归入default分支,无法单独管理。










