π§ Memory Never Forget π§
Memory system v4.13: Dual-layer structure (todos for execution + knowledge for strategy) with Dream/Refinement memory mechanisms.
Memory system v4.13: Dual-layer structure (todos for execution + knowledge for strategy) with Dream/Refinement memory mechanisms.
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
A full-featured memory system for OpenClaw, integrating Active Memory retrieval, Memory Palace structured views, and a Dual-Layer Dream Verification mechanism β delivering "proactive memory + global view + verifiable consolidation."
Core Logic: Active Memory = Memory Butler, Memory Palace = Knowledge Palace, Dual-Layer Dream = Verification & Consolidation Expert
Three-Layer Separation: todos.md = Execution Layer | knowledge/ = Strategy Layer | memory/ = Classified Memory Layer
License: MIT-0 | Updated: 2026-04-18 | v4.13: Added dual-layer structure
This skill manages memory across two orthogonal dimensions:
Three independent mechanisms work together:
| Mechanism | Trigger | Write to disk? | Purpose |
|---|---|---|---|
| Active Memory | Every reply (before_prompt_build) | β Read-only | Real-time recall, inject relevant memories into current conversation |
| Dream (memory-core) | Daily 12:30 cron | β MEMORY.md (Deep phase) | Decide which memories promote or decay |
| Refinement (13:00) | Daily 13:00 cron (user-defined) | β Writeable | Verify Dream results, fill gaps |
β οΈ v4.12b source-verified correction (2026-04-17): Clarified actual division of three mechanisms
Trigger mechanism:
before_prompt_build, auto-triggers before every replymemory_search + memory_get permissionsmemory/.dreams/short-term-recall.json)cacheTtlMs) to avoid repeated recall in same turnKey constraints:
Configuration (
openclaw.json β plugins.entries.active-memory.config):
{ "enabled": true, "queryMode": "recent", // message | recent | full "promptStyle": "balanced", // balanced | strict | contextual | recall-heavy | precision-heavy | preference-only "maxSummaryChars": 220, "recentUserTurns": 2, "recentAssistantTurns": 1, "timeoutMs": 15000 }
Provides multi-dimensional views of your agent's long-term memory:
Trigger:
30 12 * * * (cron), sessionTarget="main", payload="systemEvent: __openclaw_memory_core_short_term_promotion_dream__"
Three phases (Light β REM β Deep):
Source quote (
):formatPhaseGuide
"deep is the only stage that writes durable entries to MEMORY.md. DREAMS.md is for human-readable dreaming summaries and diary entries."
| Phase | Output | Writes files? | Description |
|---|---|---|---|
| Light | Dream Diary prose entries | β DREAMS.md | Organize session-corpus, 4 parallel sessions |
| REM | Theme reflections | β DREAMS.md | Extract recurring themes |
| Deep | 6-dimensional weighted scoring signals | β β MEMORY.md | Only phase that writes to MEMORY.md |
Deep phase promotion parameters (adjust in cron job description):
minScore: 0.500 (tune based on your promotion rate)minRecallCount: 3minUniqueQueries: 3recencyHalfLifeDays: 14maxAgeDays: 30limit: 10β οΈ The following files are NEVER generated (source-verified):
memory/dreaming/deep/YYYY-MM-DD.mdmemory/dreaming/light/YYYY-MM-DD.mdmemory/dreaming/rem/YYYY-MM-DD.mdTrigger:
0 13 * * * (user-defined cron), sessionTarget="isolated"
Nature: User-written AI agent prompt, not an OpenClaw native mechanism
Responsibilities:
memory/dreaming/verify/YYYY-MM-DD.mdβ οΈ Note: Verification reports' "supplementary promotion suggestions" are text only and won't automatically write to MEMORY.md. Manual promotion required.
| Dimension | Framework | Mechanism | Purpose |
|---|---|---|---|
| Temporal (how long) | Atkinson-Shiffrin 3-stage model | Dream (memory-core) Deep phase | Decay β what to keep vs. prune |
| Content (where) | 4-type taxonomy | Refinement 13:00 + agent proactive writes | Storage β where to put for retrieval |
| Stage | Human Equivalent | Implementation | TTL | Action |
|---|---|---|---|---|
| Sensory | ~0.25 sec perception | Current input context | Instant | Filter immediately |
| Short-term | Recent | Model context window 10 turns | 10 turns | Pass through working filters |
| Working | Recent ~7 days | memory/YYYY-MM-DD.md + Active Memory | 7 days | Extract signal β promote or decay |
| Long-term | Permanent | MEMORY.md (index) + classified files | Permanent | Periodic review, prune when stale |
Written by: agent proactively during conversation (not automatic)
| Type | Directory | Content Example | When to Write |
|---|---|---|---|
| user | memory/user/ | User profile (role, preferences, knowledge, goals) | When learning user preferences/profile |
| feedback | memory/feedback/ | Lessons (corrections, confirmations, style) | When user corrects or confirms |
| project | memory/project/ | Project decisions/reasoning (raw material) | When project has new progress/decision |
| reference | memory/reference/ | External resources (links, tools, locations) | When discovering new tools/resources |
Important: Project execution state tracking (blockers, needs, progress) β write directly to
(strategy layer); only project experience, decision reasoning, retrospective summaries β sublimate toknowledge/project-tracker.md(classified memory layer)memory/project/
git log is the authoritative source)todos.md instead)MEMORY.md is the index of long-term memories only, never content. Format:
- [Title](path) β one-line description (<150 chars)
Every classified memory file must have frontmatter:
--- name: Memory name description: One-line description (used to judge relevance) type: user|feedback|project|reference created: YYYY-MM-DD ---Rule / Fact
(the content)
Why
(reason / motivation)
How to apply
(when and how to use this memory)
Memories can become stale. Rules:
Not all mature memories should decay. Some evolve into knowledge.
| Trigger | Detection Signal | Result |
|---|---|---|
| Project complete | All tasks marked done, 3+ related project memories | Merge into |
| Project state tracking | New progress/blockers/resource needs | Update directly (skip sublimation) |
| Feedback patterns | 3+ related feedback entries (e.g., all about reply style) | Merge into |
| User depth | User memory accumulates role, preferences, habits over time | Expand to |
| Periodic review | Dream detects high density of related memories in one category | Suggest: "Found 5 related feedback entries β merge into knowledge?" |
1. Sensory: Read current input 2. Short-term: Last 10 turns from context window 3. Working: Read memory/today.md + memory/yesterday.md 4. Long-term: Read MEMORY.md index
Note: Active Memory runs before the above (in before_prompt_build hook)
- New info β write to working memory (today's daily log) - Learned something worth remembering β update MEMORY.md index + save classified file - User preference β update USER.md + memory/user/ - Task/priority change β update todos.md - Need to retrieve β find in MEMORY.md index β read classified file
- Summarize β write to memory/today.md (working memory) - Identify items for long-term β update classified files - Update MEMORY.md index - Mark items for Dream review (decay candidates)
workspace/ βββ MEMORY.md # long-term memory index (written by Dream Deep phase) βββ USER.md # user info βββ SOUL.md # AI identity βββ todos.md # β Execution layer: today's tasks + long-term tracking (user-facing) βββ HEARTBEAT.md # daily reminders βββ memory/ β βββ memory-types.md # this file (or link to SKILL.md) β βββ user/ # long-term user memories (written by agent) β βββ feedback/ # long-term feedback (written by agent) β βββ project/ # long-term project memories (written by agent, post-sublimate) β βββ reference/ # long-term references (written by agent) β βββ palace/ # Memory Palace views β β βββ timeline.md β β βββ projects.md β β βββ technology.md β β βββ custom.md β βββ dreaming/ β β βββ verify/ # Verification reports (written by Refinement 13:00) β βββ .dreams/ # Internal machine data (NOT human-readable) β β βββ phase-signals.json # Deep phase scoring signals β β βββ events.jsonl # memory_search event log β β βββ session-ingestion.json # session-corpus metadata β β βββ short-term-recall.json # Active Memory recall index β βββ YYYY-MM-DD.md # working memory (daily logs) βββ knowledge/ # β Strategy layer (project blockers/progress/resources/suggestions) βββ project-tracker.md # Project panorama, user-facing
Each layer has its own purpose, no duplication.
User provides important info:
User: "I'm a data analyst, mostly working with Python" β Working: log in today's daily log β Long-term: save to
, update MEMORY.md indexmemory/user/user-profile.md
User corrects you:
User: "Don't use Markdown tables, use lists" β Working: log in today's daily log β Long-term: save to
, update MEMORY.md indexmemory/feedback/no-tables.md
Project decision:
Decision: approach A over B because lower cost β Working: log decision context β Long-term: save to
with reasoningmemory/project/decision.md
Looking up a past date:
User: "What did we do last Tuesday?" β Active Memory auto-recalls β read
for that datememory/YYYY-MM-DD.md
# Check Active Memory status openclaw plugins list | grep active-memoryCheck Dream status
openclaw dreaming status
Toggle Dream on/off
openclaw dreaming on openclaw dreaming off
Manually trigger Dream Consolidation
openclaw memory dream
| Version | Changes |
|---|---|
| v4.13 | Dual-layer structure established (2026-04-18): Added three-layer principle (todos execution + knowledge strategy + memory classified); removed ongoing-projects.md, replaced with knowledge/project-tracker.md for strategic view; updated Workspace Structure and Sublimation description |
| v4.12b | Source-verified major correction (2026-04-17): Clarified three-mechanism division (Active Memory trigger/read-only, Dream Deepε―δΈεMEMORY.md, Refinement as user-defined cron); corrected Deep/Light/REM phase descriptions; removed non-existent file references; updated Active Memory source-level description |
| v4.12 | Dual-Layer Dream Verification: Official Dream (12:30) + Refined Verify (13:00) cross-checking. Verification reports in memory/dreaming/verify/. Hallucination and drift prevention. |
| v4.11 | Full integration with OpenClaw 4.11 ecosystem, Active Memory + Memory Palace + Dream Consolidation |
| v3.2 | Memory sublimation system, 5-phase consolidation |
| v2.2 | Memory-Knowledge layering + Atkinson-Shiffrin integration |
| v1.0 | Initial release β Atkinson-Shiffrin three-stage model |
Version: v4.13 | Updated: 2026-04-18 | Three layers: todos execution + knowledge strategy + memory classified
No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
Β© 2026 Torly.ai. All rights reserved.