DeerFlow is a deep research framework open-sourced by ByteDance, designed to automate research tasks through multi-intelligence collaboration. It combines language models and specialized tools such as web search, web crawling, and Python code execution to help users efficiently complete complex research tasks.DeerFlow is based on LangChain and LangGraph It is built with a modularized design that supports flexible task assignment and state management. Users can quickly deploy it with simple configuration, making it suitable for researchers, developers, or users who need to process large amounts of information. The project is fully open source under the MIT license, and anyone can access the source code and contribute to it on GitHub. DeerFlow provides an intuitive online experience and supports one-click deployment to the Volcengine cloud platform, making it easy for users to get started quickly.
Function List
- Multi-Intelligence CollaborationThe search, code analysis, and report generation tasks are divided among intelligent modules such as Researcher, Coder, and Reporter.
- Web search and crawling: Integration Tavily and Brave Search, which support efficient information gathering and web content extraction.
- Python Code Execution: Built-in Python REPL tool that allows users to run and analyze code directly.
- text-to-speech: Convert research reports to high-quality audio with support for speech rate, volume and pitch adjustments via the Volcengine TTS API.
- Report Generation: Automatically generates structured research reports that can be exported to document or PPT format.
- One-Click Deployment: Supports rapid deployment on the Volcengine cloud platform, simplifying environment configuration.
- interactive mode: Provides a command-line interaction mode that allows the user to dynamically adjust the research program.
- open source contribution: Based on the MIT license, community participation in development and optimization is encouraged.
Using Help
Installation process
DeerFlow is easy to install and configure and is suitable for users with basic programming experience. The following are the detailed installation steps:
- clone warehouse
Clone the DeerFlow repository locally by running the following command in a terminal:git clone https://github.com/bytedance/deer-flow.git cd deer-flow
- Installation of dependencies
utilizationuv
tool automatically creates a Python virtual environment and installs the required dependencies:uv sync
Note: Ensure that you have installed the
uv
This can be accomplished bypip install uv
Installation. - Configuring Environment Variables
Copy the sample configuration file and fill in the API key:cp .env.example .env
exist
.env
file to add the following API key:- Tavily API: used for web searching, needs to be in the Tavily Official Website Sign up for access.
- Brave Search API: Used to enhance the search functionality, needs to be added to the Brave Search Register.
- Volcengine TTS API: used for text-to-speech function, need to get credentials in Volcengine platform.
typical example.env
File contents:
TAVILY_API_KEY=your_tavily_api_key BRAVE_SEARCH_API_KEY=your_brave_api_key VOLCENGINE_TTS_KEY=your_volcengine_tts_key
- Configuration models and parameters
Copy the example configuration file and adjust it as needed:cp conf.yaml.example conf.yaml
exist
conf.yaml
Configure the language model (e.g., GPT or other supported models) and API key in the Refer to thedocs/configuration_guide.md
The - Installation of Marp (optional)
If you need to generate reports in PPT format, you need to install the Marp CLI:brew install marp-cli
For non-macOS systems, see Marp CLI Official Website Get the installation method.
- Running DeerFlow
After the configuration is complete, run the following command to start it:python main.py --query "你的研究问题" --interactive
Example:
python main.py --query "量子计算对密码学的影响" --interactive
Using the main functions
The core functionality of DeerFlow is centered around multi-intelligence collaboration, which is divided into the following modular processes:
- Research task input
The user enters a research question at the command line, such as "Analyze the impact of quantum computing on cryptography." DeerFlow's Planner intelligence breaks down the task, generates a research plan, and assigns it to the appropriate intelligence. Users can dynamically adjust the plan in interactive mode:python main.py --query "你的研究问题" --interactive
The interactive mode prompts the user to enter additional information or confirm the plan.
- Web search and information gathering
The Researcher intelligence uses the Tavily or Brave search APIs to gather relevant information. It automatically crawls web content, extracts key data, and stores it in a temporary database. Users can adjust the depth of the search via a configuration file:search: engine: tavily max_results: 10
- Code execution and analysis
Coder intelligences support running Python code. For example, if the user enters a data analysis task, Coder generates and executes the code:import pandas as pd df = pd.read_csv('data.csv') print(df.describe())
The results of the run are fed back into the study. Users can check the results of code execution in interactive mode.
- Report generation and text-to-speech
The Reporter intelligence organizes the collected information into structured reports that support export to Markdown, PDF or PPT formats. Users can enable the text-to-speech feature to convert reports to audio:python main.py --query "你的研究问题" --tts
The audio file will be saved to the specified directory, and it supports adjusting the speed and pitch of speech:
tts: speed: 1.0 volume: 1.0 pitch: 0.0
- Customized workflows
DeerFlow uses LangGraph to manage the state of the intelligences, which can be modified by the user by modifying theconf.yaml
Customize the task flow. For example, increase the number of search iterations:max_plan_iterations: 3 max_step_num: 5
Featured Function Operation
- Dynamic Task Iteration: The Planner intelligence supports dynamic adjustment of the research plan based on search results. For example, if the initial search results are insufficient, Planner automatically initiates a new round of searches.
- Podcast GenerationDeerFlow: Combined with text-to-speech functionality, DeerFlow converts reports into podcast format, making it ideal for sharing research results.
- PPT generationDeerFlow can turn reports into professional PPTs for academic conferences or team presentations through the Marp CLI.
caveat
- Ensure a stable network connection to support API calls and web crawling.
- probe
.env
cap (a poem)conf.yaml
configuration to avoid unavailability of features due to key errors. - consultation
docs/FAQ.md
Troubleshoot common issues such as dependency installation failures or API access limitations.
application scenario
- academic research
Students or researchers can use DeerFlow to quickly collect literature, analyze data, and generate structured reports. For example, type in "review of the latest AI algorithms" and DeerFlow automatically searches for relevant papers, extracts key information, and generates a report. - technology development
Developers can use Coder intelligences to analyze code bases or run experimental code. For example, type "Compare the performance of different machine learning models" and DeerFlow will execute a Python script and generate a comparison report. - market analysis
Marketing teams can use DeerFlow to collect industry trend data and generate market reports or podcasts. For example, type in "Social Media Trends 2025" and DeerFlow will crawl relevant web pages and generate analytics. - Education and training
Teachers can use DeerFlow to generate instructional materials or PowerPoints; for example, type in "Introduction to Quantum Computing" and DeerFlow will organize the content and generate instructional slides.
QA
- What language models does DeerFlow support?
DeerFlow supports multiple language models, including the GPT family and other open source models. Users can find more information about DeerFlow in theconf.yaml
Configure the model type and API key in the - How to solve the problem of invalid API key?
probe.env
The key in the file is correct. Ensure that you are registered with the Tavily, Brave, or Volcengine platform and have a valid key. - Is programming experience required?
No programming experience is required for basic use, but basic Python knowledge is needed to configure the environment and customize workflows. - How to optimize search results?
existconf.yaml
mid-range adjustmentmax_results
cap (a poem)search_engine
parameters to select a more suitable search engine.