Agent Memory Persistence

Provide long-term memory persistence for AI agents with SQLite-backed storage, structured metadata, vector embeddings, semantic retrieval, lifecycle manageme...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 215 · 1 current installs · 1 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description, SKILL.md, and source files all describe a local SQLite-backed memory manager with embeddings and semantic search — this is coherent. However, the registry metadata declares no required binaries or environment, while the package includes Node TypeScript source and a package.json that depends on better-sqlite3. In practice this requires a Node.js runtime and dependency installation (and better-sqlite3 is a native module that may need a C toolchain). The skill also needs filesystem access for the SQLite DB path. These runtime requirements are not declared in the registry and should be noted.
Instruction Scope
SKILL.md stays within scope: create a MemoryManager with a SQLite path, CRUD, vector search, and cleanup. The runtime instructions and code do not read unrelated system files, access environment variables, or call external network endpoints. Tests use temporary directories only. No instructions request sending data to third parties.
Install Mechanism
The registry lists no install spec, but the package includes source files and package.json with a dependency on better-sqlite3. There is no URL download or remote script; installation is via npm (implicit). That npm dependency may invoke native compilation (better-sqlite3) which requires tooling and may fail on constrained environments. Absence of an explicit install spec or declared required binaries (node/npm) is an incoherence to be aware of, but not malicious.
Credentials
The skill does not request any environment variables, secrets, or unrelated credentials. The code likewise does not read environment variables or attempt to access credentials. Its data access is limited to the SQLite DB path you provide.
Persistence & Privilege
The skill does not request permanent/always-on inclusion and will not modify other skills or global agent settings. It persists data only to the SQLite database you instantiate (default :memory: unless you pass a filesystem path). Autonomous invocation is permitted by default (normal), but that is not combined with other concerning privileges here.
Assessment
This package appears to do what it says: a local SQLite-backed memory store with vector search implemented in TypeScript. Before installing, confirm you have Node.js and a C toolchain available (better-sqlite3 is a native module and may compile during npm install). Because the registry entry doesn't declare Node/npm or filesystem write access, verify the runtime environment and run it in a sandbox if you have sensitive data. Review or pin the dependency versions, and consider encrypting or limiting sensitive data stored in the DB since memories are stored locally in plain JSON by default. If you need networked persistence or large-scale vector search, plan for replacing the in-memory TS vector search with an ANN index or a proper vector-enabled DB.

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

Current versionv0.1.0
Download zip
latestvk972128grqt7at16k5nb834apn82fnqq

License

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

SKILL.md

Agent Memory Persistence

Use this skill when an agent needs durable memory storage across sessions.

What it provides

  • SQLite-backed persistence for text, metadata, and embedding vectors
  • CRUD operations for memory items
  • Semantic retrieval with cosine-similarity vector search
  • Memory lifecycle operations including expiration cleanup
  • Filters by user, session, type, and time window

Project structure

  • src/MemoryStore.ts: low-level SQLite storage engine
  • src/VectorIndex.ts: vector similarity search over stored embeddings
  • src/MemoryManager.ts: high-level API used by agents
  • src/types.ts: shared TypeScript contracts

Usage pattern

  1. Create a MemoryManager with a SQLite path.
  2. Write memories with content, optional metadata, and optional embedding.
  3. Query memories by session/user or use searchByVector() for semantic lookup.
  4. Periodically call cleanupExpired() to delete stale memories.

Notes

  • Embeddings are stored as JSON arrays in SQLite.
  • Vector search is implemented in TypeScript using cosine similarity, which keeps deployment simple and avoids SQLite extensions.
  • If memory volume grows substantially, replace VectorIndex with an ANN index or SQLite vector extension while preserving the MemoryManager API.

Files

10 total
Select a file
Select a file to preview.

Comments

Loading comments…