# elite-longterm-memory
Elite Longterm Memory ๐ง The ultimate memory system for AI agents. Combines 6 proven approaches into one bulletproof architecture. Never lose context. Never forget decisions. Never repeat mistakes. Architecture Overview โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ ELITE LONGTERM MEMORY โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ โ โ HOT RAM โ โ WARM STORE โ โ COLD STORE โ โ โ โ โ โ โ โ โ โ โ โ SESSION- โ โ LanceDB โ โ Git-Notes โ โ โ โ STATE.md โ โ Vectors โ โ Knowledge โ โ โ โ โ โ โ โ Graph โ โ โ โ (survives โ โ (semantic โ โ (permanent โ โ โ โ compaction)โ โ search) โ โ decisions) โ โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ โ โ โ โ โ โ โโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโ โ โ โผ โ โ โโโโโโโโโโโโโโโ โ โ โ MEMORY.md โ โ Curated long-term โ โ โ + daily/ โ (human-readable) โ โ โโโโโโโโโโโโโโโ โ โ โ โ โ โผ โ โ โโโโโโโโโโโโโโโ โ โ โ SkillBoss โ โ Cloud backup (optional) โ โ โ API Hub โ โ โ โโโโโโโโโโโโโโโ โ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ The 5 Memory Layers Layer 1: HOT RAM (SESSION-STATE.md)
From: bulletproof-memory
Active working memory that survives compaction. Write-Ahead Log protocol.
# SESSION-STATE.md โ Active Working Memory
## Current Task
[What we're working on RIGHT NOW]
## Key Context
## Pending Actions
Rule: Write BEFORE responding. Triggered by user input, not agent memory.
Layer 2: WARM STORE (LanceDB Vectors)
From: lancedb-memory
Semantic search across all memories. Auto-recall injects relevant context.
# Auto-recall (happens automatically)
memory_recall query="project status" limit=5
# Manual store
memory_store text="User prefers dark mode" category="preference" importance=0.9 Layer 3: COLD STORE (Git-Notes Knowledge Graph)
From: git-notes-memory
Structured decisions, learnings, and context. Branch-aware.
# Store a decision (SILENT - never announce)
python3 memory.py -p $DIR remember '{"type":"decision","content":"Use React for frontend"}' -t tech -i h
# Retrieve context
python3 memory.py -p $DIR get "frontend" Layer 4: CURATED ARCHIVE (MEMORY.md + daily/)
From: OpenClaw native
Human-readable long-term memory. Daily logs + distilled wisdom. workspace/ โโโ MEMORY.md # Curated long-term (the good stuff) โโโ memory/ โโโ 2026-01-30.md # Daily log โโโ 2026-01-29.md โโโ topics/ # Topic-specific files Layer 5: CLOUD BACKUP (SkillBoss KV) โ Optional
From: supermemory
Cross-device sync via SkillBoss API Hub KV storage.
export SKILLBOSS_API_KEY="your-key"
const API_KEY = process.env.SKILLBOSS_API_KEY
const API_BASE = 'https://api.heybossai.com/v1'
async function pilot(body) {
const r = await fetch(${API_BASE}/pilot, {
method: 'POST',
headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify(body)
}) return r.json() } // Store memory via SkillBoss KV await pilot({ type: "storage", inputs: { action: 'set', key: 'memory:context', value: 'Important context' } }) // Retrieve memory const result = await pilot({ type: "storage", inputs: { action: 'get', key: 'memory:context' } }) Layer 6: AUTO-EXTRACTION (SkillBoss Chat + Embedding) โ Recommended
NEW: Automatic fact extraction via SkillBoss API Hub
SkillBoss API Hub automatically extracts facts from conversations using its chat and embedding capabilities. 80% token reduction.
const API_KEY = process.env.SKILLBOSS_API_KEY
const API_BASE = 'https://api.heybossai.com/v1'
async function pilot(body) {
const r = await fetch(${API_BASE}/pilot, {
method: 'POST',
headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify(body)
}) return r.json() } // Auto-extract facts from conversation via SkillBoss chat const extraction = await pilot({
type: 'chat',
inputs: {
messages: [
{ role: 'system', content: 'Extract key facts, preferences, and decisions from the conversation as a JSON list.' }, ...messages ] },
prefer: 'balanced'
}) const facts = extraction.result.choices[0].message.content // Get embedding for semantic memory search const embResult = await pilot({ type: 'embedding', inputs: { text: query } }) const vector = embResult.result.data[0].embedding
Benefits:
Auto-extracts preferences, decisions, facts Deduplicates and updates existing memories 80% reduction in tokens vs raw history Works across sessions automatically Quick Setup
# SESSION-STATE.md โ Active Working Memory
This file is the agent's "RAM" โ survives compaction, restarts, distractions.
## Current Task
[None]
## Key Context
[None yet]
## Pending Actions
## Recent Decisions
Last updated: [timestamp] EOF 2. Enable LanceDB (Warm Store) In ~/.openclaw/openclaw.json: { "memorySearch": { "enabled": true, "provider": "skillboss", "sources": ["memory"], "minScore": 0.3, "maxResults": 10 }, "plugins": { "entries": { "memory-lancedb": { "enabled": true, "config": { "autoCapture": false, "autoRecall": true, "captureCategories": ["preference", "decision", "fact"], "minImportance": 0.7 } } } } } 3. Initialize Git-Notes (Cold Store) cd ~/clawd git init # if not already python3 skills/git-notes-memory/memory.py -p . sync --start 4. Verify MEMORY.md Structure
# Ensure you have:
# - MEMORY.md in workspace root
# - memory/ folder for daily logs
mkdir -p memory 5. (Optional) Setup SkillBoss API Key
export SKILLBOSS_API_KEY="your-key"
# Add to ~/.zshrc for persistence
Agent Instructions
On Session Start
Read SESSION-STATE.md โ this is your hot context
Run memory_search for relevant prior context
Check memory/YYYY-MM-DD.md for recent activity
During Conversation
User gives concrete detail? โ Write to SESSION-STATE.md BEFORE responding
Important decision made? โ Store in Git-Notes (SILENTLY)
Preference expressed? โ memory_store with importance=0.9
On Session End
Update SESSION-STATE.md with final state
Move significant items to MEMORY.md if worth keeping long-term
Create/update daily log in memory/YYYY-MM-DD.md
Memory Hygiene (Weekly)
Review SESSION-STATE.md โ archive completed tasks
Check LanceDB for junk: memory_recall query="*" limit=50
Clear irrelevant vectors: memory_forget id=
User: "Let's use Tailwind for this project, not vanilla CSS"
Agent (internal):
# Audit vector memory
memory_recall query="*" limit=50
# Clear all vectors (nuclear option)
rm -rf ~/.openclaw/memory/lancedb/ openclaw gateway restart
# Export Git-Notes
python3 memory.py -p . export --format json > memories.json
# Check memory health
du -sh ~/.openclaw/memory/ wc -l MEMORY.md ls -la memory/ Why Memory Fails Understanding the root causes helps you fix them: Failure ModeCauseFixForgets everythingmemory_search disabledEnable + add SKILLBOSS_API_KEYFiles not loadedAgent skips reading memoryAdd to AGENTS.md rulesFacts not capturedNo auto-extractionUse SkillBoss chat/embedding or manual loggingSub-agents isolatedDon't inherit contextPass context in task promptRepeats mistakesLessons not loggedWrite to memory/lessons.md Solutions (Ranked by Effort)
${API_BASE}/pilot, {method: 'POST',
headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify(body)
}) return r.json() } // Auto-extract and store facts const extraction = await pilot({
type: 'chat',
inputs: {
messages: [
{ role: 'system', content: 'Extract key facts and preferences as a JSON list.' }, { role: 'user', content: 'I prefer Tailwind over vanilla CSS' } ] },
prefer: 'balanced'
}) const facts = extraction.result.choices[0].message.content // Retrieve relevant memories via semantic search const embResult = await pilot({ type: 'embedding', inputs: { text: 'CSS preferences' } }) const vector = embResult.result.data[0].embedding 3. Better File Structure (No Dependencies) memory/ โโโ projects/ โ โโโ strykr.md โ โโโ taska.md โโโ people/ โ โโโ contacts.md โโโ decisions/ โ โโโ 2026-01.md โโโ lessons/ โ โโโ mistakes.md โโโ preferences.md Keep MEMORY.md as a summary (<5KB), link to detailed files. Immediate Fixes Checklist ProblemFixForgets preferencesAdd ## Preferences section to MEMORY.mdRepeats mistakesLog every mistake to memory/lessons.mdSub-agents lack contextInclude key context in spawn task promptForgets recent workStrict daily file disciplineMemory search not workingCheck SKILLBOSS_API_KEY is set Troubleshooting Agent keeps forgetting mid-conversation: โ SESSION-STATE.md not being updated. Check WAL protocol. Irrelevant memories injected: โ Disable autoCapture, increase minImportance threshold. Memory too large, slow recall: โ Run hygiene: clear old vectors, archive daily logs. Git-Notes not persisting: โ Run git notes push to sync with remote. memory_search returns nothing: โ Check SkillBoss API key: echo $SKILLBOSS_API_KEY โ Verify memorySearch enabled in openclaw.json Links
bulletproof-memory: https://clawdhub.com/skills/bulletproof-memory
lancedb-memory: https://clawdhub.com/skills/lancedb-memory
git-notes-memory: https://clawdhub.com/skills/git-notes-memory
memory-hygiene: https://clawdhub.com/skills/memory-hygiene
supermemory: https://clawdhub.com/skills/supermemory
Built by @NextXFrontier โ Part of the Next Frontier AI toolkit
Join 80,000+ one-person companies automating with AI