.1 200 OK Date: Thu, 02 Jul 2026 16:54:21 GMT Content-Type: text/html; charset=utf-8 Vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With, Sec-Fetch-Site,Accept-Encoding, Accept, X-Requested-With ETag: W/"26dfd90bfcac5e8fd65691a38e8d86b0" Cache-Control: max-age=0, private, must-revalidate Strict-Transport-Security: max-age=31536000; includeSubdomains; preload X-Frame-Options: deny X-Content-Type-Options: nosniff X-XSS-Protection: 0 Referrer-Policy: no-referrer-when-downgrade Content-Security-Policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net productionresultssa1.blob.core.windows.net productionresultssa2.blob.core.windows.net productionresultssa3.blob.core.windows.net productionresultssa4.blob.core.windows.net productionresultssa5.blob.core.windows.net productionresultssa6.blob.core.windows.net productionresultssa7.blob.core.windows.net productionresultssa8.blob.core.windows.net productionresultssa9.blob.core.windows.net productionresultssa10.blob.core.windows.net productionresultssa11.blob.core.windows.net productionresultssa12.blob.core.windows.net productionresultssa13.blob.core.windows.net productionresultssa14.blob.core.windows.net productionresultssa15.blob.core.windows.net productionresultssa16.blob.core.windows.net productionresultssa17.blob.core.windows.net productionresultssa18.blob.core.windows.net productionresultssa19.blob.core.windows.net github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com wss://production-copilot-host.webpubsub.azure.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com user-images.githubusercontent.com private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com explore-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com secured-user-images.githubusercontent.com private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com github.githubassets.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/ Server: github.com Accept-Ranges: bytes Set-Cookie: _gh_sess=kAt5mn%2FKxOHYQte6R9XBjOGNI6UKzP7RDtaPorodmRbZFUflQpjLugFw9o82kHVKqnkxAGjRESVpwYmPDCjWusXfMxckhy94x3AIcSgIVUn%2FDUg89DeuijJTChbVb0FYjm48cl%2B8tRIEuCSmWaPTE4eYQDRJ89ybKSnM9d1y7KK3ytb4%2B0dpIrL95jKQU%2FFIm2ucS%2FlSiOphTWxV2xLmh9lf8oqG%2BKqbjmXyiBLevB9NdtMn5o9OFlrXWiaaw3votXdzVZzFlheGioltbOynCQ%3D%3D--9ypm9A0j8gHVrCvn--lu4yjNrof4N1bESK1BZ7xA%3D%3D; path=/; HttpOnly; secure; SameSite=Lax Set-Cookie: _octo=GH1.1.622318885.1783011260; expires=Fri, 02 Jul 2027 16:54:20 GMT; domain=.github.com; path=/; secure; SameSite=Lax Set-Cookie: logged_in=no; expires=Fri, 02 Jul 2027 16:54:20 GMT; domain=.github.com; path=/; HttpOnly; secure; SameSite=Lax X-GitHub-Request-Id: CBBA:23ED7E:4931B3:64C409:6A4697B2 Transfer-Encoding: chunked 8000 GitHub - dzhng/deep-research: An AI-powered research assistant that performs iterative, deep research on any topic by combining search engines, web scraping, and large language models. The goal of this repo is to provide the simplest implementation of a deep research agent - e.g. an agent that can refine its research direction overtime and deep dive into a topic. · GitHub Skip to content Navigation Menu Toggle navigation Sign in Appearance settings Platform AI CODE CREATION GitHub Copilot Write better code with AI GitHub Copilot app Direct agents from issue to merge MCP Registry New Integrate external tools DEVELOPER WORKFLOWS Actions Automate any workflow Codespaces Instant dev environments Issues Plan and track work Code Review Manage code changes APPLICATION SECURITY GitHub Advanced Security Find and fix vulnerabilities Code security Secure your code as you build Secret protection Stop leaks before they start EXPLORE Why GitHub Documentation Blog Changelog Marketplace View all features Solutions BY COMPANY SIZE Enterprises Small and medium teams Startups Nonprofits BY USE CASE App Modernization DevSecOps DevOps CI/CD View all use cases BY INDUSTRY Healthcare Financial services Manufacturing Government View all industries View all solutions Resources EXPLORE BY TOPIC AI Software Development DevOps Security View all topics EXPLORE BY TYPE Customer stories Events & webinars Ebooks & reports Business insights GitHub Skills SUPPORT & SERVICES Documentation Customer support Community forum Trust center Partners View all resources Open Source COMMUNITY GitHub Sponsors Fund open source developers PROGRAMS Security Lab Maintainer Community Accelerator GitHub Stars Archive Program REPOSITORIES Topics Trending Collections Enterprise ENTERPRISE SOLUTIONS Enterprise platform AI-powered developer platform AVAILABLE ADD-ONS GitHub Advanced Security E 8000 nterprise-grade security features Copilot for Business Enterprise-grade AI features Premium Support Enterprise-grade 24/7 support Pricing Search or jump to... Search code, repositories, users, issues, pull requests... --> Search Clear Search syntax tips Provide feedback --> We read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly --> Name Query To see all available qualifiers, see our documentation . Cancel Create saved search Sign in Sign up Appearance settings Resetting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} dzhng / deep-research Public Notifications You must be signed in to change notification settings Fork 2k Star 19.3k Code Issues 71 Pull requests 17 Actions Projects Security and quality 0 Insights Additional navigation options Code Issues Pull requests Actions Projects Security and quality Insights dzhng/deep-research main Branches Tags Go to file Code Open more actions menu Folders and files Name Name Last commit message Last commit date Latest commit History 77 Commits 77 Commits src src .env.example .env.example .gitignore .gitignore .nvmrc .nvmrc .prettierignore .prettierignore Dockerfile Dockerfile LICENSE LICENSE README.md README.md docker-compose.yml docker-compose.yml package-lock.json package-lock.json package.json package.json prettier.config.mjs prettier.config.mjs report.md report.md tsconfig.json tsconfig.json View all files Repository files navigation README MIT license More items Open Deep Research An AI-powered research assistant that performs iterative, deep research on any topic by combining search engines, web scraping, and large language models. The goal of this repo is to provide the simplest implementation of a deep research agent - e.g. an agent that can refine its research direction over time and deep dive into a topic. Goal is to keep the repo size at <500 LoC so it is easy to understand and build on top of. If you like this project, please consider starring it and giving me a follow on X/Twitter . This project is created by Duet . How It Works flowchart TB subgraph Input Q[User Query] B[Breadth Parameter] D[Depth Parameter] end DR[Deep Research] --> SQ[SERP Queries] --> PR[Process Results] subgraph Results[Results] direction TB NL((Learnings)) ND((Directions)) end PR --> NL PR --> ND DP{depth > 0?} RD["Next Direction: - Prior Goals - New Questions - Learnings"] MR[Markdown Report] %% Main Flow Q & B & D --> DR %% Results to Decision NL & ND --> DP %% Circular Flow DP -->|Yes| RD RD -->|New Context| DR %% Final Output DP -->|No| MR %% Styling classDef input fill:#7bed9f,stroke:#2ed573,color:black classDef process fill:#70a1ff,stroke:#1e90ff,color:black classDef recursive fill:#ffa502,stroke:#ff7f50,color:black classDef output fill:#ff4757,stroke:#ff6b81,color:black classDef results fill:#a8e6cf,stroke:#3b7a57,color:black class Q,B,D input class DR,SQ,PR process class DP,RD recursive class MR output class NL,ND results Loading Features Iterative Research : Performs deep research by iteratively generating search queries, processing results, and diving deeper based on findings Intelligent Query Generation : Uses LLMs to generate targeted search queries based on research goals and previous findings Depth & Breadth Control : Configurable parameters to control how wide (breadth) and deep (depth) the research goes Smart Follow-up : Generates follow-up questions to better understand research needs Comprehensive Reports : Produces detailed markdown reports with findings and sources Concurrent Processing : Handles multiple searches and result processing in parallel for efficiency Requirements Node.js environment API keys for: Firecrawl API (for web search and content extraction) OpenAI API (for o3 mini model) Setup Node.js Clone the repository Install dependencies: npm install Set up environment variables in a .env.local file: FIRECRAWL_KEY= " your_firecrawl_key " # If you want to use your self-hosted Firecrawl, add the following below: # FIRECRAWL_BASE_URL="http://localhost:3002" OPENAI_KEY= " your_openai_key " To use local LLM, comment out OPENAI_KEY and instead uncomment OPENAI_ENDPOINT and OPENAI_MODEL : Set OPENAI_ENDPOINT to the address of your local server (eg." http://localhost:1234/v1 ") Set OPENAI_MODEL to the name of the model loaded in your local server. Docker Clone the repository Rename .env.example to .env.local and set your API keys Run docker build -f Dockerfile Run the Docker image: docker compose up -d Execute npm run docker in the docker service: docker exec -it deep-research npm run docker Usage Run the research assistant: npm start You'll be prompted to: Enter your research query Specify research breadth (recommended: 3-10, default: 4) Specify research depth (recommended: 1-5, default: 2) Answer follow-up questions to refine the research direction The system will then: Generate and execute search queries Process and analyze search results Recursively explore deeper based on findings Generate a comprehensive markdown report The final report will be saved as report.md or answer.md in your working directory, depending on which modes you selected. Concurrency If you have a paid version of Firecrawl or a local version, feel free to increase the ConcurrencyLimit by setting the CONCURRENCY_LIMIT environment variable so it runs faster. If you have a free version, you may sometimes run into rate limit errors, you can reduce the limit to 1 (but it will run a lot slower). DeepSeek R1 Deep research performs great on R1! We use Fireworks as the main provider for the R1 model. To use R1, simply set a Fireworks API key: FIREWORKS_KEY= " api_key " The system will automatically switch over to use R1 instead of o3-mini when the key is detected. Custom endpoints and models There are 2 other optional env vars that lets you tweak the endpoint (for other OpenAI compatible APIs like OpenRouter or Gemini) as well as the model string. OPENAI_ENDPOINT= " custom_endpoint " CUSTOM_MODEL= " custom_model " How It Works Initial Setup Takes user query and research parameters (breadth & depth) Generates follow-up questions to understand research needs better Deep Research Process Generates multiple SERP queries based on research goals Processes search results to extract key learnings Generates follow-up research directions Recursive Exploration If depth > 0, takes new research directions and continues exploration Each iteration builds on previous learnings Maintains context of research goals and findings Report Generation Compiles all findings into a comprehensive markdown report Includes all sources and references Organizes information in a clear, readable format Community implementations Python : https://github.com/Finance-LLMs/deep-research-python License MIT License - feel free to use and modify as needed. About An AI-powered research assistant that performs iterative, deep research on any topic by combining search engines, web scraping, and large language models. The goal of this repo is to provide the simplest implementation of a deep research agent - e.g. an agent that can refine its research direction overtime and deep dive into a topic. Topics agent research ai gpt o3-mini Resources Readme License MIT license Uh oh! There was an error while loading. Please reload this page . Activity Stars 19.3k stars Watchers 109 watching Forks 2k forks Report repository Uh oh! There was an error while loading. Please reload this page . Contributors Uh oh! There was an error while loading. Please reload this page . Languages TypeScript 97.6% JavaScript 1.9% Dockerfile 0.5% Footer © 2026 GitHub, Inc. Footer navigation Terms Privacy Security Status Community Docs Contact Manage cookies Do not share my personal information You can’t perform that action at this time. 0