
Local Deep Research
github.com/learningcircuit/local-deep-research- Category
- AI Agents
- Rank
- No. 128Tools index
- Listed in
- #1 Research with an agent
- Pricing
- Open Source
- Type
- APP
- Use case
- Research & Education · Data, Retrieval & Knowledge
- Interfaces
- Web · CLI · MCP
- Builder
- learningcircuit
- GitHub
- 9.1k stars
- Latest release
- v1.10.7
- Date
About
AI-powered research assistant that performs deep, autonomous research using multiple LLMs and search engines with proper citations. Runs locally for privacy and builds a searchable knowledge base from academic papers, web sources, and your documents.
What it does
Give it a complex question and choose either a fast pipeline or an agent-led investigation. The agent can select specialized academic and web search services, gather sources, and decide when to synthesize. Research sessions can also feed an encrypted document library whose indexed contents become available to later questions.
Why it's ranked here
This is unusually complete for self-hosted research: web research, academic search, document retrieval, citations, report export, a browser interface, a Python API, and agent integration share one package. The catch is operational weight. A basic installation still expects a language model endpoint and SearXNG, while several document, browser, vector, plotting, and export dependencies enlarge the stack.
What's good
Users can trade speed for depth instead of sending every question through one expensive workflow. The agent mode can switch among sources such as arXiv, PubMed, and Semantic Scholar as evidence develops. Per-user SQLCipher databases isolate documents and API keys. The library extracts, indexes, and embeds saved sources, turning completed research into reusable context.
Tradeoffs
Local control does not mean zero setup. The pip route requires Python 3.12 or newer, plus a language model endpoint and SearXNG. Older x86 hardware must support AVX. Windows PDF export needs Pango. The MCP server uses local standard input and output transport, with no authentication or rate limiting for network exposure.
How to use it well
It suits researchers and technical teams willing to operate local services and retain a growing source library. Use quick modes for fact gathering, then reserve agent mode for questions requiring adaptive source selection. Save strong sources so later work can combine them with live search. It does not replace a hosted, authenticated network research API; its MCP service is explicitly local-only.
Technical notes+
The Python distribution is defined in pyproject.toml with PDM, Python >=3.12,<3.15, MIT classification, ldr-web and ldr-mcp entry points, and an optional mcp dependency group. src/local_deep_research/api/__init__.py exposes research functions, settings helpers, an HTTP client, and news operations. src/local_deep_research/mcp/server.py builds a FastMCP server over local STDIO, exposes research, document-analysis, raw-search, discovery, and configuration tools, validates inputs, classifies errors, and returns policy-denial responses without leaking targets. src/local_deep_research/embeddings/__init__.py supports Sentence Transformers, Ollama, and OpenAI providers. src/local_deep_research/exporters/__init__.py registers LaTeX, ODT, PDF, Quarto, and RIS exporters, with PDF treated as optional at import time. package.json defines a private Vite frontend requiring Node >=24 and Vitest-based tests.
Observed
- License
- MIT License, declared by the Python package classifier.
- Primary implementation
- Python package with a private JavaScript Vite frontend.
- Installation
- Distributed through PyPI and Docker, with Docker Compose configurations documented.
- Interfaces
- Local web UI, Python API, HTTP client, and optional MCP server with console entry points.
- Platform support
- Windows, macOS, Linux, and ARM64 are documented; x86-64 requires an AVX-capable CPU.
- Data storage
- Each user receives an isolated SQLCipher database containing documents and encrypted API keys.
- MCP security boundary
- The MCP server is designed for local STDIO use and has no built-in authentication or rate limiting.
- Test tooling
- The Python package configures pytest, coverage, Hypothesis, and multiple test markers; the frontend configures Vitest.
Read from README.md, package.json, pyproject.toml, src/local_deep_research/__init__.py, src/local_deep_research/mcp/server.py, src/local_deep_research/api/__init__.py, src/local_deep_research/llm/__init__.py, src/local_deep_research/mcp/__init__.py, src/local_deep_research/mcp/__main__.py, src/local_deep_research/chat/__init__.py, src/local_deep_research/metrics/__init__.py, src/local_deep_research/defaults/__init__.py, src/local_deep_research/exporters/__init__.py, src/local_deep_research/embeddings/__init__.py.
What it can do
Perform autonomous research on any topic
Research query or topic → Comprehensive research report with proper citations
Search and analyze academic papers
Academic topic or paper titles → Extracted insights and citations from academic sources
Process and index personal documents
User's local documents and files → Searchable knowledge base entries
Query multiple search engines simultaneously
Search terms or research questions → Aggregated search results from multiple sources
Build searchable knowledge database
Research findings and document content → Encrypted local knowledge base with search functionality
Generate research responses with high accuracy
Questions requiring factual answers → Accurate responses with ~95% SimpleQA accuracy rate
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.