Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Self-Learning Memory System

A Rust-based self-learning memory system with episodic memory, pattern extraction, and intelligent retrieval capabilities.

Overview

The Self-Learning Memory System provides:

  • Episodic Memory: Store and retrieve task execution episodes with context
  • Pattern Extraction: Automatically extract patterns from successful task completions
  • Intelligent Retrieval: Semantic search with multiple embedding providers
  • MCP Server: Model Context Protocol server for AI assistant integration
  • CLI Tools: Command-line interface for all operations

Key Features

FeatureDescription
Episode ManagementCreate, log steps, and complete episodes
Pattern RecognitionExtract and use patterns for recommendations
Multi-provider EmbeddingsOpenAI, Cohere, Ollama, local models
Dual StorageTurso (persistent) + redb (cache)
MCP ProtocolFull MCP 2025-11-25 support

Quick Start

# Install the CLI
cargo install do-memory-cli

# Start the MCP server
do-memory-mcp-server

# Create an episode
do-memory-cli episode create --task "My task"

Architecture

The system consists of several crates:

  • do-memory-core: Core types and logic
  • do-memory-storage-turso: Turso/libSQL backend
  • do-memory-storage-redb: redb cache backend
  • do-memory-mcp: MCP server
  • do-memory-cli: Command-line interface

See the Getting Started chapter for details.

Getting Started

Installation

From crates.io

cargo install do-memory-cli
cargo install do-memory-mcp-server

From source

git clone https://github.com/d-o-hub/rust-self-learning-memory
cd rust-self-learning-memory
cargo build --release

Configuration

Environment Variables

VariableDescriptionRequired
TURSO_DATABASE_URLTurso database URLYes (or local)
TURSO_AUTH_TOKENTurso auth tokenNo (local dev)
OPENAI_API_KEYOpenAI API keyFor embeddings

Local Development

# Start local Turso
turso dev --db-file ./data/memory.db --port 8080

# Set environment
export TURSO_DATABASE_URL="http://127.0.0.1:8080"
export TURSO_AUTH_TOKEN=""

First Episode

# Create an episode
do-memory-cli episode create --task "Implement feature X"

# Log steps
do-memory-cli episode log-step --episode-id <ID> --step "Read requirements"

# Complete the episode
do-memory-cli episode complete --episode-id <ID> --outcome success

# Extract patterns
do-memory-cli pattern extract --episode-id <ID>

MCP Server

# Start the server
do-memory-mcp-server

# The server communicates via JSON-RPC over stdin/stdout

Architecture

Episodes

Patterns

Memory Retrieval

MCP Server

CLI Reference

API Reference

Configuration

Development