Skip to content

Memory System

Gee-Code has a three-layer memory system that persists across sessions. The AI learns your preferences, remembers project context, and builds on past conversations — so you never have to repeat yourself.

Raw conversation transcripts from past sessions. Searchable but unprocessed — this is the complete record of everything that was said and done.

Atomic facts extracted from conversations. These are specific pieces of information:

  • “Prefers Python over JavaScript”
  • “Works at Acme Corp on the billing system”
  • “Uses VS Code with vim keybindings”

Facts are automatically extracted after each session. They’re matched per-turn to inject relevant context into the conversation.

High-level summaries across 7 categories, refined and evolved over time:

CategoryExamples
personal_infoName, location, devices, family
coding_preferencesLanguages, frameworks, style rules
projectsActive projects, architecture decisions
work_contextTeam, role, workflows
tools_and_setupIDE, OS, shell, terminal configuration
communication_stylePreferred level of detail, tone
generalMiscellaneous facts

These summaries are the richest view of what Gee-Code knows about you. They evolve as new facts are extracted and patterns emerge.

Each turn, the memory system:

  1. Searches Layer 2 and 3 for facts relevant to the current conversation
  2. Injects matching memories into the AI’s context
  3. After sessions, new facts are automatically extracted and stored

You’ll see memories appear as <long-term-memory> blocks in the AI’s context. The AI references these naturally — applying your preferences without asking, connecting current requests to past work, and anticipating needs based on patterns.

The AI can interact with memory explicitly:

Remember("Prefers functional components over class components", category="coding_preferences")

The AI does this proactively when you share preferences, make decisions, or reveal context worth preserving.

RecallMemory(query="database preferences")
RecallMemory() # Full overview of all memories

The AI searches memory when stuck, working in an unfamiliar area, or when you reference something from a past session.

ForgetMemory(memory_id="abc123")

Remove outdated or incorrect information.

  • Proactive: The AI stores important facts as it encounters them — preferences revealed through feedback, architecture decisions, personal information you share
  • Reactive: The AI searches memory when past context might help — when stuck, starting a new task, or when you say “remember when we…”

Stored automatically:

  • Personal information shared by you
  • Coding preferences revealed through feedback
  • Project architecture decisions
  • Tool and workflow preferences
  • Communication style patterns

Not stored:

  • Temporary debugging details
  • One-off task specifics
  • Information only relevant to the current session

Over time, the system builds behavioral patterns — profiles of how you work:

“When debugging, searches with grep first, then reads files, then applies fixes”

These help the AI match your working style rather than imposing its own approach.

Memory is stored locally:

  • Global memory: ~/.gee-code/memory/
  • Mode-specific memory: ~/.gee-code/memory/modes/{mode-name}/

Each Gee (autonomous mode) gets its own memory space, so their learned context doesn’t bleed into each other.