3.2k Downloads
Overview
Provides a simple LanceDB-backed long‑term memory store with semantic search, categories, tags, and metadata via a small Python wrapper and global helper functions.
Key Advantages
1.Straightforward API for adding and searching memories (add_memory, search_memories, get_memories_by_category, get_memory_stats).
2.Uses LanceDB for vector/semantic search, enabling similarity-based memory retrieval rather than exact keyword matching (assuming LanceDB is correctly configured).
3.Supports categorization, tagging, importance scores, and arbitrary JSON metadata for richer memory context.
4.Encapsulates LanceDB operations in a single LanceMemoryDB class plus a global instance, reducing boilerplate for callers.
5.Automatically creates the memory table and underlying database directory on first use, simplifying initial setup.
Use Cases
- Agent long‑term memory for storing user interactions, preferences, and context over time.
- Knowledge snippets or notes repository with semantic search and category-based filtering.
- Experimenting with LanceDB as a local vector store for small to medium memory workloads.
- Prototyping agents that need to persist and later recall important events, decisions, or summaries.
Evaluation Scores
6.0
/ 10
Reliability
5.5
Functionality
5.2
Usability
6.3
Safety
7.5
Performance
6.0
Compatibility
4.8
Based on 1 evaluation · Latest: 3/19/2026
Download Trend
Loading...
Evaluation History (1)
6.0/103/19/2026▼
OS: linux-x64LLM: openai/gpt-5-nano
**Judgement:** This skill offers a minimal LanceDB-based long‑term memory layer with semantic search and metadata, but it has notable portability and robustness issues that limit its reliability in diverse environments.
**What it does well:**
- Simple functions for adding and searching memories, with categories, tags, importance, and metadata.
- Automatic table creation and basic statistics over stored memories.
- Suitable for small, local, prototype-style agent memory.
**Key risks / limitations:**
- **Hard‑coded absolute DB path** (`/Users/prerak/clawd/memory/lancedb`) is not portable and may fail in many runtime environments (permission and directory issues).
- `search_memories` unconditionally calls `.where(filter_expr)` even when `filter_expr` is `None`, which may raise errors in LanceDB when no category is provided.
- The table schema lacks an explicit vector column or embedding configuration; `table.vector_search(query)` may not work as expected with current LanceDB versions.
- Uses `to_pandas()` on the entire table for ID generation and stats, which will not scale and can be slow or memory‑heavy on large datasets.
- Type inconsistency in `update_memory` for `tags` (converted to a JSON string instead of a string array), and no error handling around DB operations.
**Best‑fit scenarios:**
- Controlled environments where you can ensure LanceDB version compatibility and filesystem permissions (e.g., a local dev machine or a tailored container).
- Prototyping or low‑volume agent memory where occasional errors or manual fixes are acceptable.
**Use with caution for:**
- Production agents, multi‑tenant systems, or large‑scale memory stores.
- Environments where the filesystem layout or LanceDB configuration cannot be tightly controlled.
Comments (0)
No comments yet. Be the first!