- name
- andrew-memory
- description
- >-
Andrew Memory Layer
A product-grade semantic memory layer for AI agents, powered by LanceDB.
Overview
This skill provides long-term memory capabilities for AI agents using a local LanceDB vector database. It enables semantic search, Core Identity management, and conversation distillation.
Features
- Semantic Memory Search - Find relevant memories using natural language queries
- Core Identity Injection - Maintain consistent persona across sessions
- Conversation Distillation - Automatically extract memory atoms from conversations
- Dual LLM Support - Works with MiniMax API (cloud) or Ollama (local)
- Rich Metadata - Tracks importance, confidence, and reuse count for each memory
Tools
| Tool | Description |
|---|---|
andrew_memory_add | Store a new memory with type, importance, and confidence |
andrew_memory_search | Search memories semantically using natural language |
andrew_memory_set_identity | Set the agent's Core Identity |
andrew_memory_get_identity | Retrieve the current Core Identity |
andrew_memory_distill | Extract key memories from a conversation |
andrew_memory_regenerate_vectors | Rebuild all vectors (after changing embedding model) |
Configuration
{
"plugins": {
"entries": {
"andrew-memory": {
"enabled": true,
"config": {
"dataDir": "~/.andrew-memory/data",
"llmMode": "api",
"localLlmUrl": "http://localhost:11434"
}
}
}
}
}Config Options
| Option | Default | Description |
|---|---|---|
dataDir | ~/.andrew-memory/data | LanceDB data directory |
llmMode | api | api (MiniMax) or local (Ollama) |
localLlmUrl | http://localhost:11434 | Ollama URL when using local mode |
Requirements
- OpenClaw
- Node.js >= 22
- LanceDB (auto-installed)
- MiniMax API key (if using cloud mode): set
MINIMAX_API_KEYenv var
Memory Types
preference- User preferences and habitsfact- Factual information about the user or worldrule- Executable rules and guidelinesexperience- Past experiences with success/failure outcomesthought- Thoughts, observations, insightsdistilled- Auto-extracted from conversationsgeneral- Default general-purpose memory
Usage Example
User: Remember that I prefer short responses in the morning.
→ andrew_memory_add: { text: "User prefers short responses in the morning", memoryType: "preference" }
User: What did I say about my communication preferences?
→ andrew_memory_search: { query: "communication preferences morning responses" }