local-deep-research is a free, open source automation project written in Python and released under MIT. It has 9,099 GitHub stars, 821 forks and 889 open issues, and was last pushed 3 hours ago. On this registry it ranks #18 of 54 tracked projects in Automation, with 5 head-to-head comparisons available. It gained 4 stars over the last 3 tracked days.

What is local-deep-research?

Local Deep Research is an MIT-licensed, Python-based AI research assistant that performs deep, agentic research with proper citations across any local or cloud LLM and more than ten search engines, built for researchers, developers, and privacy-conscious self-hosters who want both the workload and the data to stay on hardware they control.

What it is

Local Deep Research is an open-source research assistant that runs multi-step, agentic search against a choice of language models and search backends, then returns answers with citations. It is distributed both as the Docker image localdeepresearch/local-deep-research and as the PyPI package local-deep-research, and it sits in the Python ecosystem alongside the inference runtimes it drives. On the model side it accepts local runners such as llama.cpp and Ollama as well as hosted providers including Google, Anthropic, and Mistral. On the retrieval side it draws from more than ten search engines, among them arXiv, PubMed, Brave, and the user's own private documents. Everything is held in a SQLCipher-encrypted database, with installation guidance in docs/SQLCIPHER_INSTALL.md.

The concrete problem it solves is the loss of control that comes with hosted deep-research assistants, where every query leaves the machine and every result lives in a vendor account. Local Deep Research replaces that pattern with a self-hosted stack in which the researcher chooses the model, chooses the search sources, and keeps the resulting knowledge base encrypted on their own system. The project reports results of roughly 95% on SimpleQA (n=500) and 77% on xbench-DeepSearch (n=100), achieved fully locally on a single RTX 3090 running Qwen3.6-27B, which is the benchmark claim it uses to argue that local hardware is now sufficient for this class of work.

Key capabilities

  • Agentic, multi-step research that returns findings with proper citations rather than unsourced summaries.
  • Reported accuracy of roughly 95% on SimpleQA (n=500) and 77% on xbench-DeepSearch (n=100) on a single RTX 3090 with Qwen3.6-27B.
  • Model flexibility across local runners (llama.cpp, Ollama) and cloud providers (Google, Anthropic, Mistral).
  • Over ten search engines, including arXiv, PubMed, and Brave, plus the user's own private documents as a retrieval source.
  • SQLCipher-encrypted database storage, documented in docs/SQLCIPHER_INSTALL.md.
  • Distribution as the Docker image localdeepresearch/local-deep-research and the PyPI package local-deep-research.
  • SearXNG integration, using the searxng/searxng container on port 8080 for search results.

Who uses it and how

  • Academic and scientific researchers who point the arXiv and PubMed engines at literature searches and need citations they can follow.
  • Homeserver and home-automation operators who run it as a container next to other self-hosted services on their own hardware.
  • Privacy-sensitive users with a single consumer GPU, such as an RTX 3090, who want the reported accuracy without sending queries to a hosted service.
  • Teams that already pay for a cloud LLM but still want local search and an encrypted, searchable knowledge base built from private documents.
  • Developers building an internal, searchable research corpus from material that must not leave the network.

Getting started

The README gives a Docker path: run ollama/ollama on port 11434 and pull a model such as gpt-oss:20b, run searxng/searxng on port 8080, then run localdeepresearch/local-deep-research. The package is also published to PyPI as local-deep-research for a direct install.

How it compares

The facts provided do not name any comparable tools, either paid or open source, so on the evidence available Local Deep Research stands alone in this registry. No licence, hosting, or cost comparison can be drawn against products that the supplied material does not identify.

When to use it — and when not to

A self-hoster must operate more than one moving part: an LLM runtime such as Ollama or llama.cpp, a search container such as SearXNG, and an encrypted SQLCipher database. Anyone who wants a zero-operations hosted service, or who has no GPU and no willingness to call a cloud model, should look elsewhere. The project also carries 889 open issues against 9,100 stars and 820 forks, and the supplied README excerpt is truncated mid-instruction, so prospective users should expect to read the full documentation and the SQLCipher install guide before committing.

project readme (upstream, from github) — read inline

Local Deep Research

GitHub stars Docker Pulls PyPI Downloads

Trendshift

Commits Last Commit

SimpleQA Accuracy SQLCipher

OpenSSF Scorecard CodeQL Semgrep

🔧 Pre-commit

🐳 Docker Publish 📦 PyPI Publish

Discord Reddit YouTube

AI-powered research assistant for deep, agentic research

Performs deep, agentic research using multiple LLMs and search engines with proper citations

🧪 First open-source project — fully-local on a single RTX 3090 (Qwen3.6-27B) — to report ~95% SimpleQA (n=500) and 77% xbench-DeepSearch (n=100) on local hardware. See the r/LocalLLaMA announcement and the benchmark dataset.

▶️ Watch Review by The Art Of The Terminal

🚀 What is Local Deep Research?

