Skip to content

itz-mune/RAGdoll

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

80 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

RAGdoll logo

RAGdoll

Local-first AI chat with retrieval-augmented generation.
Your conversations, your documents, your models β€” all on your machine.

Release Platform License: MIT

RAGdoll screenshot


What is RAGdoll?

RAGdoll is a desktop chat application that connects to the AI providers you already use while keeping every conversation and document stored locally. It automatically embeds your chat history and uploaded files into a private vector database, then retrieves the most relevant context for every message β€” no cloud, no telemetry, no subscriptions beyond your own API keys.


πŸ†• What's New β€” v0.2.0

πŸ“„ Document Creation (File R/W skill)

  • WeasyPrint PDF engine β€” replaces reportlab as the primary PDF renderer; full CSS layout, custom fonts, page numbers, and header/footer via @page rules. reportlab remains as a fallback.
  • Image embedding β€” the agent can now fetch images from the web and embed them directly into DOCX, PDF, and HTML documents.
  • Smart text-wrap β€” images float left or right with text wrapping around them. Alignment is auto-detected from the image's aspect ratio (landscape β†’ centre/full, portrait β†’ float right) or controlled explicitly with ![caption|left](url), ![caption|right](url), ![caption|center](url), ![caption|full](url).
  • DOCX floating images β€” uses native OOXML wp:anchor elements so Word honours the wrap style correctly.
  • PPTX & XLSX support β€” python-pptx and openpyxl added for reading and writing PowerPoint and Excel files.

πŸ–ΌοΈ Image Search plugin (new)

  • Dedicated image-search skill β€” triggered only when the user explicitly asks for images or when the File R/W skill needs them for a document.
  • Four providers: DuckDuckGo (default, no key), Unsplash, Pexels, Pixabay β€” switchable in plugin settings.
  • Dynamic settings fields β€” API key inputs appear only for the selected provider (show_if conditional fields now supported across all plugin settings drawers).
  • Pre-installed and auto-wired with the File R/W skill.

πŸ’¬ Inline image display in chat

  • Images returned by the agent are rendered as Discord-style thumbnails directly inside the chat bubble β€” loading skeleton, broken-URL fallback, and cursor-zoom-in hint.
  • Click any image to open a full-screen lightbox with backdrop blur, smooth scale animation, and ESC / click-outside to dismiss.

πŸ”„ Smarter update flow

  • Two-phase download/install β€” clicking "Check for updates" no longer downloads immediately. A Download button appears first; progress, download speed (MB/s), bytes transferred, and ETA are shown inline while downloading. After download completes an Install & restart button appears.
  • Same rich progress UI in both the top banner and the About settings tab.

πŸ› οΈ Other improvements

  • /compact slash command β€” summarises and compresses long conversations to reclaim context window space.
  • Context-overflow protection β€” the sidecar now detects token budget exhaustion and auto-compacts before hitting provider limits.
  • Universal File Access skill β€” lets the agent read, search, and index files anywhere on disk.
  • Context-menu permission dialogs for File R/W write/delete operations.
  • Onboarding polish β€” correct repo links, white logo on the welcome screen, and a hidden Ctrl+Shift+F1 shortcut to replay onboarding.
  • 13 RAG performance optimisations β€” ONNX-accelerated embedder, IVF-PQ index, prompt caching, LRU retrieval cache, semantic dedup, async HTTP pool, SSE compression, staged warm-up, and more.

✨ Features

πŸ€– Multi-provider OpenAI, Anthropic, Groq, Google Gemini, Ollama, HuggingFace, OpenRouter
🧠 Persistent memory Every message and document is embedded locally with ONNX-accelerated all-MiniLM-L6-v2
πŸ“„ Document ingestion PDF, DOCX, TXT, CSV, JSON, PPTX, XLSX β€” drag-drop or attach inline
πŸ“ Document creation Generate DOCX, PDF, HTML from chat β€” with images, text-wrap, and styled layouts
πŸ–ΌοΈ Image search Find freely-licensed images (DDG / Unsplash / Pexels / Pixabay) and embed them in documents
πŸ” Semantic search Full memory browser with search, filtering, and per-chunk management
🧩 Plugins Install community skills from the RAGdoll Plugins repo
πŸ‘€ Model profiles Named profiles per provider/model with separate API keys
πŸ–₯️ System tray Hide to tray, launch on startup, new chat from tray menu
πŸ”„ Smart updates Background check; two-phase download/install with speed & ETA
🎨 Theming Dark / light / system, custom accent colour, font size & density
⌨️ Keyboard-first Ctrl+N new chat · Ctrl+P switch profile · Ctrl+, settings · and more

