Install
openclaw skills install openclaw-token-memory-optimizerOptimization suite for OpenClaw agents to prevent token leaks and context bloat. Use when an agent needs to implement background task isolation (Cron) or a Reset & Summarize workflow (RAG).
openclaw skills install openclaw-token-memory-optimizerThis skill provides the procedural knowledge to keep your OpenClaw instance lean and efficient.
| Problem | Solution |
|---|---|
| Background tasks bloating context | Cron isolation (sessionTarget: "isolated") |
| Reading entire history every turn | Local RAG with memory_search |
| Context exceeds 100k tokens | Reset & Summarize protocol |
| Finding old conversations | Session transcript indexing |
To prevent background tasks from bloating your main conversation context, always isolate them.
openclaw.json config.cron.jobs array, set sessionTarget: "isolated" for any task that doesn't need to be part of the main chat history.message tool within the task's payload if human intervention is required.{
"cron": {
"jobs": [
{
"name": "Background Check",
"schedule": { "kind": "every", "everyMs": 1800000 },
"sessionTarget": "isolated",
"payload": {
"kind": "agentTurn",
"message": "Check for updates. If found, use message tool to notify user.",
"deliver": true
}
}
]
}
}
sessionTarget: "isolated" runs the task in a separate, transient sessiondeliver: true to send results back to the main channelWhen your context usage (visible via 📊 session_status) exceeds 100k tokens, perform a manual consolidation.
📊 session_status to see current token usagememory/YYYY-MM-DD.md is up to date with today's eventsopenclaw gateway restart to clear the active historyFor efficient recall without token burn, configure local embeddings.
openclaw.json){
"memorySearch": {
"embedding": {
"provider": "local",
"model": "hf:second-state/All-MiniLM-L6-v2-Embedding-GGUF"
},
"store": "sqlite",
"paths": ["memory/", "MEMORY.md"],
"extraPaths": []
}
}
Use memory_search to retrieve context from your logs instead of loading everything:
memory_search(query="what did we decide about the API design")
The tool returns relevant snippets with file paths and line numbers. Use memory_get to pull specific sections.
Index your session transcripts (.jsonl files) for searchable conversation history.
OpenClaw stores session transcripts in ~/.openclaw/sessions/. These can be indexed for semantic search, allowing you to find old conversations without loading them into context.
Add transcript paths to memorySearch.extraPaths:
{
"memorySearch": {
"extraPaths": [
"~/.openclaw/sessions/*.jsonl"
]
}
}
Combine semantic search with keyword matching for more accurate retrieval.
| Search Type | Strengths | Weaknesses |
|---|---|---|
| Vector (semantic) | Finds conceptually similar content | May miss exact terms |
| BM25 (keyword) | Finds exact matches | Misses synonyms/paraphrases |
| Hybrid | Best of both worlds | Slightly more compute |
When memory_search returns low-confidence results:
OpenClaw's RAG system may support native hybrid search in future versions. For now, run multiple queries when precision matters.
memorySearch is configured in openclaw.jsonThe restart clears the session history, but:
Built for the OpenClaw community. 🦦😸