Code Pluginsource linked

Openclawv0.3.6

Semantic memory search plugin for OpenClaw — persistent cross-session memory powered by Milvus vector search. Automatically captures conversation summaries and recalls relevant context.

memsearch·runtime memsearch·by @zc277584121
Community code plugin. Review compatibility and verification before install.
openclaw plugins install clawhub:memsearch
Latest release: v0.3.6Download zip

Capabilities

configSchema
Yes
Executes code
Yes
HTTP routes
0
Plugin kind
memory
Runtime ID
memsearch

Compatibility

Built With Open Claw Version
2026.3.23
Plugin Api Range
>=2026.3.11
Plugin Sdk Version
2026.3.23
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
high confidence
Purpose & Capability
The stated purpose is persistent semantic memory for OpenClaw, and the main capabilities - capture, search, expansion, transcript recall, and prompt-context injection - fit that purpose.
!
Instruction Scope
Memory recall is enabled broadly through natural-language triggers, and full transcript retrieval accepts a caller-provided path rather than a tightly validated session or search-result token.
!
Install Mechanism
The installer uses a forced plugin install and automatically enables conversation-access and prompt-injection hooks without an interactive consent step, although the README does disclose the same required commands.
Credentials
The plugin runs local memsearch/OpenClaw helper commands and optional provider/maintenance flows that are coherent for memory indexing, but subprocesses inherit the full environment and can broaden exposure if external providers are configured.
!
Persistence & Privilege
AutoCapture and AutoRecall default to true, conversation summaries are persisted and indexed in plaintext project memory files, exact transcripts can be recalled, and uninstalling the plugin does not delete stored memories.
Scan Findings in Context
[AST5] expected: The exec-family calls are used to bootstrap or re-run the maintenance helper through memsearch or uv; no malicious payload was found, but PATH-based resolution is a hardening concern.
[SDI-2] expected: Transcript access and maintenance subprocesses match the memory feature, but caller-supplied transcript paths and external agent/provider paths are under-scoped for sensitive history access.
[SDI-4] expected: Conversation access and prompt injection are necessary for this plugin's automatic capture and recall, but the installer grants them automatically, which contributes to the Review verdict.
[SQP-2] expected: Automatic capture, storage, and retrieval are disclosed as core behavior, but the artifacts lack strong privacy, redaction, retention, and consent controls for default-on operation.
[SSD-3] expected: Search, expansion, and transcript retrieval over persisted conversation data are intended features; the risk is context leakage across sessions rather than artifact-backed exfiltration.
[E4] expected: AutoCapture and AutoRecall defaults were confirmed in the README and manifest; they are purpose-aligned but high-impact for private conversation data.
[VirusTotal] expected: VirusTotal telemetry was clean, so it did not provide a malicious signal or override the artifact-backed review concerns.
What to consider before installing
Install only if you intentionally want durable memory for OpenClaw conversations. Review the stored `.memsearch/memory` files, disable `autoCapture` or `autoRecall` if you do not want automatic retention or injection, avoid using it for secrets or regulated data unless you have a retention plan, and treat transcript recall as access to exact prior conversations.

Verification

Tier
source linked
Scope
artifact only
Summary
Validated package structure and linked the release to source metadata.
Commit
cbf42994f33b
Tag
v0.4.6
Provenance
No
Scan status
suspicious

Tags

latest
0.3.6

memsearch — OpenClaw Plugin

Automatic persistent memory for OpenClaw. Every conversation turn is summarized and indexed — your next session picks up where you left off.

Prerequisites

  • OpenClaw >= 2026.3.22 (2026.4+ recommended for full CLI support)
  • Python 3.10+

Install

From ClawHub (recommended)

# 1. Install memsearch
uv tool install "memsearch[onnx]"

# 2. Install the plugin from ClawHub
openclaw plugins install --force clawhub:memsearch

# 3. Allow memsearch to read conversation turns and inject recall context
openclaw config set plugins.entries.memsearch.hooks.allowConversationAccess true
openclaw config set plugins.entries.memsearch.hooks.allowPromptInjection true

# 4. Restart the gateway
openclaw gateway restart

From Source (development)

# 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 --force ./plugins/openclaw

# 3. Allow memsearch to read conversation turns and inject recall context
openclaw config set plugins.entries.memsearch.hooks.allowConversationAccess true
openclaw config set plugins.entries.memsearch.hooks.allowPromptInjection true

# 4. Restart the gateway
openclaw gateway restart

Usage

Start a TUI session as normal:

openclaw tui

What happens automatically

WhenWhat
Agent startsRecent memories injected as context
Each turn endsConversation summarized (bullet-points) and saved to daily .md
LLM needs historyCalls memory_search / memory_get / memory_transcript tools

Recall memories

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?

Three-layer progressive recall

The plugin registers three tools the LLM uses progressively:

  1. memory_search — Semantic search across past memories. Always starts here.
  2. memory_get — Expand a chunk to see the full markdown section with context.
  3. 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.

Multi-agent isolation

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.

Configuration

Works out of the box with zero configuration (ONNX embedding, no API key needed).

Optional settings via openclaw plugins config memsearch:

SettingDefaultDescription
provideronnxEmbedding provider (onnx, openai, google, voyage, jina, mistral, ollama)
autoCapturetrueAuto-capture conversation summaries after each turn
autoRecalltrueAuto-inject recent memories at agent start

To override only the OpenClaw native capture summarization model:

memsearch config set plugins.openclaw.summarize.model qwen3-coder

To use a memsearch-managed API provider instead:

memsearch config set llm.providers.openai.type openai
memsearch config set llm.providers.openai.model gpt-5-mini
memsearch config set llm.providers.openai.api_key env:OPENAI_API_KEY
memsearch config set plugins.openclaw.summarize.provider openai

Leave plugins.openclaw.summarize.provider empty or set it to native to keep the default OpenClaw agent model. This setting does not fall back to llm.model.

Memory files

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.

Uninstall

openclaw plugins uninstall memsearch
openclaw gateway restart

Uninstalling the plugin does not delete memory files in .memsearch/memory/.