Lightning-Fast Deep Research Reports Powered by Google Gemini
Deep Research is a cutting-edge project built with Next.js 15, leveraging the power of Google Gemini models to generate in-depth research reports in approximately 2 minutes. Utilizing advanced "Thinking" and "Flash" models with internet access, Deep Research provides rapid and insightful analysis on a wide range of topics. Your privacy is paramount – all data is processed and stored locally.
Currently the project supports deployment to Cloudflare, but you need to follow How to deploy to Cloudflare Pages to do it.
Follow these steps to get Deep Research up and running on your local browser.
bash
git clone https://github.com/woshizhu444/deep-research.git
cd deep-research
bash
pnpm install # or npm install or yarn install
Create a .env file in the root directory of your project and configure the following environment variables:
```env # (Optional) Server-side Gemini API Key (Required for server API calls) GOOGLE_GENERATIVE_AI_API_KEY=
# (Optional) Server API Proxy URL API_PROXY_BASE_URL=
# (Optional) Server API Access Password for enhanced security ACCESS_PASSWORD=
# (Optional) Injected script code can be used for statistics or error tracking. HEAD_SCRIPTS= ```
Important Notes on Environment Variables:
GOOGLE_GENERATIVE_AI_API_KEY: Optional but required for using the server-side API. You need to obtain a Google Generative AI API key from Google AI Studio. This key should be kept secret and never committed to your public repository.API_PROXY_BASE_URL: Optional. If you need to use a proxy server for API requests, configure this variable with your proxy server's base URL. This is relevant for server-side API calls.ACCESS_PASSWORD: Optional but highly recommended for server-side deployments. Set a strong password to protect your server-side API endpoints. This password will be required to access server-side API functionalities.HEAD_SCRIPTS: Optional Injected script code can be used for statistics or error tracking.Privacy Reminder: These environment variables are primarily used for server-side API calls. When using the local API mode, no API keys or server-side configurations are needed, further enhancing your privacy.
Multi-key Support: Supports multiple keys, each key is separated by ,, i.e. key1,key2,key3
bash
pnpm dev # or npm run dev or yarn dev
Open your browser and visit http://localhost:3000 to access Deep Research.
Currently the project supports deployment to Cloudflare, but you need to follow How to deploy to Cloudflare Pages to do it.
The Docker version needs to be 20 or above, otherwise it will prompt that the image cannot be found.
⚠️ Note: Most of the time, the docker version will lag behind the latest version by 1 to 2 days, so the "update exists" prompt will continue to appear after deployment, which is normal.
docker pull xiangfa/deep-research:latest
docker run -d --name deep-research -p 3333:3000 xiangfa/deep-research
You can also specify additional environment variables:
docker run -d --name deep-research \
-p 3333:3000 \
-e GOOGLE_GENERATIVE_AI_API_KEY=AIzaSy... \
-e ACCESS_PASSWORD=your-password \
xiangfa/deep-research
or build your own docker image:
docker build -t deep-research .
docker run -d --name deep-research -p 3333:3000 deep-research
If you need to specify other environment variables, please add -e key=value to the above command to specify it.
Deploy using docker-compose.yml:
version: '3.9'
services:
deep-research:
image: xiangfa/deep-research
container_name: deep-research
environment:
- GOOGLE_GENERATIVE_AI_API_KEY=AIzaSy...
- ACCESS_PASSWORD=your-password
ports:
- 3333:3000
or build your own docker compose:
docker compose -f docker-compose.yml build
You can also build a static page version directly, and then upload all files in the out directory to any website service that supports static pages, such as Github Page, Cloudflare, Vercel, etc..
pnpm build:export
As mentioned in the "Getting Started" section, Deep Research utilizes the following environment variables for server-side API configurations:
GOOGLE_GENERATIVE_AI_API_KEYAPI_PROXY_BASE_URLACCESS_PASSWORDThese variables are only required if you intend to use the server-side API calling functionality. For local API calls, no configuration is necessary beyond setting up the project.
Deep Research is designed with your privacy in mind. All research data and generated reports are stored locally on your machine. We do not collect or transmit any of your research data to external servers (unless you are explicitly using server-side API calls, in which case data is sent to Google's Gemini API through your configured proxy if any). Your privacy is our priority.
Deep Research is released under the MIT License. This license allows for free use, modification, and distribution for both commercial and non-commercial purposes.
dzhng/deep-research for inspiration.We welcome contributions to Deep Research! If you have ideas for improvements, bug fixes, or new features, please feel free to:
For major changes, please open an issue first to discuss your proposed changes.
If you have any questions, suggestions, or feedback, please create a new issue.
$ claude mcp add deep-research \
-- python -m otcore.mcp_server <graph>