| name | brain-cms |
| description | Continuum Memory System (CMS) for OpenClaw agents. Replaces flat MEMORY.md with a brain-inspired multi-layer memory architecture — semantic schemas, a hippocampal router (INDEX.md), vector store (LanceDB + nomic-embed-text), and automated NREM/REM sleep cycles for consolidation. Based on neuroscience research (LTP, spreading activation, CMS theory). Use when setting up persistent agent memory, improving context efficiency, or reducing token cost on long-running agents. Triggers: brain, memory system, CMS, long-term memory, vector store, sleep cycle, NREM, REM, memory architecture, semantic memory, context efficiency. |
Brain CMS 🧠
A neuroscience-inspired memory architecture for OpenClaw agents.
Replaces flat file injection with sparse, semantic, frequency-gated memory loading.
What This Installs
memory/
├── INDEX.md ← Hippocampus: topic router + cross-links
├── ANCHORS.md ← Permanent high-significance event store
└── schemas/ ← Domain-specific semantic schemas (you create these)
memory_brain/
├── index_memory.py ← Embeds schemas into LanceDB vector store
├── query_memory.py ← Semantic similarity search
├── nrem.py ← NREM sleep cycle (compression + anchor promotion)
├── rem.py ← REM sleep cycle (LLM consolidation via Ollama)
└── vectorstore/ ← LanceDB database (auto-created)
Setup (one-time)
python3 ~/.openclaw/workspace/skills/brain-cms/install.py
cd ~/.openclaw/workspace/memory_brain
.venv/bin/python3 index_memory.py
.venv/bin/python3 query_memory.py "your topic here" --sources-only
How It Works
Boot sequence: Load MEMORY.md (lean core) + today's daily log. Nothing else.
When a topic appears: Read memory/INDEX.md → load only the relevant schemas (spreading activation). Check memory/ANCHORS.md for high-significance events.
For ambiguous topics: Run semantic search:
memory_brain/.venv/bin/python3 memory_brain/query_memory.py "message text" --sources-only
Auto-schema creation: When a new significant project or domain appears:
- Create
memory/<topic>.md
- Add to INDEX.md with triggers + priority + cross-links
- Re-index:
memory_brain/.venv/bin/python3 memory_brain/index_memory.py
Sleep cycles:
cd ~/.openclaw/workspace/memory_brain && .venv/bin/python3 nrem.py
cd ~/.openclaw/workspace/memory_brain && .venv/bin/python3 rem.py
Memory Layers (CMS)
| Layer | Files | When loaded | Purpose |
|---|
| Working | MEMORY.md + today log | Every session | Core context |
| Episodic | memory/YYYY-MM-DD.md | Session boot | Recent events |
| Semantic | memory/*.md schemas | On trigger | Domain knowledge |
| Anchors | memory/ANCHORS.md | On CRITICAL topics | Permanent ground truth |
| Vector | memory_brain/vectorstore/ | On demand | Semantic search |
Tagging Anchors
In any daily log, tag high-significance events:
[ANCHOR] Major demo success — full pipeline working end-to-end
NREM auto-promotes these to ANCHORS.md on next shutdown.
Token Savings
Typical MEMORY.md: 150-300 lines injected every session.
With Brain CMS: ~50-line core + schemas loaded only when relevant.
Estimated savings: 40-60% reduction in context tokens per session.
Requirements
- Python 3.10+
- Ollama (for embeddings + REM consolidation)
- 500MB+ storage for vector store and models
lancedb, numpy, pyarrow, requests (auto-installed)