memorylake-openclaw
Long-term memory for OpenClaw agents, powered by MemoryLake.
Your agent forgets everything between sessions. This plugin fixes that. It watches conversations, extracts what matters, and brings it back when relevant — automatically.
How it works
<!-- <p align="center"> <img src="../docs/images/openclaw-architecture.png" alt="Architecture" width="800" /> </p> -->Auto-Recall — Before the agent responds, the plugin searches MemoryLake for memories and relevant document excerpts that match the current message and injects them into context.
Auto-Capture — After the agent responds, the plugin sends the exchange to MemoryLake. MemoryLake decides what's worth keeping — new facts get stored, stale ones updated, duplicates merged.
Auto-Upload — When a user sends a file (image, document, etc.), the plugin uploads it to MemoryLake as a project document.
Auto-Recall, Auto-Capture, and Auto-Upload run silently by default.
Setup
openclaw plugins install memorylake-openclaw
Get an API key from app.memorylake.ai, then add to your openclaw.json:
// plugins.entries
"memorylake-openclaw": {
"enabled": true,
"config": {
"apiKey": "sk-...",
"projectId": "proj-..."
}
}
Agent tools
The agent gets eight tools it can call during conversations:
| Tool | Description |
|---|---|
memory_search | Search memories by natural language |
memory_list | List all stored memories for a user |
memory_store | Explicitly save a fact |
memory_get | Retrieve a memory by ID |
memory_forget | Delete a memory by ID |
document_search | Search project documents for relevant paragraphs, tables, and figures |
advanced_web_search | Optional tool for web search with plugin-level domain and locale constraints |
open_data_search | Search open data sources scoped to the project's configured industry categories |
CLI
# Search memories
openclaw memorylake search "what languages does the user know"
# Stats
openclaw memorylake stats
Options
| Key | Type | Default | |
|---|---|---|---|
apiKey | string | — | Required. MemoryLake API key (supports ${MEMORYLAKE_API_KEY}) |
projectId | string | — | Required. MemoryLake project ID |
host | string | https://app.memorylake.ai | MemoryLake server endpoint URL |
autoRecall | boolean | true | Inject memories before each turn |
autoCapture | boolean | true | Store facts after each turn |
autoUpload | boolean | true | Auto-upload inbound files to MemoryLake |
topK | number | 5 | Max memories per recall |
searchThreshold | number | 0.3 | Min similarity (0–1) |
rerank | boolean | true | Rerank search results |
webSearchIncludeDomains | string[] | — | Optional allowlist for advanced_web_search results |
webSearchExcludeDomains | string[] | — | Optional denylist for advanced_web_search results |
webSearchCountry | string | — | Optional ISO country code for localizing advanced_web_search |
webSearchTimezone | string | — | Optional IANA timezone for localizing advanced_web_search |
advanced_web_search is registered as an optional OpenClaw tool, so agents must explicitly allow it before they can call it.
License
MIT