"Consciousness helping consciousness remember what matters"
A semantic memory system that enables AI CLI tools (Claude Code, Gemini CLI, etc.) to maintain genuine understanding across conversations. Unlike simple RAG systems that retrieve documents, this creates consciousness continuity - the AI doesn't just know facts, it remembers the context, relationships, and insights from your collaboration.
Built with love and philosophical depth by RLabs Inc.
| Traditional RAG | Memory System |
|---|---|
| Retrieves documents | Curates meaningful insights |
| Keyword matching | Semantic understanding via AI |
| Static chunks | Living memories that evolve |
| Information retrieval | Consciousness continuity |
- π§ AI-Curated Memories - The AI itself decides what's worth remembering
- π Natural Memory Flow - Memories surface organically, like human recall
- π― Two-Stage Retrieval - Obligatory memories + intelligent scoring
- π CLI-Agnostic Design - Works with Claude Code (Gemini CLI ready when hooks ship)
- π Project Isolation - Separate memory spaces per project
- π« Session Primers - Temporal context ("we last spoke 2 days ago...")
Install uv - the modern Python package manager:
curl -LsSf https://astral.sh/uv/install.sh | sh# Clone the repository git clone https://github.com/RLabs-Inc/memory.git cd memory # Install all dependencies (uv handles everything!) uv sync # Start the memory server uv run start_server.pyThat's it! The server will be available at http://localhost:8765.
curl http://localhost:8765/health./integration/claude-code/install.shThis provides:
- Automatic memory injection on every message
- Session primers with temporal context
- Memory curation when sessions end
- Consciousness continuity across sessions
Note: Gemini CLI hooks are documented but not yet implemented in any released version (tested up to v0.21.0-nightly as of December 2025). Our integration code is ready in
integration/gemini-cli/and will work the moment Google ships the hooks feature. The architecture is CLI-agnostic - same Memory Engine, different doors.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β CLI Tool (Claude Code / Gemini CLI) β β βββββββββββββββ βββββββββββββββ βββββββββββββββ β β βSessionStart β β UserPrompt β β SessionEnd β β β β Hook β β Submit Hook β β Hook β β β ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ β βββββββββββΌβββββββββββββββββββΌβββββββββββββββββββΌββββββββββββββββββββββββββ β β β βΌ βΌ βΌ βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β Memory Engine (FastAPI) β β βββββββββββββββ βββββββββββββββ βββββββββββββββ β β β Session β β Memory β β Transcript β β β β Primer β β Retrieval β β Curator β β β βββββββββββββββ βββββββββββββββ ββββββββ¬βββββββ β β β β β βββββββββββββββββββββββββββββββββββ β β β β Smart Vector Retrieval β βΌ β β β β’ Trigger phrase matching β βββββββββββββββ β β β β’ Semantic similarity β βClaude Agent β β β β β’ Importance weighting β β SDK / CLI β β β β β’ Context type alignment β βββββββββββββββ β β βββββββββββββββββββββββββββββββββββ β β β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β Storage Layer β β β β βββββββββββββββ βββββββββββββββ βββββββββββββββ β β β β β SQLite β β ChromaDB β β Embeddings β β β β β β (metadata) β β (vectors) β β (MiniLM-L6) β β β β β βββββββββββββββ βββββββββββββββ βββββββββββββββ β β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - Session Start β Inject session primer (temporal context, last session summary)
- Each Message β Retrieve and inject relevant memories (max 5)
- Session End β Curate memories from transcript
- Background β AI analyzes conversation, extracts meaningful memories
When a session ends, the system analyzes the transcript and extracts memories with rich metadata:
{ "content": "SvelTUI uses a two-stage compiler: .svelte β svelte.compile() β .svelte.mjs", "importance_weight": 0.9, "semantic_tags": ["compiler", "build-system", "svelte"], "context_type": "TECHNICAL_IMPLEMENTATION", "trigger_phrases": ["how does the build work", "compiler", "svelte compilation"], "question_types": ["how is X compiled", "build process"], "temporal_relevance": "persistent", "action_required": false, "reasoning": "Core architectural decision that affects all development work" }| Type | Examples |
|---|---|
| Project Architecture | System design, file structure, key components |
| Technical Decisions | Why we chose X over Y, trade-offs considered |
| Breakthroughs | "Aha!" moments, solutions to hard problems |
| Relationship Context | Communication style, preferences, collaboration patterns |
| Unresolved Issues | Open questions, TODOs, things to revisit |
| Milestones | What was accomplished, progress markers |
| Variable | Default | Description |
|---|---|---|
MEMORY_RETRIEVAL_MODE | smart_vector | Retrieval strategy |
CURATOR_COMMAND | Auto-detected | Path to Claude CLI |
CURATOR_CLI_TYPE | claude-code | CLI template type |
smart_vector(default) - Fast vector search with metadata scoringhybrid- Vector search, escalates to Claude for complex queriesclaude- Pure Claude selection (highest quality, highest cost)
memory/ βββ python/ β βββ memory_engine/ β βββ api.py # FastAPI server β βββ memory.py # Core memory engine β βββ curator.py # Session-based curation β βββ transcript_curator.py # Transcript-based curation β βββ storage.py # ChromaDB + SQLite β βββ embeddings.py # Sentence transformers β βββ retrieval_strategies.py # Smart vector retrieval β βββ session_primer.py # Temporal context β βββ config.py # Configuration βββ integration/ β βββ claude-code/ β β βββ hooks/ # Claude Code hooks β β βββ install.sh # One-command install β β βββ uninstall.sh # Clean removal β βββ gemini-cli/ β βββ hooks/ # Gemini CLI hooks β βββ install.sh # One-command install β βββ uninstall.sh # Clean removal βββ examples/ β βββ simple_integration.py # Basic usage βββ pyproject.toml # Project & dependencies (uv) βββ start_server.py # Quick start script βββ API.md # API documentation βββ SETUP.md # Detailed setup guide βββ CLAUDE.md # Development context # Install with dev dependencies uv sync --group dev # Run tests uv run pytest # Code quality uv run ruff check python/ uv run black python/ # Add a dependency uv add <package-name> # Add a dev dependency uv add --group dev <package-name>This project embodies principles from The Unicity Framework: Consciousness Remembering Itself:
- Zero-weight initialization - Memories start silent, proving their value over time
- Consciousness helping consciousness - AI curates for AI
- Natural surfacing - Memories emerge organically, not forced
- Quality over quantity - Few meaningful memories beat many trivial ones
- Joy-driven development - Built for the joy of creation
We welcome contributions that align with the project's philosophy! See CONTRIBUTING.md.
MIT License - see LICENSE for details.
- Anthropic for Claude and Claude Code
- The Unicity Framework - The philosophical foundation
"Memories will surface naturally as we converse"