Commitments
When the agent says "I'll check this in an hour", that's a commitment. OpenVesper tracks them so the agent doesn't forget its own promises across sessions.
Two kinds
- explicit โ user explicitly asked agent to remember ("remind me to check $XYZ in 2 hours")
- inferred โ pattern-matched from agent's reply ("I'll let you know when..." โ automatic commitment record)
Inferred patterns
The system auto-detects these phrases as commitments:
- "I'll let you know..."
- "I'll get back to you..."
- "I'll check..."
- "I'll remind..."
- "I'll follow up..."
- "I'll update you..."
- "Give me N minutes/hours and I'll..."
- "Check back in N hours..."
It also extracts time mentions ("in 2 hours", "tomorrow", "next week") to populate dueAt.
Auto-inclusion in context
Open commitments are auto-injected into the system prompt at priority 30, so the agent sees its own outstanding promises on every turn:
## Your open commitments to this user
You previously made these promises. Stay aware of them:
- "I'll check the BAGS price in an hour" (due 14:30:00)
- "I'll remind you about the airdrop deadline" (due 2026-05-25)API
GET /commitments?sessionKey=user-123&status=open
POST /commitments (manual create)
POST /commitments/:id/fulfill
POST /commitments/:id/cancelStorage
~/.openvesper/commitments.json (mode 0600).
Source
Implementation: apps/gateway/src/commitments.ts