OpenClaw-Mem0 Plugin Adds Persistent Memory Outside Context Window

The openclaw-mem0 plugin addresses OpenClaw's default memory limitations by storing memories outside the context window, making them immune to context compaction, token limits, and session restarts.
The Memory Problem in OpenClaw
OpenClaw agents are stateless between sessions, with default memory stored in files that must be explicitly loaded. Context compaction summarizes older context to save tokens, causing injected memory to become lossy - large memory files and learned facts get compressed, rewritten, or dropped without warning.
Community workarounds like comprehensive MEMORY.md files, local BM25 + vector search engines, and SQLite-backed session logs all share the same limitation: they store memory inside the context window, making them vulnerable to compaction or session restarts.
How the Plugin Works
The plugin runs two processes on every conversation turn:
- Auto-Recall: Searches Mem0 for relevant memories before the agent responds, injecting matching context (preferences, past decisions, project details) into the working context every turn
- Auto-Capture: Sends each exchange to Mem0 after the agent responds, with Mem0's extraction layer determining what's worth persisting - new facts get stored, outdated ones updated, duplicates merged
Both processes are enabled by default on install.
Memory Structure
The plugin separates memory into two scopes:
- Long-term memories: User-scoped, persist across all sessions (name, tech stack, project structure, decisions)
- Short-term memories: Session-scoped, track active work without polluting long-term store
Both scopes are searched during every recall, with long-term memories surfaced first.
The agent gets five tools for explicit memory management:
memory_search- semantic queries across all memoriesmemory_store- explicitly save a specific factmemory_list- view all stored memoriesmemory_get- retrieve a specific memory by IDmemory_forget- delete memories (GDPR-compliant)
Setup Options
Cloud setup (easiest):
openclaw plugins install @mem0/openclaw-mem0Get an API key from app.mem0.ai, then add to openclaw.json:
{
"openclaw-mem0": {
"enabled": true,
"config": {
"apiKey": "${MEM0_API_KEY}",
"userId": "your-user-id"
}
}
}Fully local, fully private (self-hosted):
Set "mode": "open-source" and bring your own stack:
{
"openclaw-mem0": {
"enabled": true,
"config": {
"mode": "open-source",
"userId": "your-user-id",
"oss": {
"embedder": {
"provider": "ollama",
"config": {
"model": "nomic-embed-text"
}
},
"vectorStore": {
"provider": "qdrant",
"config": {
"host": "localhost",
"port": 6333
}
}
}
}
}
}📖 Read the full source: r/openclaw
👀 See Also

GrapeRoot MCP Tool Reduces Claude Code Token Usage by 50-70%
A developer built GrapeRoot, an MCP tool using Claude Code, that tracks explored files and avoids re-reading unchanged content, reducing token usage by 50-70% and making $20 Claude Code plans last 2-3× longer.

Natural Language Autoencoders: Turning Claude's Internal Representations into Text
Transformer Circuits Thread publishes Natural Language Autoencoders that decode Claude's internal activations into readable text. GitHub repo and interactive demo available.

Claude Code Prompt Architecture Reverse-Engineered for Local Models
A clean-room reimplementation of Claude Code's 26-prompt architecture is now available on GitHub, offering system prompts, tool prompts, safety rules, memory compression, and verification patterns for building coding agents on local models like Ollama, llama.cpp, or vLLM.

Claude Code Prompt Improver v0.5.3: Plan Mode Refactor and Subagent-First Research
v0.5.3 adds a PreToolUse hook for plan mode readability (clean rewrites, no decision history) and moves vague prompt research to Task/Explore subagents on Haiku to save main-context tokens. The plugin now works on Windows and has 1.4K+ GitHub stars.