Mem0
by @abhayjb
Intelligent memory layer for Clawdbot using Mem0. Provides semantic search and automatic storage of user preferences, patterns, and context across conversati...
clawhub install mem0π About This Skill
name: mem0 description: >- Intelligent memory layer for Clawdbot using Mem0. Provides semantic search and automatic storage of user preferences, patterns, and context across conversations. Use when (1) User explicitly says "remember this", (2) Learning user preferences or patterns during conversation, (3) Searching for past context about user's choices/preferences, (4) Building adaptive responses based on learned user behavior. Complements MEMORY.md (structured facts) with dynamic, conversational memory (learned preferences, patterns, adaptive context).
Mem0 Memory Integration
Mem0 adds an intelligent, adaptive memory layer to Clawdbot that automatically learns and recalls user preferences, patterns, and context across all interactions.
Core Workflow
1. Search Before Responding
Before answering user questions, search mem0 for relevant context:node scripts/mem0-search.js "user preferences" --limit=3
Use retrieved memories to:
2. Store After Interactions
Explicit Storage (when user says "remember this"):
node scripts/mem0-add.js "Abhay prefers concise updates"
Conversation Storage (for context learning):
# Pass messages as JSON
node scripts/mem0-add.js --messages='[{"role":"user","content":"I like brief updates"},{"role":"assistant","content":"Got it!"}]'
Available Commands
Search Memories
node scripts/mem0-search.js "query text" [--limit=3] [--user=abhay]
Searches semantically across stored memories. Returns relevant memories ranked by relevance.
Add Memory
# Simple text
node scripts/mem0-add.js "memory text" [--user=abhay]Conversation messages (auto-extracts memories)
node scripts/mem0-add.js --messages='[{...}]' [--user=abhay]
Mem0's LLM automatically extracts, deduplicates, and merges related memories.
List All Memories
node scripts/mem0-list.js [--user=abhay]
Shows all stored memories for the user with IDs and creation dates.
Delete Memories
# Delete specific memory
node scripts/mem0-delete.js Delete all memories for user
node scripts/mem0-delete.js --all --user=abhay
What to Store vs Not Store
β Store These:
β Don't Store:
Complementing Clawdbot Memory
Clawdbot MEMORY.md (Structured, Deliberate):
Mem0 (Dynamic, Learned):
Use both together: Check MEMORY.md for facts, check mem0 for preferences/patterns.
Performance Benefits
Configuration
Located in scripts/mem0-config.js:
{
embedder: "openai/text-embedding-3-small",
llm: "openai/gpt-4o-mini",
vectorStore: "memory" (local),
historyDb: "~/.mem0/history.db",
userId: "abhay"
}
Uses Clawdbot's OpenAI API key from environment (OPENAI_API_KEY).
Integration Patterns
For detailed workflow patterns, error handling, and best practices, see:
references/integration-patterns.mdProgrammatic Use
All scripts support JSON_OUTPUT environment variable for programmatic access:
JSON_OUTPUT=1 node scripts/mem0-search.js "query"
Returns JSON after human-readable output (look for ---JSON--- marker).
Resources
scripts/
mem0-config.js - Configuration and instance initializationmem0-search.js - Search memories semanticallymem0-add.js - Add new memoriesmem0-list.js - List all memoriesmem0-delete.js - Delete memoriesreferences/
integration-patterns.md - Detailed best practices and patternsβοΈ Configuration
Located in scripts/mem0-config.js:
{
embedder: "openai/text-embedding-3-small",
llm: "openai/gpt-4o-mini",
vectorStore: "memory" (local),
historyDb: "~/.mem0/history.db",
userId: "abhay"
}
Uses Clawdbot's OpenAI API key from environment (OPENAI_API_KEY).