← 返回
AI智能 中文

🧠 Memory Never Forget 🧠

Memory system v4.13: Dual-layer structure (todos for execution + knowledge for strategy) with Dream/Refinement memory mechanisms.
记忆系统 v4.13:双层结构(待办用于执行,知识用于策略),并具备 Dream/Refinement 记忆机制。
jujitao
AI智能 clawhub v4.1.3 3 版本 99413.6 Key: 无需
★ 6
Stars
📥 4,457
下载
💾 88
安装
3
版本
#ai#assistant#atkinson-shiffrin#brain#claude code#context#latest#memory#openclaw#productivity#three-stage-memory

概述

🧠 Memory Never Forget v4.13

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


Overview

This skill manages memory across two orthogonal dimensions:

  1. Temporal (Atkinson-Shiffrin 3-stage model) — what to keep vs. what to prune
  2. Content (4-type taxonomy) — where to store for fast retrieval

Three independent mechanisms work together:

MechanismTriggerWrite to disk?Purpose
------------
Active MemoryEvery reply (before_prompt_build)❌ Read-onlyReal-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)✅ WriteableVerify Dream results, fill gaps

> ⚠️ v4.12b source-verified correction (2026-04-17): Clarified actual division of three mechanisms


Core Components

1. Active Memory — Proactive Recall (Source-Verified)

Trigger mechanism:

  • Hooked to before_prompt_build, auto-triggers before every reply
  • Spawns a read-only sub-agent with only memory_search + memory_get permissions
  • Builds query from current user message, searches recall index (memory/.dreams/short-term-recall.json)
  • Searched summaries are prepended to prompt before model generates reply
  • Results cached 15 seconds (cacheTtlMs) to avoid repeated recall in same turn

Key constraints:

  • ❌ Read-only, produces no files
  • ❌ Cannot call other tools
  • Only affects current conversation context, not persisted

Configuration (openclaw.jsonplugins.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
}

2. Memory Palace — Structured Views

Provides multi-dimensional views of your agent's long-term memory:

  • Timeline — chronological view of work progress
  • Projects — aggregated by project
  • Technology — organized by tech domain
  • Custom — user-defined dimensions

3. Dream (memory-core) — Temporal Layering (Source-Verified)

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."

PhaseOutputWrites files?Description
------------
LightDream Diary prose entries→ DREAMS.mdOrganize session-corpus, 4 parallel sessions
REMTheme reflections→ DREAMS.mdExtract recurring themes
Deep6-dimensional weighted scoring signals✅ → MEMORY.mdOnly 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: 3
  • minUniqueQueries: 3
  • recencyHalfLifeDays: 14
  • maxAgeDays: 30
  • limit: 10

⚠️ The following files are NEVER generated (source-verified):

  • memory/dreaming/deep/YYYY-MM-DD.md
  • memory/dreaming/light/YYYY-MM-DD.md
  • memory/dreaming/rem/YYYY-MM-DD.md

4. Refinement (User-Defined Cron) — Content Classification

Trigger: 0 13 * (user-defined cron), sessionTarget="isolated"

Nature: User-written AI agent prompt, not an OpenClaw native mechanism

Responsibilities:

  • Read Dream outputs (DREAMS.md, session-corpus)
  • Verify conflicts, hallucinations, outdated entries
  • Classify new memories into 4 categories (user/feedback/project/reference)
  • Write verification report to 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.


Two Orthogonal Dimensions

DimensionFrameworkMechanismPurpose
------------
Temporal (how long)Atkinson-Shiffrin 3-stage modelDream (memory-core) Deep phaseDecay — what to keep vs. prune
Content (where)4-type taxonomyRefinement 13:00 + agent proactive writesStorage — where to put for retrieval

Dimension 1: Temporal Layering

StageHuman EquivalentImplementationTTLAction
---------------
Sensory~0.25 sec perceptionCurrent input contextInstantFilter immediately
Short-termRecentModel context window 10 turns10 turnsPass through working filters
WorkingRecent ~7 daysmemory/YYYY-MM-DD.md + Active Memory7 daysExtract signal → promote or decay
Long-termPermanentMEMORY.md (index) + classified filesPermanentPeriodic review, prune when stale

Dimension 2: Content Classification (4 Types)

Written by: agent proactively during conversation (not automatic)

TypeDirectoryContent ExampleWhen to Write
------------
usermemory/user/User profile (role, preferences, knowledge, goals)When learning user preferences/profile
feedbackmemory/feedback/Lessons (corrections, confirmations, style)When user corrects or confirms
projectmemory/project/Project decisions/reasoning (raw material)When project has new progress/decision
referencememory/reference/External resources (links, tools, locations)When discovering new tools/resources

> Important: Project execution state tracking (blockers, needs, progress) → write directly to knowledge/project-tracker.md (strategy layer); only project experience, decision reasoning, retrospective summaries → sublimate to memory/project/ (classified memory layer)