🧩 Plugins

RAGdoll's skill system is fully plugin-based. All community plugins live in the dedicated plugins repository:

github.com/itz-mune/RAGdoll-plugins

Pre-installed skills

Skill Description
File R/W Read, write, diff, and create rich documents (DOCX / PDF / HTML) with image embedding
Universal File Access Index and search files anywhere on your filesystem
Image Search Fetch freely-licensed images from the web; auto-wired with File R/W
Web Search Live web search via DuckDuckGo / SearXNG
YouTube Transcripts Pull transcripts from any YouTube video

Installing plugins

  1. Open Settings β†’ Plugins.
  2. Browse the marketplace or paste a plugin URL.
  3. Click Install β€” the skill is available immediately in the next chat.

Building your own plugin

Each plugin is a folder with a manifest.json (name, description, config fields) and a skill.py (a LangChain tool class). See the plugin authoring guide in the plugins repo for a full walkthrough.


πŸ“¦ Installation

Download the latest installer for your platform from the Releases page:

Platform File
Windows RAGdoll_0.2.0_x64-setup.exe or _x64_en-US.msi
macOS (Apple Silicon) RAGdoll_0.2.0_aarch64.dmg
macOS (Intel) RAGdoll_0.2.0_x86_64.dmg
Linux RAGdoll_0.2.0_amd64.AppImage or _amd64.deb

Latest release: v0.2.0

macOS: If Gatekeeper blocks the app, right-click β†’ Open on first launch.

Windows: RAGdoll requires WebView2. Windows 11 and Windows 10 (post-2021) already include it β€” the installer will download it automatically on older systems.

Linux: RAGdoll requires libwebkit2gtk-4.1. Install it with:

sudo apt install libwebkit2gtk-4.1-0   # Ubuntu / Debian / Mint
sudo dnf install webkit2gtk4.1          # Fedora / RHEL

Alternatively, use the .AppImage which bundles most dependencies.


πŸš€ Build from source

Prerequisites

Tool Version
Rust stable
Node.js 20+
pnpm 9+
uv latest

Windows (PDF support): WeasyPrint requires GTK3 runtime libraries. Install via the GTK3 for Windows runtime installer or via MSYS2:

pacman -S mingw-w64-x86_64-gtk3 mingw-w64-x86_64-pango mingw-w64-x86_64-cairo

Steps

# 1. Clone
git clone https://github.com/itz-mune/RAGdoll.git
cd RAGdoll

# 2. Install frontend dependencies
pnpm install

# 3. Install Python sidecar dependencies
cd sidecar && uv sync && cd ..

# 4. Run in development mode
pnpm tauri dev

The first run downloads and converts the embedding model to ONNX (~1 min, one-time).

Production build

pnpm tauri build

πŸ—οΈ Tech stack

Layer Technology
Shell Tauri v2 (Rust)
Frontend React 19 Β· TypeScript Β· Vite Β· Tailwind CSS v4
Sidecar Python Β· FastAPI Β· uvicorn
AI LangChain Β· LangGraph
Memory LanceDB Β· ONNX Runtime Β· all-MiniLM-L6-v2
State Zustand Β· Tauri plugin-store
PDF WeasyPrint (primary) Β· reportlab (fallback)
Documents python-docx Β· python-pptx Β· openpyxl Β· Pillow
Packaging PyInstaller Β· GitHub Actions (Win / macOS / Linux)

🀝 Contributing

Pull requests are welcome. For major changes please open an issue first.

# Type-check frontend
pnpm tsc --noEmit

# Lint Rust
cd src-tauri && cargo clippy

See RELEASING.md for the release workflow.


πŸ“„ License

MIT

About

πŸͺ† RAGdoll is a user-friendly RAG client and local AI workspace for serious document work β€” retrieves, writes, and builds fully formatted DOCX, PDF, and HTML with images, all from your own files and hardware. Plugin-extensible, fully private, no cloud required.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors