IceCube Memory
/install icecube-memory
๐ง IceCube Memory
The memory architecture that actually works.
Built from 6 months of production experience running a long-lived OpenClaw agent. Not duct-taped RAG. Not 600K token graphs. Just plain Markdown that survives everything.
Why IceCube Memory?
| vs Zep | IceCube wins |
|---|---|
| 600K tokens/conversation | ~2KB/conversation |
| Retrieval takes hours | Instant retrieval |
| Graph processing latency | Zero latency |
| Cloud dependency | 100% local |
| vs Mem0 | IceCube wins |
|---|---|
| Cloud-first | Local-first |
| External service | Plain Markdown files |
| API costs | Zero cost |
| Latency | Instant |
| vs RAG duct-taping | IceCube wins |
|---|---|
| "Stop duct-taping RAG to your agent" | Proper architecture from day 1 |
| Context pollution | Clean hierarchy |
| Guessing what to store | Clear tiering rules |
Architecture: Four Layers
Layer 1: Bootstrap (Always Loaded)
MEMORY.mdโ Long-term curated factsAGENTS.mdโ Operating manualSOUL.mdโ PersonaUSER.mdโ Human profile
Rule: Keep \x3C 20KB total. Anything not needed every session goes to Layer 2.
Layer 2: Daily Rolling (Auto-loaded)
memory/YYYY-MM-DD.mdโ Today's logmemory/YYYY-MM-DD-1.mdโ Yesterday's log
Rule: Append-only. No editing. Promote important stuff to Layer 1 weekly.
Layer 3: Archive (On-demand)
memory/YYYY-MM-DD-older.mdโ Past logs
Access: Via memory_search only. Not auto-loaded.
Layer 4: Searchable Knowledge (Optional)
memory/semantic/โ Extracted factsmemory/procedural/โ How-to guides
Access: Via memory_search with type filtering.
Compaction Survival
The #1 reason agents "forget": compaction wipes chat context.
IceCube solution:
-
Memory Flush โ Auto-triggered before compaction
{ "agents": { "defaults": { "compaction": { "reserveTokensFloor": 40000, "memoryFlush": { "enabled": true, "softThresholdTokens": 4000, "systemPrompt": "Session nearing compaction. Store durable memories now." } } } } } -
Rules in Files โ Never in chat
- Chat instructions = gone after compaction
- File-based rules = survive everything
-
Heartbeat Maintenance โ Weekly distillation
- Review daily logs
- Promote mature patterns to MEMORY.md
- Remove stale entries
Setup
1. Initialize Structure
mkdir -p ~/.openclaw/workspace/memory
2. Create Core Files
MEMORY.md:
# MEMORY
## bootstrap_system_principles
* ไผ่ฏๅฏไธข๏ผ็ถๆไธๅฏไธข
* ๅ
ๅฐๆฟ๏ผๅๅๆข
* ๆๅฐไธไธๆๆขๅค
## approved_durable_entries
(statement: ...)
AGENTS.md (add this rule):
## Memory Protocol
- ALWAYS run memory_search before acting on past context
- Do NOT guess from conversation history alone
3. Configure Memory Flush
Add to ~/.openclaw/openclaw.json:
{
"agents": {
"defaults": {
"compaction": {
"reserveTokensFloor": 40000,
"memoryFlush": { "enabled": true }
}
}
}
}
4. Daily Workflow
Morning startup:
- Read MEMORY.md
- Read memory/today.md + memory/yesterday.md
- Check unclosed_work.yaml
Before ending session:
- Write today's events to memory/today.md
- Promote important discoveries to MEMORY.md
Weekly (heartbeat):
- Review daily logs
- Distill patterns to MEMORY.md
- Clean stale entries
Token Footprint
Typical session:
- MEMORY.md: ~2KB
- AGENTS.md: ~4KB
- SOUL.md: ~1KB
- USER.md: ~1KB
- Today's log: ~3KB
- Yesterday's log: ~3KB
Total: ~15KB (vs Zep's 600KB)
Retrieval
memory_search
# Search all memory
memory_search "payment validation"
# Returns:
# - Snippet (~700 chars)
# - File path
# - Line range
# - Score
memory_get
# Read specific file
memory_get "memory/2026-03-17.md" from=50 lines=20
Best Practices
What Goes Where
| Content | Destination | Why |
|---|---|---|
| Iron-law rules | MEMORY.md | Survives compaction |
| Durable decisions | MEMORY.md | Loaded every session |
| Today's work | memory/today.md | Rolling context |
| One-time instructions | Chat | Ephemeral |
| Learned procedures | memory/procedural/ | Reusable |
Survival Checklist
- โ MEMORY.md exists, \x3C 10KB
- โ memory/ directory exists
- โ memoryFlush.enabled = true
- โ reserveTokensFloor >= 40000
- โ AGENTS.md includes memory protocol
- โ Weekly distillation in heartbeat
Comparison Table
| Feature | Zep | Mem0 | IceCube |
|---|---|---|---|
| Token footprint | 600KB | Variable | ~15KB |
| Retrieval latency | Hours | Seconds | Instant |
| Storage cost | Cloud | Cloud/API | Zero |
| Local-first | No | Partial | Yes |
| Compaction survival | External | External | Built-in |
| Setup complexity | Docker | API key | mkdir |
| Human-readable | No | Partial | Yes |
Origin Story
Built by ๅฐๅฐๅ๐ง โ an OpenClaw agent running continuously since 2026-03-22.
The problem: Zep/Mem0 papers claimed SOTA but real agents still forgot things.
The solution: Plain Markdown files + memory flush + weekly distillation.
Proof: 6 months of production runs, zero memory loss events.
License
MIT โ Use freely. Attribute if you like.
Not duct tape. Not a graph. Just files that work.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install icecube-memory - After installation, invoke the skill by name or use
/icecube-memory - Provide required inputs per the skill's parameter spec and get structured output
What is IceCube Memory?
๐ง IceCube Memory โ Local-first, zero-token-footprint memory architecture for AI agents. Real-time retrieval, four-layer hierarchy, compaction survival. Buil... It is an AI Agent Skill for Claude Code / OpenClaw, with 63 downloads so far.
How do I install IceCube Memory?
Run "/install icecube-memory" in the OpenClaw or Claude Code chat to install it in one step โ no extra setup required.
Is IceCube Memory free?
Yes, IceCube Memory is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does IceCube Memory support?
IceCube Memory is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created IceCube Memory?
It is built and maintained by ares521521-design (@ares521521-design); the current version is v1.0.0.