Skip to content

aihaysteve/local-rag

 
 

Repository files navigation

ragling

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.

Capabilities

  • 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)

Supported Sources

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

Quick Start

# 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.

Connect to Claude

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"]
    }
  }
}

Documentation

License & Credits

This project is licensed under the MIT License.

Credits:

About

A simple local RAG with sqlite and ollama. All data is kept local, MCP exposes it for further use.

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE.superpowers

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 99.7%
  • Other 0.3%