Lily Memory Plugin
v5.2.3Persistent memory plugin for OpenClaw agents. Hybrid SQLite FTS5 keyword + Ollama vector semantic search with auto-capture, auto-recall, stuck-detection, and...
⭐ 2· 1.4k·4 current·4 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Benign
medium confidencePurpose & Capability
Name/description match the implementation: Node.js + better-sqlite3 for SQLite FTS5, optional Ollama embedding calls, FTS + vector search, auto-capture and auto-recall, stuck-detection, consolidation and entity management. No unrelated credentials or bizarre binaries are requested.
Instruction Scope
SKILL.md and index.js align: plugin is installed into extensions, configured in openclaw.json, and registers memory-related tools and lifecycle hooks. However, default behaviour includes auto-capture of conversation text (capturePolicy defaults to "all") and automatic writes to a persistent DB under ~/.openclaw by default. The plugin also contains a session health guard that may modify session files (backups and resets) to enforce context caps — this is within the plugin's stated goals but is a system-level file modification you should be aware of.
Install Mechanism
This is an instruction-and-source bundle (no remote download URL). SKILL.md requires node and better-sqlite3 (an npm native module). No external arbitrary installers, URL downloads, or shorteners are used. Note: better-sqlite3 is a native package and may need build tools on the host.
Credentials
The skill requests no environment variables or credentials. The only network interactions are optional Ollama embedding calls to the configured ollamaUrl (default localhost:11434). That means if an operator configures ollamaUrl to a remote server, embeddings (and therefore potentially sensitive memory text) will be sent there. Persistent storage is local by default (dbPath) and the plugin can read/write session files — appropriate for a memory plugin but privacy-sensitive.
Persistence & Privilege
The plugin is not force-included (always:false) and uses normal autonomous invocation. It persists data to user-configurable sqlite DB files and may modify session files (session-guard behavior described in changelog). That behavior is consistent with its purpose but is a privileged filesystem operation: it can alter session state and persist user messages.
Assessment
This plugin appears to implement what it claims, but review these points before installing:
- Privacy: auto-capture defaults to capturing conversation text (capturePolicy: "all"). Sensitive information (passwords, API keys, PII) could be written to the plugin's SQLite DB. Consider switching capturePolicy to "assistant-only" or "tagged-only" or disabling autoCapture until you audit it.
- Remote embeddings: the plugin will call the configured ollamaUrl for embeddings. Keep ollamaUrl set to a local trusted host (default is http://localhost:11434). Do NOT point it to an untrusted remote server if you care about memory confidentiality.
- File writes & session modifications: the plugin writes to dbPath (default ~/.openclaw/memory/decisions.db) and the changelog notes a session-guard that may back up/reset session files. If you need to limit filesystem scope, set dbPath to a dedicated directory and review session-guard behavior.
- Installation notes: better-sqlite3 is a native npm module and may require build tools; run installs and tests in an isolated environment first.
- Audit recommendation: if you plan to use this in production, inspect lib/security.js and lib/session-guard.js (they control injection blocking and session file changes), and consider running the included test suite in a sandbox to confirm behaviour.
Overall: coherent for its stated purpose, but treat it as privacy-sensitive and configure/inspect accordingly.Like a lobster shell, security has layers — review code before you run it.
embeddingsvk979gy12esmt6ry59cpr9705qn81b0yklatestvk97fa2na8kv65qr887yddh7c4981er7nmemoryvk979gy12esmt6ry59cpr9705qn81b0yksqlitevk979gy12esmt6ry59cpr9705qn81b0ykvectorsvk979gy12esmt6ry59cpr9705qn81b0yk
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
Runtime requirements
Binsnode
