Memory Architecture
Three-layer system: Buffer → Files → Search
1. Session (Live)
Lost on resetCurrent conversation • ~8k tokens • Temporary
2. Redis Buffer
TodayFast cache • Flushed at 3 AM • Key: mem:rob
hb_append.py
save_mem
3. Daily Files
PersistentMarkdown logs • Git-tracked • Human-readable
workspace/memory/2026-02-18.md
4. Qdrant (Search)
SemanticVector DB • Embeddings • Cross-session search
search_memories.py
q <topic>
How It Works
- 1 You chat → Message saved to Redis + today's .md file
- 2 Heartbeat (every 30-60 min) → New turns appended to Redis buffer
- 3 3:00 AM daily → Redis flushed to Qdrant (embeddings generated)
- 4 You ask "remember X?" → Searches Qdrant → Returns relevant past conversations
Quick Commands
Save now:
save mem
Search memory:
q <topic>
Check Redis:
redis-cli LRANGE mem:rob 0 -1