Skip to content

Sleep & Dreams

Sleep is abmind's background maintenance cycle — it processes raw conversations into structured knowledge, consolidates old memories, and detects contradictions.

When It Runs

Configured via BED_TIME and WAKE_TIME in .env.memory. The bridge triggers sleep automatically during quiet hours. Can also be triggered manually:

bash
abmind sleep --level normal    # CLI
/sleep now                     # from chat

Sleep Levels

LevelStepsLLM CallsDuration
budgetExtract + consolidate only~52-5 min
normalFull cycle (extract, consolidate, contradictions, aging)~155-15 min
ultimateDeep analysis + skill review + retrospective~3015-30 min

Sleep Support by Product

ProductMax LevelTriggerNotes
abTARSultimateAutomatic (BED_TIME + quiet ticks)Full multi-step sleep with subagent (Dreamy). Optional hardware sleep after cycle. Dream report to user.
OpenClawbasicCron (0 3 * * *) or manualSingle LLM call. Plugin registers sleep cron on gateway start.
Hermes-AgentbasicAuto-registered cron (gateway) or session-endSingle LLM call. Plugin triggers budget sleep on session end if >24h stale.
Kiro CLI / Claude / Gemini / CodexbasicHook-triggered extraction (agent-driven)Single LLM call via ABMIND_LLM_CMD. Or native (no LLM) if agent produces JSON during session.
MCP (standalone)basicSystem cron or manualSingle LLM call via ABMIND_LLM_CMD.

Why the difference: Only abTARS has a dedicated sleep subagent (Dreamy) with its own multi-turn session. All other products call abmind sleep as a single LLM call (basic level) — one prompt, one response, extract + consolidate in one shot.

What Sleep Does

  1. Extract — pull facts, preferences, entities from unprocessed messages
  2. Consolidate — merge daily notes into weekly, weekly into quarterly
  3. Contradiction check — detect conflicting facts, mark older one as superseded
  4. Aging — reduce relevance scores on stale memories
  5. Skill review (ultimate only) — identify recurring patterns worth automating
  6. Retrospective (ultimate only) — generate a "dream report" summarizing the day

Status

/sleep

Shows:

  • 🧠 Sleep cycle running (step, %) — active
  • 😴 Asleep (idle) — bedtime, nothing happening
  • 👋 Awake — normal operation

Manual Control

CommandEffect
/sleep nowStart a fresh cycle on next heartbeat tick
/sleep resumeRetry failed steps from last cycle
/wakeupCancel hardware sleep, resume normal operation