Caricamento in corso...
Caricamento in corso...
Last synced: Today, 22:00
Technical reference for the OpenClaw framework. Real-time synchronization with the official documentation engine.
Use this file to discover all available pages before exploring further.
Commitments are short-lived follow-up memories. When enabled, OpenClaw can notice that a conversation created a future check-in opportunity and remember to bring it back later.
Examples:
Commitments are not durable facts like
MEMORY.mdCommitments are off by default. Enable them in config:
bashopenclaw config set commitments.enabled true openclaw config set commitments.maxPerDay 3
Equivalent
openclaw.jsonjson{ "commitments": { "enabled": true, "maxPerDay": 3 } }
commitments.maxPerDay3After an agent reply, OpenClaw may run a hidden background extraction pass in a separate context. That pass looks only for inferred follow-up commitments. It does not write into the visible conversation and it does not ask the main agent to reason about the extraction.
When it finds a high-confidence candidate, OpenClaw stores a commitment with:
Delivery happens through heartbeat. When a commitment becomes due, heartbeat adds the commitment to the heartbeat turn for the same agent and channel scope. The model can send one natural check-in or reply
HEARTBEAT_OKtarget: "none"OpenClaw never delivers an inferred commitment immediately after writing it. The due time is clamped to at least one heartbeat interval after the commitment is created, so the follow-up cannot echo back in the same moment it was inferred.
Commitments are scoped to the exact agent and channel context where they were created. A follow-up inferred while talking to one agent in Discord is not delivered by another agent, another channel, or an unrelated session.
This scope is part of the feature. Natural check-ins should feel like the same conversation continuing, not like a global reminder system.
| Need | Use |
|---|---|
| "Remind me at 3 PM" | Scheduled tasks |
| "Ping me in 20 minutes" | Scheduled tasks |
| "Run this report every weekday" | Scheduled tasks |
| "I have an interview tomorrow" | Commitments |
| "I was up all night" | Commitments |
| "Follow up if I do not answer this open thread" | Commitments |
Exact user requests already belong to the scheduler path. Commitments are only for inferred follow-ups: the moments where the user did not ask for a reminder, but the conversation clearly created a useful future check-in.
Use the CLI to inspect and clear stored commitments:
bashopenclaw commitments openclaw commitments --all openclaw commitments --agent main openclaw commitments --status snoozed openclaw commitments dismiss cm_abc123
See openclaw commitments
Commitment extraction uses an LLM pass, so enabling it adds background model usage after eligible turns. The pass is hidden from the user-visible conversation, but it can read the recent exchange needed to decide whether a follow-up exists.
Stored commitments are local OpenClaw state. They are operational memory, not long-term memory. Disable the feature with:
bashopenclaw config set commitments.enabled false
If expected follow-ups are not appearing:
commitments.enabledtrueopenclaw commitments --allcommitments.maxPerDay© 2024 TaskFlow Mirror
Powered by TaskFlow Sync Engine