General
What is EchoVault?
What is EchoVault?
~/.memory/vault/ and are indexed in a local SQLite database.Why did you build this?
Why did you build this?
- Supermemory stores everything in the cloud (deal breaker for consulting work with multiple companies)
- Claude Mem caused high memory consumption, making it hard to run multiple agent sessions simultaneously
Is EchoVault free?
Is EchoVault free?
Local-First Architecture
What does 'local-first' mean?
What does 'local-first' mean?
- All memories are stored on your machine in
~/.memory/ - No cloud database, no remote storage
- Memories are human-readable Markdown files
- You own your data completely
- If you configure OpenAI for embeddings, those API calls go to their servers
- If you use Ollama (default), everything runs locally with zero network calls
Can I access my memories on multiple machines?
Can I access my memories on multiple machines?
~/.memory/ directory yourself.Options:- Use a cloud storage service (Dropbox, iCloud, Google Drive)
- Use Git to version control your vault
- Use rsync or syncthing for manual sync
- Point
MEMORY_HOMEto a network mount
Where are memories stored?
Where are memories stored?
~/.memory/ contains:Obsidian Compatibility
Can I read memories in Obsidian?
Can I read memories in Obsidian?
- Open Obsidian
- Open folder:
~/.memory/vault/ - Browse your memories like any other Obsidian vault
- Title as the note heading
- Metadata in frontmatter (category, tags, timestamps)
- Decision details in the body
Can I edit memories in Obsidian?
Can I edit memories in Obsidian?
index.db) is the source of truth for search and embeddings. Editing markdown files bypasses the database layer.Best practice:- Use Obsidian for reading and browsing
- Use
memory savefor creating and updating memories
Can I use Obsidian plugins with EchoVault?
Can I use Obsidian plugins with EchoVault?
- Dataview - Query memories by tag, category, or date
- Calendar - View memories by creation date
- Tag Wrangler - Manage memory tags
- Advanced Tables - If you add tables to memory details
Multi-Agent Usage
Can multiple agents share the same memory vault?
Can multiple agents share the same memory vault?
What happens if two agents save at the same time?
What happens if two agents save at the same time?
- If two agents save to different projects: usually fine
- If two agents save to the same project at the exact same moment: one may get a “database locked” error
Can I use different embedding providers for different agents?
Can I use different embedding providers for different agents?
~/.memory/config.yaml.Why: The vector dimension must be consistent across all embeddings in the database. Mixing providers would cause dimension mismatches.Workaround:
Use separate memory homes for different agent groups:Search and Retrieval
How does hybrid search work?
How does hybrid search work?
- FTS5 keyword search runs first (fast, works offline)
- If results are sparse or a semantic mode is enabled, vector search runs
- Results are merged with normalized scores
- Works out of the box, no configuration needed
- Uses Porter stemming and Unicode tokenization
- Fast, but only matches exact words or stems
- Requires embedding provider (Ollama or OpenAI)
- Understands meaning, not just keywords
- Slower, but finds conceptually similar memories
auto- Use vectors if Ollama model is loaded, otherwise keywordsalways- Always use vectors (may be slow)never- Keywords only (fastest)
What's the difference between memory search and memory context?
What's the difference between memory search and memory context?
memory search <query>- Searches all memories (or filtered by project/source)
- Returns ranked results by relevance
- Used during agent work to find specific memories
memory context- Returns recent memories for a project
- Used at session start to load prior context
- Can optionally use a query for semantic filtering
Why does search sometimes return fewer results than expected?
Why does search sometimes return fewer results than expected?
- Project filtering - By default, searches are scoped to the current project
- FTS5 tokenization - Technical terms may not match exactly
- Limit parameter - Default limit is 5 results
Embedding Providers
Should I use Ollama or OpenAI for embeddings?
Should I use Ollama or OpenAI for embeddings?
- You want fully local operation (no cloud calls)
- You have GPU or decent CPU
- You want zero ongoing cost
- You work offline or with sensitive data
- You don’t want to run local models
- You need the highest quality embeddings
- You’re okay with cloud API calls
- You already have OpenAI credits
- Ollama (nomic-embed-text): ~384 dimensions, very fast locally
- OpenAI (text-embedding-3-small): ~1536 dimensions, higher quality but network latency
memory reindex after changing providers.Can I use a custom embedding model?
Can I use a custom embedding model?
ollama pull:config.yaml:What happens if I don't configure embeddings?
What happens if I don't configure embeddings?
- Semantic vector search
- Conceptual similarity matching
- Keyword search via FTS5 (fast and effective)
- All storage and retrieval features
- Full MCP integration
Security and Privacy
How does secret redaction work?
How does secret redaction work?
<redacted> tags:sk_live_*- Stripe live keysghp_*- GitHub tokensAKIA*- AWS access keys-----BEGIN PRIVATE KEY------ Private keys- JWT tokens, passwords, API keys, etc.
~/.memory/.memoryignore:[REDACTED] before storage.Can I see what would be redacted before saving?
Can I see what would be redacted before saving?
Project and File Management
How are projects detected?
How are projects detected?
--project:Can I organize memories into subdirectories?
Can I organize memories into subdirectories?
- Tags -
--tags "frontend,auth,bug" - Categories -
--category "decision" - Related files -
--related-files "src/auth.ts"
What happens to old session files?
What happens to old session files?
Advanced Usage
Can I use EchoVault in CI/CD?
Can I use EchoVault in CI/CD?
- Pre-seed memory vault with project context for agents
- Export memory summaries as documentation
- Validate that agents are saving memories correctly
- Don’t commit
~/.memory/to Git (contains local paths and potentially sensitive data) - Use
MEMORY_HOMEto point to a project-specific location - Be mindful of secrets in CI logs
Can I export memories to JSON or other formats?
Can I export memories to JSON or other formats?
Still Have Questions?
If your question isn’t answered here:- Check the Troubleshooting guide for technical issues
- Review the Privacy documentation for security concerns
- Browse GitHub Issues for similar questions
- Open a new issue if you’re stuck