Search your notes, emails, ebooks, RSS feeds, and code repos with one query. Shared document cache with separate indexes per group — index once, search from multiple AI agents. Powers the RAG backend for NanoClaw. Everything runs locally; nothing leaves your machine.
Forked from sebastianhutter/local-rag. Built with Claude. Powered by Docling (IBM). Inspired by devrag.
- 11 document formats — PDF, DOCX, PPTX, XLSX, HTML, LaTeX, CSV, AsciiDoc, EPUB, images, plaintext
- Audio transcription — MP3, M4A, WAV, OGG, OPUS, and more via Whisper (local, optional)
- PDF intelligence — ML-powered table extraction, image description (SmolVLM), code block and formula recognition
- 17 programming languages — tree-sitter structural parsing extracts functions, classes, and symbols
- Git commit history — indexes commit messages and per-file diffs for code archaeology
- Image descriptions — a local vision model describes standalone images (PNG, JPG, TIFF, BMP, WebP)
| Source | What's Indexed |
|---|---|
| Obsidian | All files in your vault (.md, .pdf, .docx, .html, .epub, .txt, .pptx, .xlsx, images) |
| eM Client | Emails (subject, body, sender, recipients, date, folder) |
| Calibre | Ebook content and metadata (EPUB, PDF) |
| NetNewsWire | RSS/Atom articles |
| Code groups | Git repos grouped by org/topic — tree-sitter structural parsing (17 languages) + commit history |
| Project folders | Any document folder, dispatched to the right parser by file type |
# Install prerequisites
brew install ollama uv
ollama pull bge-m3
# Clone and index
git clone git@github.com:aihaysteve/local-rag.git ~/ragling
cd ~/ragling
uv run ragling index obsidian --vault ~/Documents/MyVault
# Search
uv run ragling search "kubernetes deployment strategy"The first run takes a minute or two while uv installs dependencies. No configuration file needed — pass paths directly on the command line.
Claude Code — add to your project's .mcp.json:
{
"mcpServers": {
"ragling": {
"command": "uv",
"args": ["run", "--directory", "/path/to/ragling", "ragling", "serve"]
}
}
}Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"ragling": {
"command": "uv",
"args": ["run", "--directory", "/path/to/ragling", "ragling", "serve"]
}
}
}- Getting Started — full onboarding walkthrough
- Indexing Sources — all source types with examples
- Configuration — config file reference
- CLI Reference — all commands at a glance
- Automatic Indexing — keep your index current with launchd
- Multi-Agent Setup — SSE transport for multiple AI agents
- Architecture — system design, schema, data flow
- Design — patterns, conventions, and rationale
- How Search Works — hybrid vector + keyword search with RRF
- Ollama & Embeddings — embedding model setup
This project is licensed under the MIT License.
Credits:
- Forked from sebastianhutter/local-rag
- Docling by IBM — ML-powered document conversion
- devrag — inspiration for multi-group MCP architecture
- Built with Claude by Anthropic