🔬 Local Deep Research (LDR): Investigación Profunda Local, Privada y Cifrada

RESUMEN EJECUTIVO

Local Deep Research (LDR) (LearningCircuit/local-deep-research) es un asistente autónomo de investigación profunda de código abierto (+9,200 ⭐ en GitHub, licencia MIT) diseñado para ejecutarse completamente en local, sin telemetría y con base de datos cifrada.

Es el primer proyecto open-source capaz de alcanzar un ~95,7% de precisión en SimpleQA y un 77% en xbench-DeepSearch corriendo 100% en hardware local (GPU RTX 3090 con Qwen3.6-27B). Utiliza una arquitectura de agentes autónomos con LangGraph, combina más de 10 motores de búsqueda académicos y web (arXiv, PubMed, Semantic Scholar, SearXNG…), filtra revistas depredadoras y exporta informes ejecutivos con citas rigurosas. Además, incluye un servidor MCP nativo para integrarse con Antigravity, Claude Code y Cursor.


📋 Ficha Técnica y Recursos

ParámetroDetalle Técnico
Repositorio OficialLearningCircuit/local-deep-research (GitHub)
LicenciaMIT License (Código abierto y libre)
Popularidad+9,200 estrellas y +850 forks en GitHub
Hito en Benchmarks95,7% SimpleQA (n=300) y 77,0% xbench-DeepSearch (n=100) en local
Motor de AgentesLangGraph (estrategia adaptativa langgraph-agent)
Backend & ServidorPython, FastAPI, Uvicorn, WebSockets
Seguridad de DatosBase de datos cifrada con SQLCipher, protección contra SSRF
PrivacidadCero telemetría, cero analíticas, sin llamadas ocultas
Protocolo MCPServidor ldr-mcp integrado (vía STDIO)
DespliegueDocker, Docker Compose, pip install local-deep-research

🧠 ¿Qué es Local Deep Research? (El Concepto)

Tradicionalmente, servicios como OpenAI Deep Research o Perplexity Pro exigen enviar consultas confidenciales, historiales y documentos privados a la nube de terceros bajo costosas suscripciones mensuales.

Local Deep Research (LDR) es la alternativa soberana:

graph TD
    User["Tú (Pregunta compleja o tema de investigación)"] --> LDR["🔬 Local Deep Research (LDR Engine)"]
    
    subgraph "Orquestación de Agente (LangGraph)"
        LDR --> Strat["🧠 langgraph-agent (Decide qué buscar y cuándo parar)"]
        Strat --> JQ["🛡️ Journal Quality Filter (OpenAlex / DOAJ / 212k+ fuentes)"]
        Strat --> Retrier["⚡ Adaptive Rate Limiter (Ajuste inteligente de reintentos)"]
    end

    subgraph "Fuentes de Búsqueda Conectadas"
        Strat --> Acad["📚 Académico: arXiv, PubMed, Semantic Scholar"]
        Strat --> Web["🌐 Web General: SearXNG Local, Wikipedia, The Guardian"]
        Strat --> Priv["📁 Documentos Privados: Local Files, Paperless-ngx, LangChain"]
    end

    subgraph "Motores LLM (Inferencia)"
        Strat --> LocalLLM["🐧 Local: Ollama / LM Studio / llama.cpp (Qwen, DeepSeek)"]
        Strat --> CloudLLM["☁️ Cloud Opcional: Gemini, Claude, OpenAI, OpenRouter"]
    end

    subgraph "Almacenamiento y Entregables"
        LDR --> EncDB[("🔐 SQLCipher Database (Cifrado local AES-256)")]
        LDR --> Report["📑 Informes Exhaustivos con Citas (Markdown / PDF)"]
        LDR --> MCP["🔌 Servidor MCP (Antigravity, Claude Code, Cursor)"]
    end

🎯 Los 4 Pilares de LDR

  1. Control Total y Privacidad Real: No hay telemetría ni rastreo. Tus búsquedas, datos de usuario y notas se guardan en una base de datos SQLite cifrada mediante SQLCipher.
  2. Razonamiento Agéntico Multimodal: El agente decide de forma dinámica qué motor consultar (si es médico acude a PubMed, si es físico/matemático a arXiv, si es general a SearXNG).
  3. Citas y Fuentes Honestas: Identifica cada afirmación con enlaces a las fuentes originales, respetando los estándares de robots.txt.
  4. Filtro de Integridad Científica (Journal Quality System): Evalúa la reputación de las revistas científicas indexadas contra más de 212,000 fuentes (vía OpenAlex, DOAJ y Stop Predatory Journals), advirtiendo si una fuente proviene de una publicación depredadora o dudosa.

🔍 Modos de Investigación