AI research assistant you control. Run locally for privacy, use any LLM and build your own searchable knowledge base. You own your data and see exactly how it works.

⚡ Quick Start

Option 1: Docker Run (Linux)

# Step 1: Pull and run Ollama
docker run -d -p 11434:11434 --name ollama ollama/ollama
docker exec ollama ollama pull gpt-oss:20b

# Step 2: Pull and run SearXNG for optimal search results
docker run -d -p 8080:8080 --name searxng searxng/searxng

# Step 3: Pull and run Local Deep Research
# (the URL line pins SearXNG's address AND marks it operator-approved —
#  private/localhost engine URLs are otherwise blocked by default since
#  v1.10.3. The URL becomes read-only in the web UI; docs/SearXNG-Setup.md
#  lists the alternatives, e.g. an origin allowlist.)
docker run -d --network host \
  --name local-deep-research \
  --volume "deep-research:/data" \
  -e LDR_DATA_DIR=/data \
  -e LDR_SEARCH_ENGINE_WEB_SEARXNG_DEFAULT_PARAMS_INSTANCE_URL=http://localhost:8080 \
  localdeepresearch/local-deep-research

Mac / Windows / WSL2 users: --network host only works on native Linux. On Docker Desktop it silently fails to publish port 5000 and leaves localhost pointing at the LDR container itself (so it can't reach Ollama/SearXNG). Use Option 2 below, or see the Windows/WSL2 FAQ entry for a working docker run recipe.

Option 2: Docker Compose

CPU-only (all platforms):

curl -O https://raw.githubusercontent.com/LearningCircuit/local-deep-research/main/docker-compose.yml && docker compose up -d

With NVIDIA GPU (Linux):

curl -O https://raw.githubusercontent.com/LearningCircuit/local-deep-research/main/docker-compose.yml && \
curl -O https://raw.githubusercontent.com/LearningCircuit/local-deep-research/main/docker-compose.gpu.override.yml && \
docker compose -f docker-compose.yml -f docker-compose.gpu.override.yml up -d

Open http://localhost:5000 after ~30 seconds. For GPU setup, environment variables, and more, see the Docker Compose Guide.

Option 3: pip install

pip install local-deep-research
python -m local_deep_research.web.app   # starts the web UI on http://localhost:5000

You'll also need Ollama (or any OpenAI-compatible LLM endpoint) and SearXNG running — see the pip install guide for the full recipe. Works on Windows, macOS, and Linux. SQLCipher encryption is included via pre-built wheels — no compilation needed. PDF export on Windows requires Pango (setup guide). If you encounter issues with encryption, set export LDR_BOOTSTRAP_ALLOW_UNENCRYPTED=true to use standard SQLite instead.

Detailed install guides: Docker · Docker Compose · pip · Unraid · full install reference

Older CPU (x86-64)? LDR needs an AVX-capable CPU — Intel Sandy Bridge / AMD Bulldozer (2011) or newer. Several scientific Python dependencies (pandas, scikit-learn) ship wheels that crash with Illegal instruction on older CPUs. ARM64 (aarch64) is fully supported. Every release is smoke-tested against this floor, including AVX-without-AVX2 CPUs (#4480).

🏗️ How It Works

Research

You ask a complex question. Local Deep Research (LDR):

  • Does the research for you automatically
  • Searches across web, academic papers, and your own documents
  • Synthesizes everything into a report with proper citations

Choose the research strategy that fits: quick pipeline modes for fast facts, or fully agentic deep research for complex analysis and academic work.

LangGraph Agent Strategy — An autonomous agentic research mode where the LLM decides what to search, which specialized engines to use (arXiv, PubMed, Semantic Scholar, etc.), and when to synthesize. It adaptively switches between search engines based on what it finds and collects significantly more sources than pipeline-based strategies — this is the strategy behind the ~95% SimpleQA result above. Select langgraph-agent in Settings.

Build Your Knowledge Base

flowchart LR
    R[Research] --> D[Download Sources]
    D --> L[(Library)]
    L --> I[Index & Embed]
    I --> S[Search Your Docs]
    S -.-> R

Every research session finds valuable sources. Download them directly into your encrypted library — academic papers from ArXiv, PubMed articles, web pages. LDR extracts text, indexes everything, and makes it searchable. Next time you research, ask questions across your own documents and the live web together. Your knowledge compounds over time.

🛡️ Security

DevSkim [![B

readme truncated — read the full docs on github

Frequently asked questions

Is local-deep-research free to use?

local-deep-research is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does local-deep-research do?

~95% on SimpleQA (e.g. Qwen3.6-27B on a 3090). Supports all local and cloud LLMs (llama.cpp, Ollama, Google, ...). 10+ search engines - arXiv, PubMed, your pri

What is local-deep-research written in?

local-deep-research is primarily written in Python. Its source is publicly available at https://github.com/LearningCircuit/local-deep-research, and it has 9,099 GitHub stars.