概述
Commitments(承诺)是短期的后续跟进记忆。启用后,OpenClaw 能注意到对话中产生了未来跟进的机会,并在适当时候主动回来。它介于 memory 和自动化之间:记住对话绑定的义务,通过 heartbeat 在到期时投递。
核心要点
典型场景:
- 你提到明天有面试 → OpenClaw 可能事后询问结果
- 你说你精疲力竭 → OpenClaw 可能之后问你睡得怎么样
- Agent 说会在某事变化后跟进 → OpenClaw 可能追踪这个开放循环
与 Reminders 的区别:
| 需求 | 使用 |
|---|---|
| ”下午 3 点提醒我” | Scheduled tasks(cron jobs) |
| “20 分钟后 ping 我” | Scheduled tasks |
| ”每个工作日运行这个报告” | Scheduled tasks |
| ”我明天有面试” | Commitments |
| ”我整晚没睡” | Commitments |
| ”如果我没回复这个开放线程就跟进” | Commitments |
工作机制:
- Agent 回复后,OpenClaw 在独立上下文中运行隐藏的后台提取 pass
- 找到高置信度候选时,存储 commitment(含 agentId、session key、channel、到期窗口、建议跟进语)
- 通过 heartbeat 投递:到期时加入 heartbeat turn,模型发送自然跟进或回复
HEARTBEAT_OK忽略 - 投递时间至少在创建后一个 heartbeat 间隔,不会立即回显
作用域:严格绑定到创建时的 agent 和 channel 上下文,不跨 agent/channel/session 投递。
隐私与成本:提取使用 LLM pass,会增加后台模型用量;存储的 commitment 是本地 OpenClaw 状态,不是长期 memory。
配置/使用
openclaw config set commitments.enabled true
openclaw config set commitments.maxPerDay 3管理命令:
openclaw commitments # 查看当前 commitments
openclaw commitments --all # 包括已过期/已忽略
openclaw commitments --agent main
openclaw commitments dismiss cm_abc123相关页面
- memory - Memory 概述与持久化
- memory-builtin - 内置 memory 机制
- agent-loop - Agent 循环与 heartbeat 机制
- session - 会话作用域