What to Save / What NOT to Save

✅ Save

  • User's role, preferences, responsibilities, knowledge
  • User corrections ("not like that", "should be this way")
  • User confirmations ("yes exactly", "perfect, keep that")
  • Project decisions and the reasoning (not just what, but why)
  • New tools, links, resources
  • External system locations and their purpose

❌ Don't Save

  • ❌ Code patterns, architecture, file paths (derivable from codebase)
  • ❌ Git history (git log is the authoritative source)
  • ❌ Debugging solutions (the fix is in the code)
  • ❌ Anything already documented elsewhere
  • ❌ Ephemeral task state (write to todos.md instead)
  • ❌ Raw conversation content

MEMORY.md = Long-Term Index Only

MEMORY.md is the index of long-term memories only, never content. Format:

- [Title](path) — one-line description (<150 chars)

Memory File Format

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)

Memory Drift Caveat

Memories can become stale. Rules:

  1. Verify first: When referencing a file, function, or path — check it still exists
  2. Trust current state: If memory conflicts with current observation, trust what you see now
  3. Update or delete: When a memory is outdated, fix or remove it immediately
  4. Absolute dates: Convert relative dates ("yesterday", "last week") to absolute dates

Memory → Knowledge Sublimation

Not all mature memories should decay. Some evolve into knowledge.

When to Sublimate

TriggerDetection SignalResult
----------------------------------
Project completeAll tasks marked done, 3+ related project memoriesMerge into knowledge/project-postmortem.md
Project state trackingNew progress/blockers/resource needsUpdate knowledge/project-tracker.md directly (skip sublimation)
Feedback patterns3+ related feedback entries (e.g., all about reply style)Merge into knowledge/user-work-style-guide.md
User depthUser memory accumulates role, preferences, habits over timeExpand to knowledge/user-playbook.md
Periodic reviewDream detects high density of related memories in one categorySuggest: "Found 5 related feedback entries → merge into knowledge?"

Session Lifecycle

Session Start

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)

During Conversation

- 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

Session End

- 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 Structure

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

Three-Layer Principle

  • todos.md = Execution layer: what to do today, tracking each node (user-maintained)
  • knowledge/ = Strategy layer: where projects are stuck, what resources needed, suggestions
  • memory/ = Classified memory layer: experience distillation, decision retrospectives, pattern discovery

Each layer has its own purpose, no duplication.


Example Interactions

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 memory/user/user-profile.md, update MEMORY.md index

User corrects you:

> User: "Don't use Markdown tables, use lists"

→ Working: log in today's daily log

→ Long-term: save to memory/feedback/no-tables.md, update MEMORY.md index

Project decision:

> Decision: approach A over B because lower cost

→ Working: log decision context

→ Long-term: save to memory/project/decision.md with reasoning

Looking up a past date:

> User: "What did we do last Tuesday?"

→ Active Memory auto-recalls → read memory/YYYY-MM-DD.md for that date


OpenClaw Commands

# Check Active Memory status
openclaw plugins list | grep active-memory

# Check Dream status
openclaw dreaming status

# Toggle Dream on/off
openclaw dreaming on
openclaw dreaming off

# Manually trigger Dream Consolidation
openclaw memory dream

Changelog

VersionChanges
------
v4.13Dual-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.12bSource-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.12Dual-Layer Dream Verification: Official Dream (12:30) + Refined Verify (13:00) cross-checking. Verification reports in memory/dreaming/verify/. Hallucination and drift prevention.
v4.11Full integration with OpenClaw 4.11 ecosystem, Active Memory + Memory Palace + Dream Consolidation
v3.2Memory sublimation system, 5-phase consolidation
v2.2Memory-Knowledge layering + Atkinson-Shiffrin integration
v1.0Initial release — Atkinson-Shiffrin three-stage model

Version: v4.13 | Updated: 2026-04-18 | Three layers: todos execution + knowledge strategy + memory classified

版本历史

共 3 个版本

  • v4.1.3 当前
    2026-04-30 07:20 安全 安全
  • v2.0.0
    2026-03-28 22:29 安全 安全
  • v1.0.0
    2026-03-26 21:40

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-intelligence

self-improving agent

pskoett
捕获经验教训、错误和纠正,以实现持续改进。使用时机:(1)命令或操作意外失败;(2)用户纠正……
★ 4,055 📥 796,000
ai-intelligence

ontology

oswalpalash
类型化知识图谱,用于结构化智能体记忆与可组合技能。支持创建/查询实体(人员、项目、任务、事件、文档)及关联...
★ 709 📥 243,531

InStreet gomoku AI

jujitao
InStreet五子棋AI。在InStreet桌游室进行五子棋对局时,自动计算最佳落子并提交。支持威胁检测,优先防守对手的活三/冲四。
★ 0 📥 640