Memory Architecture

Three-layer system: Buffer → Files → Search

1. Session (Live)

Lost on reset

Current conversation • ~8k tokens • Temporary

2. Redis Buffer

Today

Fast cache • Flushed at 3 AM • Key: mem:rob

hb_append.py save_mem

3. Daily Files

Persistent

Markdown logs • Git-tracked • Human-readable

workspace/memory/2026-02-18.md

4. Qdrant (Search)

Semantic

Vector DB • Embeddings • Cross-session search

search_memories.py q <topic>

How It Works

  1. 1 You chat → Message saved to Redis + today's .md file
  2. 2 Heartbeat (every 30-60 min) → New turns appended to Redis buffer
  3. 3 3:00 AM daily → Redis flushed to Qdrant (embeddings generated)
  4. 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