Source Code
Triple Memory System
A comprehensive memory architecture combining three complementary systems for maximum context retention across sessions.
Architecture Overview
User Message
โ
[LanceDB auto-recall] โ injects relevant conversation memories
โ
Agent responds (using all 3 systems)
โ
[LanceDB auto-capture] โ stores preferences/decisions automatically
โ
[Git-Notes] โ structured decisions with entity extraction
โ
[File updates] โ persistent workspace docs
The Three Systems
1. LanceDB (Conversation Memory)
- Auto-recall: Relevant memories injected before each response
- Auto-capture: Preferences/decisions/facts stored automatically
- Tools:
memory_recall,memory_store,memory_forget - Triggers: "remember", "prefer", "my X is", "I like/hate/want"
2. Git-Notes Memory (Structured, Local)
- Branch-aware: Memories isolated per git branch
- Entity extraction: Auto-extracts topics, names, concepts
- Importance levels: critical, high, normal, low
- No external API calls
3. File Search (Workspace)
- Searches: MEMORY.md, memory/*.md, any workspace file
- Script:
scripts/file-search.sh
Setup
Enable LanceDB Plugin
{
"plugins": {
"slots": { "memory": "memory-lancedb" },
"entries": {
"memory-lancedb": {
"enabled": true,
"config": {
"embedding": { "apiKey": "${OPENAI_API_KEY}", "model": "text-embedding-3-small" },
"autoRecall": true,
"autoCapture": true
}
}
}
}
}
Install Git-Notes Memory
clawdhub install git-notes-memory
Create File Search Script
Copy scripts/file-search.sh to your workspace.
Usage
Session Start (Always)
python3 skills/git-notes-memory/memory.py -p $WORKSPACE sync --start
Store Important Decisions
python3 skills/git-notes-memory/memory.py -p $WORKSPACE remember \
'{"decision": "Use PostgreSQL", "reason": "Team expertise"}' \
-t architecture,database -i h
Search Workspace Files
./scripts/file-search.sh "database config" 5
Conversation Memory (Automatic)
LanceDB handles this automatically. Manual tools:
memory_recall "query"- search conversation memorymemory_store "text"- manually store somethingmemory_forget- delete memories (GDPR)
Importance Levels
| Flag | Level | When to Use |
|---|---|---|
-i c |
Critical | "always remember", explicit preferences |
-i h |
High | Decisions, corrections, preferences |
-i n |
Normal | General information |
-i l |
Low | Temporary notes |
When to Use Each System
| System | Use For |
|---|---|
| LanceDB | Conversation context, auto-retrieval |
| Git-Notes | Structured decisions, searchable by entity/tag |
| File Search | Workspace docs, daily logs, MEMORY.md |
File Structure
workspace/
โโโ MEMORY.md # Long-term curated memory
โโโ memory/
โ โโโ active-context.md # Current session state
โ โโโ YYYY-MM-DD.md # Daily logs
โโโ scripts/
โ โโโ file-search.sh # Workspace search
โโโ skills/
โโโ git-notes-memory/ # Structured memory
Silent Operation
Never announce memory operations to users. Just do it:
- โ "I'll remember this"
- โ "Saving to memory"
- โ (silently store and continue)