ModoDuración¿Para qué sirve?
⚡ Quick Summary30s – 3 minRespuestas rápidas con fuentes verificadas para comprobar hechos o conceptos puntuales.
📊 Detailed Research5 – 15 minAnálisis exhaustivo con estructura temática, evidencia cruzada y múltiples fuentes.
📑 Report Generation10 – 30 minGeneración de informes profesionales completos con tabla de contenidos, capítulos y bibliografía.
📁 Document Analysis30s – 2 minBúsqueda y síntesis profunda sobre tu propia colección de archivos privados o repositorios locales.
💬 Chat ModeContinuoConversaciones de investigación multi-turno con transmisión en vivo (streaming) y acumulación de contexto.
📰 News & Research SubscriptionsProgramadoSuscripción automática a temas; el sistema genera resúmenes periódicos (diarios/semanales) de novedades.

🌐 Fuentes y Motores de Búsqueda Soportados

1. Motores Gratuitos y Open Access:

  • Académicos: arXiv, PubMed, Semantic Scholar.
  • Web General: SearXNG (metabuscador libre que agrega Google, Bing, DuckDuckGo sin rastreo), Wikipedia.
  • Código y Documentos: GitHub, Elasticsearch.
  • Archivos Históricos: Wayback Machine (Internet Archive) para consultar páginas eliminadas.
  • Noticias: The Guardian, Wikinews.

2. Fuentes Privadas / Propias:

  • Documentos Locales: Archivos de texto, Markdown y PDFs almacenados en tu disco.
  • Paperless-ngx: Integración directa con tu gestor documental personal.
  • LangChain Retrievers: Cualquier base de datos vectorial existente (Chroma, Qdrant, Milvus…).

3. Motores Comerciales Opcionales:

  • Tavily, Brave Search, Google Search (vía SerpAPI o Programmable Search Engine).

🤖 Soporte de Modelos LLM

LDR permite desacoplar los motores de búsqueda de la inferencia:

1. Modelos 100% Locales (Coste $0):

  • Ollama: Conexión nativa en http://localhost:11434.
  • LM Studio: Servidor compatible OpenAI en http://localhost:1234/v1.
  • llama.cpp: Conexión HTTP directa con llama-server -m modelo.gguf en http://localhost:8080/v1.
  • Modelos recomendados: Qwen3.6-27B (líder de precisión), Qwen3.5-9B, DeepSeek-R1, Mistral Nemo.

2. Modelos Cloud (Opcional):

  • Google Gemini, Anthropic Claude, OpenAI, o más de 100 modelos mediante OpenRouter o Requesty.

🔌 Servidor MCP Integrado (ldr-mcp)

LDR incluye un servidor bajo el estándar Model Context Protocol (MCP). Esto permite que asistentes como Antigravity CLI, Claude Code, Claude Desktop o Cursor invoquen las capacidades de investigación profunda de LDR como herramientas nativas.

Herramientas Expuestas vía MCP:

  • search: Consulta directa y rápida a un motor específico (arXiv, PubMed, GitHub…) sin consumo de tokens LLM.
  • quick_research: Resumen rápido de investigación citado.
  • detailed_research: Análisis exhaustivo de 5 a 15 minutos.
  • generate_report: Generación de informe completo en Markdown.
  • analyze_documents: Búsqueda semántica en tus documentos locales.
  • list_search_engines: Lista los motores activos disponibles.

Configuración en Claude Code / Antigravity (.mcp.json):

{
  "mcpServers": {
    "local-deep-research": {
      "command": "ldr-mcp",
      "env": {
        "LDR_LLM_PROVIDER": "ollama",
        "LDR_LLM_OLLAMA_URL": "http://localhost:11434",
        "LDR_SEARCH_ENGINE_WEB_SEARXNG_DEFAULT_PARAMS_INSTANCE_URL": "http://localhost:8080"
      }
    }
  }
}

🚀 Guía de Instalación Rápida en Linux Mint

Opción A: Despliegue con Docker Compose (Recomendada con SearXNG)

# 1. Descargar docker-compose oficial
curl -O https://raw.githubusercontent.com/LearningCircuit/local-deep-research/main/docker-compose.yml
 
# 2. Iniciar en segundo plano
docker compose up -d

Abre tu navegador en: 👉 http://localhost:5000

(Si cuentas con tarjeta gráfica NVIDIA, añade la capa GPU con 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).


Opción B: Instalación con Python / pip

# 1. Crear entorno virtual en Python 3.11 / 3.12
python3 -m venv ~/dev/ldr-env
source ~/dev/ldr-env/bin/activate
 
# 2. Instalar el paquete con soporte MCP
pip install "local-deep-research[mcp]"
 
# 3. Iniciar la interfaz web
python -m local_deep_research.web.app

La aplicación iniciará automáticamente el servidor en http://localhost:5000 con base de datos SQLCipher precompilada.


🔗 Referencias y Conexiones en Ryukami Labs