Skip to content

Open Deep Research

A small TypeScript agent that researches a topic in rounds, using web search and an LLM to write a report.dzhng/deep-research

Stars
19.9k
Forks
2k
Licence
MIT
Language
TypeScript
Last update
7 months ago
Type
AI model / agent

What it is

This project is a research assistant you run from the command line. You give it a question, and it generates search queries, reads the results, pulls out key learnings, and then follows new directions based on what it found. When it finishes, it writes a markdown report with findings and sources. The README says the goal is a simple implementation that stays under 500 lines of code so others can learn from it and build on it.

  • Generate a multi-part markdown report on a topic you enter at the prompt
  • Adjust breadth and depth to control how wide and how far the research goes
  • Use a local LLM server through an OpenAI-compatible endpoint instead of OpenAI
  • Run the project in Docker with docker compose

Great for

  • Developers who want a readable example of a deep research agent to learn from or extend
  • Students exploring how LLMs can be chained with search and scraping
  • People who already have OpenAI and Firecrawl API keys and want a starting point for automated topic reports

Not ideal for

  • Users who want a polished end-user app: the README describes a command-line workflow with environment files and no graphical interface
  • People without API keys or budget for them, since the README requires a Firecrawl key and an OpenAI key (or a local LLM endpoint)
  • Anyone needing guaranteed-accurate research: the README does not describe any verification of sources or claims
Step-by-step guide: how to use Open Deep ResearchInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Clone and build from source

    You'll need: Node.js · Firecrawl API key · OpenAI API key (or a local OpenAI-compatible LLM server)

    Install dependencies

    npm install

    Start the research assistant

    npm start
  2. 2

    Run it

    • Clone the repository and run npm install
    • Create a .env.local file with FIRECRAWL_KEY and OPENAI_KEY
    • Run npm start
    • Enter your research query, then set breadth and depth and answer the follow-up questions
    • Find the report in report.md or answer.md in your working directory
  3. 3

    Get the most out of it

    • Set CONCURRENCY_LIMIT higher if you have a paid or self-hosted Firecrawl plan, or lower it to 1 on a free plan to avoid rate limits
    • Use FIREWORKS_KEY to switch from o3-mini to DeepSeek R1, as described in the README
    • Point OPENAI_ENDPOINT and CUSTOM_MODEL at other OpenAI-compatible APIs such as OpenRouter
    • Use FIRECRAWL_BASE_URL to point at a self-hosted Firecrawl instance

Downloads

Strengths

  • Short, readable codebase that the README says is kept under 500 lines
  • Configurable breadth and depth let you trade thoroughness for run time and cost
  • Supports several model providers via OpenAI-compatible endpoints, per the README

Trade-offs

  • Requires paid or rate-limited API access (Firecrawl and an LLM); the README notes free tiers may hit rate limits
  • The README does not describe how output quality or source accuracy is evaluated
  • Setup involves several steps and environment variables, which can be fiddly for non-developers

How it compares

ProjectStarsTypeLevelUpdatedBest for
deep-research (this)19.9kAI model / agentintermediate7 months agoDevelopers who want a readable example of a deep research agent to learn from or extend
storm31.8kAI model / agentintermediate1.1 years agoDevelopers who want to build a customizable research or report-writing pipeline
RD-Agent15.2kAI model / agentadvanced15 days agoResearchers who want to test automated ML engineering agents on benchmark-style tasks
OpenHands92.5kAppintermediate4 days agoDevelopers who want coding agents running on a server while their laptop is off
MetaGPT71.1kFrameworkintermediate10 months agoDevelopers experimenting with multi-agent LLM workflows
botpress15kDev toolintermediate6 days agoDevelopers who want to write integrations and bots as TypeScript code using the Botpress CLI and SDK

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.