Skip to main content
EchoVault uses a YAML configuration file to customize how memories are stored, searched, and retrieved. Configuration is optional — EchoVault works out of the box with keyword search (FTS5).

Quick Start

Generate a starter configuration file:
memory config init
This creates ~/.memory/config.yaml with sensible defaults. Edit the file to customize your setup.

Configuration File Location

The configuration file is stored at:
<memory_home>/config.yaml
Where <memory_home> is resolved in this order:
  1. MEMORY_HOME environment variable (highest priority)
  2. Persisted location via memory config set-home
  3. ~/.memory/ (default)

Configuration Structure

The config.yaml file has three main sections:
# EchoVault configuration
# Docs: https://github.com/mraza007/echovault#configure-embeddings-optional

# Embedding provider for semantic search.
# Without this, keyword search (FTS5) still works.
embedding:
  provider: ollama              # ollama | openai
  model: nomic-embed-text
  # base_url: http://localhost:11434   # ollama default; for openai: https://api.openai.com/v1
  # api_key: sk-...            # required for openai

# How memories are retrieved at session start.
# "auto" uses vectors when available, falls back to keywords.
context:
  semantic: auto                # auto | always | never
  topup_recent: true            # also include recent memories

Configuration Sections

Embedding

Controls how memories are converted to vectors for semantic search.
FieldTypeDefaultDescription
providerstringollamaEmbedding provider: ollama or openai
modelstringnomic-embed-textModel name for embeddings
base_urlstring(varies)API endpoint URL (optional)
api_keystringnullAPI key for cloud providers (optional)
Without embeddings configured, EchoVault uses FTS5 (SQLite full-text search) for keyword-based search. This works well for exact matches and simple queries.

Context

Controls how memories are retrieved at session start.
FieldTypeDefaultDescription
semanticstringautoWhen to use semantic search: auto, always, or never
topup_recentbooleantrueInclude recent memories in context
Semantic modes:
  • auto — Use vector search when embeddings are available, fall back to FTS5 keywords
  • always — Always use vector search (errors if embeddings not configured)
  • never — Only use FTS5 keyword search (ignore embeddings)

View Current Configuration

To see your effective configuration:
memory config
Output includes:
  • Embedding provider and model
  • Context retrieval settings
  • Memory home location and source (env, config, or default)
API keys are automatically redacted in memory config output for security.

Configuration Priority

When multiple configuration sources exist, EchoVault resolves settings in this order:
  1. Environment variables (e.g., MEMORY_HOME)
  2. Configuration file (config.yaml)
  3. Built-in defaults

Next Steps

Configure Embeddings

Set up Ollama, OpenAI, or vLLM for semantic search

Memory Location

Change where memories are stored

Redaction Rules

Add custom patterns to redact sensitive data

Reindex Memories

Rebuild vectors after changing providers

Build docs developers (and LLMs) love