Openclaw Memory Qdrant

Local semantic memory with Qdrant and Transformers.js. Store, search, and recall conversation context using vector embeddings (fully local, no API keys).

MIT-0 · Free to use, modify, and redistribute. No attribution required.
1 · 843 · 6 current installs · 6 all-time installs
byzuiho@zuiho-kai
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (local semantic memory using Qdrant and Transformers.js) match the included package.json, dependencies (@qdrant/js-client-rest and @xenova/transformers), and the code: it provides memory_store/search/forget, optional external Qdrant URL, and local embeddings. Required binaries (node, npm) and no environment variables are appropriate for this purpose.
Instruction Scope
SKILL.md only instructs installing/enabling the plugin, configuring storage and autoCapture, and documents the model download from Hugging Face. The runtime code reads/writes only its own persistPath and uses the configured qdrantUrl if provided. There are no instructions to read unrelated system files or exfiltrate credentials. Note: autoCapture/allowPIICapture are opt-in and documented; default behavior skips PII.
Install Mechanism
The registry metadata lists no explicit install spec (instruction-only), but the skill bundle contains code, package.json and package-lock.json requiring npm dependencies and native modules (sharp, onnxruntime). Installing will require npm (and platform build tools) and will cause downloads from npm and a ~25MB model from huggingface.co. This is expected for local embeddings but is higher friction than a pure instruction-only skill and worth noting.
Credentials
The skill requests no environment variables or credentials. The only external network interactions are explicit and documented: (1) optional qdrantUrl supplied by the user for external Qdrant, and (2) Transformers.js model download from Hugging Face. No hidden env vars or unrelated credentials are requested.
Persistence & Privilege
The plugin defaults to disk persistence (persistToDisk: true) and stores data under ~/.openclaw-memory/ (or a user-specified storagePath). This is coherent with a memory plugin but has privacy implications: persistent storage plus the (opt-in) autoCapture/allowPIICapture features can store PII if misconfigured. always:false and no global config modifications are used, which is appropriate.
Assessment
This plugin appears to do what it claims: local embeddings + Qdrant-backed memory. Before installing: 1) Be aware it will download a ~25MB model from huggingface.co at first run and install native dependencies (sharp, onnxruntime) that may need build tools. 2) It persists data by default to ~/.openclaw-memory/ — set persistToDisk: false if you want volatile memory, and do not enable allowPIICapture unless you accept the privacy risk. 3) If you plan to use an external Qdrant, only provide a trusted server URL. 4) Review index.js (and test-fixes.js) yourself; there is a small implementation concern (use of api.logger in one catch path may be undefined and could cause runtime errors) — this looks like a bug, not malicious code. 5) For highest safety, test in an isolated environment and lock dependency versions (npm ci) before enabling in production.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.15
Download zip
latestvk977h4smapf2dp71yb1hqqvhwx818s5t

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

Binsnode, npm

SKILL.md

memory-qdrant

Use when you need your OpenClaw agent to remember and recall information across conversations using semantic search.

⚠️ Privacy Notice: The optional autoCapture feature (disabled by default) can capture PII like emails and phone numbers if you enable allowPIICapture. Only enable if you understand the privacy implications.

Local semantic memory plugin powered by Qdrant vector database and Transformers.js embeddings. Zero configuration, fully local, no API keys required.

Features

  • Semantic search with local Transformers.js embeddings
  • In-memory mode (zero config) or persistent Qdrant storage
  • Optional auto-capture of conversation context (opt-in, disabled by default)
  • Context-aware memory recall
  • Fully local, no API keys or external services required

Installation

clawhub install memory-qdrant

First-time setup: This plugin downloads a 25MB embedding model from Hugging Face on first run and may require build tools for native dependencies (sharp, onnxruntime). See README for detailed installation requirements.

Configuration

Enable in your OpenClaw config:

{
  "plugins": {
    "memory-qdrant": {
      "enabled": true
    }
  }
}

Options:

  • persistToDisk (default: true) - Save memories to disk in memory mode. Data stored in ~/.openclaw-memory/ survives restarts. Set to false for volatile memory.
  • storagePath (optional) - Custom storage directory. Leave empty for default ~/.openclaw-memory/.
  • autoCapture (default: false) - Auto-record conversations. Privacy protection enabled by default: text containing PII (emails, phone numbers) is automatically skipped.
  • allowPIICapture (default: false) - Allow capturing PII when autoCapture is enabled. Only enable if you understand the privacy implications.
  • autoRecall (default: true) - Auto-inject relevant memories
  • qdrantUrl (optional) - External Qdrant server (leave empty for in-memory)

Usage

Three tools available:

memory_store - Save information

memory_store({
  text: "User prefers Opus for complex tasks",
  category: "preference"
})

memory_search - Find relevant memories

memory_search({
  query: "workflow preferences",
  limit: 5
})

memory_forget - Delete memories

memory_forget({ memoryId: "uuid" })
// or
memory_forget({ query: "text to forget" })

Privacy & Security

  • Disk persistence (default): Memories saved to ~/.openclaw-memory/ and survive restarts. Set persistToDisk: false for volatile memory.
  • In-memory mode: When persistToDisk: false, data cleared on restart
  • Qdrant mode: Data sent to configured server (use trusted servers only)
  • Network: Downloads ~25MB model from Hugging Face on first run
  • PII Protection: By default, autoCapture skips text containing emails or phone numbers. Set allowPIICapture: true only if you understand the privacy implications.
  • autoCapture: Disabled by default for privacy. When enabled, only captures text matching semantic triggers (preferences, decisions, facts) and skips PII unless explicitly allowed.

Technical Details

  • Vector DB: Qdrant (in-memory or external)
  • Embeddings: Xenova/all-MiniLM-L6-v2 (local)
  • Module: ES6 with factory function pattern

Links

Files

8 total
Select a file
Select a file to preview.

Comments

Loading comments…