Automatic persistent memory for OpenClaw. Every conversation turn is summarized and indexed — your next session picks up where you left off.
- OpenClaw >= 2026.3.22 (2026.4+ recommended for full CLI support)
- Python 3.10+
# 1. Install memsearch
uv tool install "memsearch[onnx]"
# 2. Install the plugin from ClawHub
openclaw plugins install clawhub:memsearch
# 3. Restart the gateway
openclaw gateway restart# 1. Install memsearch
uv tool install "memsearch[onnx]"
# 2. Clone the repo and install the plugin
git clone https://github.com/zilliztech/memsearch.git
cd memsearch
openclaw plugins install ./plugins/openclaw
# 3. Restart the gateway
openclaw gateway restartStart a TUI session as normal:
openclaw tui| When | What |
|---|---|
| Agent starts | Recent memories injected as context |
| Each turn ends | Conversation summarized (bullet-points) and saved to daily .md |
| LLM needs history | Calls memory_search / memory_get / memory_transcript tools |
Two ways to trigger:
/memory-recall what was the caching strategy we chose?
Or just ask naturally — the LLM auto-invokes memory tools when it senses the question needs history:
We discussed caching strategies before, what did we decide?
The plugin registers three tools the LLM uses progressively:
memory_search— Semantic search across past memories. Always starts here.memory_get— Expand a chunk to see the full markdown section with context.memory_transcript— Parse the original session transcript for exact dialogue.
The LLM decides how deep to go based on the question — simple recall uses only L1, detailed questions go to L2/L3.
Each OpenClaw agent stores memory independently under its own workspace:
~/.openclaw/workspace/.memsearch/memory/ ← main agent
~/.openclaw/workspace-work/.memsearch/memory/ ← work agent
Collection names are derived from the workspace path (same algorithm as Claude Code, Codex, and OpenCode), so agents with different workspaces have isolated memories. When an agent's workspace points to a project directory used by other platforms, memories are automatically shared across platforms.
Works out of the box with zero configuration (ONNX embedding, no API key needed).
Optional settings via openclaw plugins config memsearch:
| Setting | Default | Description |
|---|---|---|
provider |
onnx |
Embedding provider (onnx, openai, google, voyage, ollama) |
autoCapture |
true |
Auto-capture conversation summaries after each turn |
autoRecall |
true |
Auto-inject recent memories at agent start |
Each agent's memory is stored as plain markdown:
# 2026-03-25
## Session 14:47
### 14:47
<!-- session:UUID transcript:~/.openclaw/agents/main/sessions/UUID.jsonl -->
- User asked about the memsearch architecture.
- OpenClaw explained core components: chunker, scanner, embedder, MilvusStore.These files are human-readable, editable, and version-controllable. Milvus is a derived index that can be rebuilt anytime.
openclaw plugins install --remove memsearch
# Or manually:
rm -rf ~/.openclaw/extensions/memsearch