_
_ __ ___ _ __ ___ (_) __ _
| '_ ` _ \| '_ \ / _ \ | |/ _` |
| | | | | | | | | __/ | | (_| |
|_| |_| |_|_| |_|\___| |_|\__,_|
mneia (μνεία) — Greek for "memory, reference"
Autonomous multi-agent personal knowledge system. mneia connects to your apps (read-only), learns about your work, and builds persistent local memory that powers AI assistants with deep personal context.
What it does
- Connects to 10 data sources (Calendar, Gmail, Obsidian, Local Folders, GitHub, and more) — read-only, always
- Learns by extracting entities, relationships, and patterns via GLiNER NER + LLM structured extraction
- Remembers everything locally in a temporal knowledge graph with vector embeddings — nothing leaves your machine
- Thinks autonomously — identifies gaps, proposes connections, and surfaces insights
- Generates
.md context files for Claude Code, Cursor, and other AI tools
- Serves as an MCP server so AI tools can query your knowledge directly
- Converses with you through an interactive REPL with search, chat, and graph queries
Install
pip install mneia
With intelligence extras (NER, reranking, structured extraction):
pip install 'mneia[intelligence]'
With everything:
pip install 'mneia[all]'
Quick Start
mneia config setup # Configure LLM provider (Ollama, Anthropic, or OpenAI)
mneia connector enable obsidian
mneia connector setup obsidian
mneia start -d # Start daemon in background
mneia # Enter interactive REPL
Or for immediate one-off queries without the daemon:
mneia ask "what did I discuss with Alice last week?"
mneia memory search "project deadline"
Interactive Mode
Running mneia with no arguments enters an interactive REPL with:
- Slash commands —
/search, /ask, /graph, /sync, /improve, /visualize, and more
- Natural language routing — type plain text and mneia detects intent automatically
- RAG conversations — queries your knowledge base with context-aware LLM responses and citations
- Session memory — conversations are summarized and injected as context on next session
- Background auto-cycle — syncs all connectors + extracts entities + regenerates context every 10 minutes automatically
- Tab completion and command history
mneia › /search project alpha
mneia › who did I meet with at the last planning session?
mneia › /sync all
mneia › /improve
mneia › /visualize
For all available commands: mneia --help or type /help in the REPL.
Smart RAG (v0.3.0)
mneia's conversational search uses a multi-stage intelligent retrieval pipeline:
- ReAct loop — LLM routes each question to the most relevant sources, generates sub-queries, and evaluates whether gathered context is sufficient before answering
- Source routing — keyword detection + LLM routing directs queries to the right connectors (calendar for meetings, gmail for email, etc.)
- Temporal reasoning — natural language time expressions ("last week", "Q1 2024", "yesterday") are parsed into timestamp filters applied at the DB level
- RAG Fusion (RRF) — Reciprocal Rank Fusion merges results from multiple independent searches (initial, sub-queries, fallback, vector) for better recall
- HyDE — Hypothetical Document Embeddings: LLM generates a hypothetical answer first, then embeds that for semantic search — bridges vocabulary gap between questions and documents
- Sentence-window retrieval — returns the best-matching sentence window from each document rather than a raw content slice
- RAPTOR — KnowledgeAgent periodically clusters documents with TF-IDF + agglomerative clustering and generates LLM summaries of each cluster, stored as synthetic searchable documents
- Co-reference resolution — pronouns in documents are resolved to canonical names before entity extraction (optional:
pip install fastcoref)
- Cross-encoder reranking — final results ranked by a cross-encoder (optional:
pip install 'mneia[intelligence]')
Context window: 80,000 characters. Search limit: 200 documents per pass.
Knowledge Improvement (/improve)
RLHF-style interactive session that walks through your knowledge graph and lets you validate or correct it:
- Entities are shown most-mentioned first (highest signal first)
- Per entity: keep (validate), update description, or delete
- Per relationship: correct, change relation type, or remove
- All changes apply immediately to the graph (in-memory + SQLite)
- Corrections saved to
~/.mneia/preferences.json — future LLM extraction runs honour them
mneia › /improve
[1/47] Alice (person) mentions: 12 connections: 8
description: Product manager at Acme
works_with → Bob, part_of → Acme
[1] keep [2] update [3] delete [s] skip [q] quit
Graph Visualizer (/visualize)