A fully local web research and report writing assistant that protects your privacy. The AI models run locally using Ollama or LM Studio, and web searches are performed locally with SearXNG. By default, no API keys are required.
Note: Steps 1 and 2 are optional. You can instead run models and web searches in the cloud. To do so, add the required API keys to your .env file. Supported model providers include OpenRouter, Together AI, DeepInfra, and OpenAI. For web searches, Deep Researcher 2 supports Brave, DuckDuckGo, Perplexity, Serper and Tavily.
- Install Ollama and download a model.
ollama pull qwen2.5:72b
- Start SearXNG.
git clone git@github.com:lars20070/searxng-docker.git cd searxng-docker sed -i '' "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml docker compose up -d # Check localhost:8080
- Set up environment variables.
Create a.envfile and fill in the placeholders including theTOPIC.cp .env.example .env
- Start up the workflow.
uv run research
stateDiagram-v2
WebSearch: Web Search
SummarizeSearchResults: Summarize Search Results
ReflectOnSummary: Reflect on Summary
FinalizeSummary: Finalize Summary
[*] --> WebSearch
WebSearch --> SummarizeSearchResults: web search result
SummarizeSearchResults --> ReflectOnSummary: web search summary
ReflectOnSummary --> WebSearch: reflection
ReflectOnSummary --> FinalizeSummary
FinalizeSummary --> [*]
Deep Researcher 2 workflow