概述

Commitments(承诺)是短期的后续跟进记忆。启用后,OpenClaw 能注意到对话中产生了未来跟进的机会,并在适当时候主动回来。它介于 memory 和自动化之间:记住对话绑定的义务,通过 heartbeat 在到期时投递。

核心要点

典型场景:

  • 你提到明天有面试 → OpenClaw 可能事后询问结果
  • 你说你精疲力竭 → OpenClaw 可能之后问你睡得怎么样
  • Agent 说会在某事变化后跟进 → OpenClaw 可能追踪这个开放循环

与 Reminders 的区别:

需求使用
”下午 3 点提醒我”Scheduled tasks(cron jobs)
“20 分钟后 ping 我”Scheduled tasks
”每个工作日运行这个报告”Scheduled tasks
”我明天有面试”Commitments
”我整晚没睡”Commitments
”如果我没回复这个开放线程就跟进”Commitments

工作机制:

  1. Agent 回复后,OpenClaw 在独立上下文中运行隐藏的后台提取 pass
  2. 找到高置信度候选时,存储 commitment(含 agentId、session key、channel、到期窗口、建议跟进语)
  3. 通过 heartbeat 投递:到期时加入 heartbeat turn,模型发送自然跟进或回复 HEARTBEAT_OK 忽略
  4. 投递时间至少在创建后一个 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

相关页面