Source Code
Jasper Recall
Local RAG (Retrieval-Augmented Generation) system for AI agent memory. Gives your agent the ability to remember and search past conversations.
When to Use
- Memory recall: Search past sessions for context before answering
- Continuous learning: Index daily notes and decisions for future reference
- Session continuity: Remember what happened across restarts
- Knowledge base: Build searchable documentation from your agent's experience
Quick Start
Setup
One command installs everything:
npx jasper-recall setup
This creates:
- Python venv at
~/.openclaw/rag-env - ChromaDB database at
~/.openclaw/chroma-db - CLI scripts in
~/.local/bin/
Basic Usage
Search your memory:
recall "what did we decide about the API design"
recall "hopeIDS patterns" --limit 10
recall "meeting notes" --json
Index your files:
index-digests # Index memory files into ChromaDB
Create session digests:
digest-sessions # Process new sessions
digest-sessions --dry-run # Preview what would be processed
How It Works
Three Components
- digest-sessions — Extracts key info from session logs (topics, tools used)
- index-digests — Chunks and embeds markdown files into ChromaDB
- recall — Semantic search across your indexed memory
What Gets Indexed
By default, indexes files from ~/.openclaw/workspace/memory/:
*.md— Daily notes, MEMORY.mdsession-digests/*.md— Session summariesrepos/*.md— Project documentationfounder-logs/*.md— Development logs (if present)
Embedding Model
Uses sentence-transformers/all-MiniLM-L6-v2:
- 384-dimensional embeddings
- ~80MB download on first run
- Runs locally, no API needed
Agent Integration
Memory-Augmented Responses
# Before answering questions about past work
results = exec("recall 'project setup decisions' --json")
# Include relevant context in your response
Automated Indexing (Heartbeat)
Add to HEARTBEAT.md:
## Memory Maintenance
- [ ] New session logs? → `digest-sessions`
- [ ] Memory files updated? → `index-digests`
Cron Job
Schedule regular indexing:
{
"schedule": { "kind": "cron", "expr": "0 */6 * * *" },
"payload": {
"kind": "agentTurn",
"message": "Run index-digests to update the memory index"
},
"sessionTarget": "isolated"
}
CLI Reference
recall
recall "query" [OPTIONS]
Options:
-n, --limit N Number of results (default: 5)
--json Output as JSON
-v, --verbose Show similarity scores
index-digests
index-digests
Indexes markdown files from:
~/.openclaw/workspace/memory/*.md
~/.openclaw/workspace/memory/session-digests/*.md
~/.openclaw/workspace/memory/repos/*.md
~/.openclaw/workspace/memory/founder-logs/*.md
Skips files that haven't changed (content hash check).
digest-sessions
digest-sessions [OPTIONS]
Options:
--dry-run Preview without writing
--all Process all sessions (not just new)
--recent N Process only N most recent sessions
Configuration
Custom Paths
Set environment variables:
export RECALL_WORKSPACE=~/.openclaw/workspace
export RECALL_CHROMA_DB=~/.openclaw/chroma-db
export RECALL_SESSIONS_DIR=~/.openclaw/agents/main/sessions
Chunking
Default settings in index-digests:
- Chunk size: 500 characters
- Overlap: 100 characters
Troubleshooting
"No index found"
index-digests # Create the index first
"Collection not found"
rm -rf ~/.openclaw/chroma-db # Clear and rebuild
index-digests
Model download slow First run downloads ~80MB model. Subsequent runs are instant.