English | 简体中文 | 日本語 | Deutsch | Español | Русский | Portuguese
Originado do Open Source, de volta ao Open Source
DeerFlow (Deep Exploration and Efficient Research Flow) é um framework de Pesquisa Profunda orientado-a-comunidade que baseia-se em um íncrivel trabalho da comunidade open source. Nosso objetivo é combinar modelos de linguagem com ferramentas especializadas para tarefas como busca na web, crawling, e execução de código Python, enquanto retribui com a comunidade que o tornou possível.
Atualmente, o DeerFlow entrou oficialmente no Centro de Aplicações FaaS da Volcengine. Os usuários podem experimentá-lo online através do link de experiência para sentir intuitivamente suas funções poderosas e operações convenientes. Ao mesmo tempo, para atender às necessidades de implantação de diferentes usuários, o DeerFlow suporta implantação com um clique baseada na Volcengine. Clique no link de implantação para completar rapidamente o processo de implantação e iniciar uma jornada de pesquisa eficiente.
Por favor, visite Nosso Site Oficial para maiores detalhes.
https://github.com/user-attachments/assets/f3786598-1f2a-4d07-919e-8b99dfa1de3e
Nesse demo, nós demonstramos como usar o DeerFlow para: In this demo, we showcase how to use DeerFlow to:
DeerFlow é desenvolvido em Python, e vem com uma IU web escrita em Node.js. Para garantir um processo de configuração fácil, nós recomendamos o uso das seguintes ferramentas:
uv:
Simplifica o gerenciamento de dependência de ambientes Python. uv automaticamente cria um ambiente virtual no diretório raiz e instala todos os pacotes necessários para não haver a necessidade de instalar ambientes Python manualmente
nvm:
Gerencia múltiplas versões do ambiente de execução do Node.js sem esforço.
pnpm:
Instala e gerencia dependências do projeto Node.js.
Certifique-se de que seu sistema atenda os seguintes requisitos mínimos:
# Clone o repositório
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
# Instale as dependências, uv irá lidar com o interpretador do python e a criação do venv, e instalar os pacotes necessários
uv sync
# Configure .env com suas chaves de API
# Tavily: https://app.tavily.com/home
# Brave_SEARCH: https://brave.com/search/api/
# volcengine TTS: Adicione sua credencial TTS caso você a possua
cp .env.example .env
# Veja as seções abaixo 'Supported Search Engines' and 'Texto-para-Fala Integração' para todas as opções disponíveis
# Configure o conf.yaml para o seu modelo LLM e chaves API
# Por favor, consulte 'docs/configuration_guide.md' para maiores detalhes
cp conf.yaml.example conf.yaml
# Instale marp para geração de ppt
# https://github.com/marp-team/marp-cli?tab=readme-ov-file#use-package-manager
brew install marp-cli
Opcionalmente, instale as dependências IU web via pnpm:
cd deer-flow/web
pnpm install
Por favor, consulte o Guia de Configuração para maiores detalhes.
[!NOTA] Antes de iniciar o projeto, leia o guia detalhadamente, e atualize as configurações para baterem com os seus requisitos e configurações específicas.
A maneira mais rápida de rodar o projeto é usar o console IU.
# Execute o projeto em um shell tipo-bash
uv run main.py
Esse projeto também inclui uma IU Web, trazendo uma experiência mais interativa, dinâmica e engajadora.
[!NOTA] Você precisa instalar as dependências do IU web primeiro.
# Execute ambos os servidores de backend e frontend em modo desenvolvimento
# No macOS/Linux
./bootstrap.sh -d
# No Windows
bootstrap.bat -d
[!NOTA] Por padrão, o servidor backend se vincula a 127.0.0.1 (localhost) por motivos de segurança. Se você precisar permitir conexões externas (por exemplo, ao implantar em um servidor Linux), poderá modificar o host do servidor para 0.0.0.0 no script de inicialização (uv run server.py --host 0.0.0.0). Certifique-se de que seu ambiente esteja devidamente protegido antes de expor o serviço a redes externas.
Abra seu navegador e visite http://localhost:3000 para explorar a IU web.
Explore mais detalhes no diretório web .
DeerFlow suporta múltiplos mecanismos de busca que podem ser configurados no seu arquivo .env usando a variável SEARCH_API:
Tavily (padrão): Uma API de busca especializada para aplicações de IA
TAVILY_API_KEY no seu arquivo .envDuckDuckGo: Mecanismo de busca focado em privacidade
Brave Search: Mecanismo de busca focado em privacidade com funcionalidades avançadas
BRAVE_SEARCH_API_KEY no seu arquivo .envArxiv: Busca de artigos científicos para pesquisa acadêmica
Searx/SearxNG: Mecanismo de metabusca auto-hospedado
SEARX_HOST no seu arquivo .envPara configurar o seu mecanismo preferido, defina a variável SEARCH_API no seu arquivo:
# Escolha uma: tavily, duckduckgo, brave_search, arxiv
SEARCH_API=tavily
🤖 Integração LLM
🔍 Busca e Recuperação
🔗 Integração MCP perfeita
🧠 Humano-no-processo
📝 Relatório Pós-Edição
🎙️ Geração de Podcast e apresentação
DeerFlow implementa uma arquitetura de sistema multi-agente modular designada para pesquisa e análise de código automatizada. O sistema é construído em LangGraph, possibilitando um fluxo de trabalho flexível baseado-em-estado onde os componentes se comunicam através de um sistema de transmissão de mensagens bem-definido.

Veja ao vivo em deerflow.tech
O sistema emprega um fluxo de trabalho simplificado com os seguintes componentes:
Coordenador: O ponto de entrada que gerencia o ciclo de vida do fluxo de trabalho
Planejador: Componente estratégico para a decomposição e planejamento
Time de Pesquisa: Uma coleção de agentes especializados que executam o plano:
Repórter: Estágio final do processador de estágio para saídas de pesquisa
DeerFlow agora inclui uma funcionalidade Texto-para-Fala (TTS) que permite que você converta relatórios de busca para voz. Essa funcionalidade usa o mecanismo de voz da API TTS para gerar áudio de alta qualidade a partir do texto. Funcionalidades como velocidade, volume e tom também são customizáveis.
Você pode acessar a funcionalidade TTS através do endpoint /api/tts:
# Exemplo de chamada da API usando curl
curl --location 'http://localhost:8000/api/tts' \
--header 'Content-Type: application/json' \
--data '{
"text": "This is a test of the text-to-speech functionality.",
"speed_ratio": 1.0,
"volume_ratio": 1.0,
"pitch_ratio": 1.0
}' \
--output speech.mp3
Rode o conjunto de testes:
# Roda todos os testes
make test
# Roda um arquivo de teste específico
pytest tests/integration/test_workflow.py
# Roda com coverage
make coverage
# Roda o linting
make lint
# Formata de código
make format
DeerFlow usa LangGraph para sua arquitetura de fluxo de trabalho. Nós podemos usar o LangGraph Studio para debugar e visualizar o fluxo de trabalho em tempo real.
DeerFlow inclui um arquivo de configuração langgraph.json que define a estrutura do grafo e dependências para o LangGraph Studio. Esse arquivo aponta para o grafo do fluxo de trabalho definido no projeto e automaticamente carrega as variáveis de ambiente do arquivo .env.
# Instala o gerenciador de pacote uv caso você não o possua
curl -LsSf https://astral.sh/uv/install.sh | sh
# Instala as dependências e inicia o servidor LangGraph
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.12 langgraph dev --allow-blocking
# Instala as dependências
pip install -e .
pip install -U "langgraph-cli[inmem]"
# Inicia o servidor LangGraph
langgraph dev
Após iniciar o servidor LangGraph, você verá diversas URLs no seu terminal:
Abra o link do Studio UI no seu navegador para acessar a interface de depuração.
No Studio UI, você pode:
Quando você envia um tópico de pesquisa ao Studio UI, você será capaz de ver toda a execução do fluxo de trabalho, incluindo:
Você também pode executar esse projeto via Docker.
Primeiro, voce deve ler a configuração below. Make sure .env, .conf.yaml files are ready.
Segundo, para fazer o build de sua imagem docker em seu próprio servidor:
docker build -t deer-flow-api .
E por fim, inicie um container docker rodando o servidor web:
# substitua deer-flow-api-app com seu nome de container preferido
# Inicie o servidor e faça o bind com localhost:8000
docker run -d -t -p 127.0.0.1:8000:8000 --env-file .env --name deer-flow-api-app deer-flow-api
# pare o servidor
docker stop deer-flow-api-app
DeerFlow fornece uma estrutura docker-compose para facilmente executar ambos o backend e frontend juntos:
# building docker image
docker compose build
# start the server
docker compose up
WARNING
Se você quiser implantar o DeerFlow em ambientes de produção, adicione autenticação ao site e avalie sua verificação de segurança do MCPServer e Python Repl.
Os seguintes exemplos demonstram as capacidades do DeerFlow:
Relatório OpenAI Sora - Análise da ferramenta Sora da OpenAI
Discute funcionalidades, acesso, engenharia de prompt, limitações e considerações éticas
Relatório Protocolo Agent-to-Agent do Google - Visão geral do protocolo Agent-to-Agent (A2A) do Google
O que é MCP? - Uma análise abrangente to termo "MCP" através de múltiplos contextos
Bitcoin Price Fluctuations - Análise das recentes movimentações de preço do Bitcoin
O que é LLM? - Uma exploração em profundidade de Large Language Models
Como usar Claude para Pesquisa Aprofundada? - Melhores práticas e fluxos de trabalho para usar Claude em pesquisa aprofundada
Adoção de IA na Área da Saúde: Fatores de Influência - Análise dos fatores que levam à adoção de IA na área da saúde
Impacto da Computação Quântica em Criptografia - Análise dos impactos da computação quântica em criptografia
Destaques da Performance do Cristiano Ronaldo - Análise dos destaques da performance do Cristiano Ronaldo
Para executar esses exemplos ou criar seus próprios relatórios de pesquisa, você deve utilizar os seguintes comandos:
# Executa com uma consulta específica
uv run main.py "Quais fatores estão influenciando a adoção de IA na área da saúde?"
# Executa com parâmetros de planejamento customizados
uv run main.py --max_plan_iterations 3 "Como a computação quântica impacta na criptografia?"
# Executa em modo interativo com questões embutidas
uv run main.py --interactive
# Ou executa com um prompt interativo básico
uv run main.py
# Vê todas as opções disponíveis
uv run main.py --help
A aplicação agora suporta um modo interativo com questões embutidas tanto em Inglês quanto Chinês:
Inicie o modo interativo:
uv run main.py --interactive
Selecione sua linguagem de preferência (English or 中文)
Escolha uma das questões embutidas da lista ou selecione a opção para perguntar sua própria questão
O sistema irá processar sua questão e gerar um relatório abrangente de pesquisa
DeerFlow inclue um mecanismo de humano no processo que permite a você revisar, editar e aprovar planos de pesquisa antes que estes sejam executados:
Revisão de Plano: Quando o humano no processo está habilitado, o sistema irá apresentar o plano de pesquisa gerado para sua revisão antes da execução
Fornecimento de Feedback: Você pode:
[ACCEPTED][EDIT PLAN] Adicione mais passos sobre a implementação técnica)Auto-aceite: Você pode habilitar o auto-aceite ou pular o processo de revisão:
auto_accepted_plan: true na sua requisiçãoIntegração de API: Quanto usar a API, você pode fornecer um feedback através do parâmetro feedback:
{
"messages": [{ "role": "user", "content": "O que é computação quântica?" }],
"thread_id": "my_thread_id",
"auto_accepted_plan": false,
"feedback": "[EDIT PLAN] Inclua mais sobre algoritmos quânticos"
}
A aplicação suporta diversos argumentos via linha de comando para customizar o seu comportamento:
Por favor consulte a FAQ.md para maiores detalhes.
Esse projeto é open source e disponível sob a MIT License.
DeerFlow é construído através do incrível trabalho da comunidade open-source. Nós somos profundamente gratos a todos os projetos e contribuidores cujos esforços tornaram o DeerFlow possível. Realmente, nós estamos apoiados nos ombros de gigantes.
Nós gostaríamos de extender nossos sinceros agradecimentos aos seguintes projetos por suas invaloráveis contribuições:
Esses projetos exemplificam o poder transformador da colaboração open-source, e nós temos orgulho de construir baseado em suas fundações.
Um sincero muito obrigado vai para os principais autores do DeerFlow, cuja visão, paixão, e dedicação trouxe esse projeto à vida:
O seu compromisso inabalável e experiência tem sido a força por trás do sucesso do DeerFlow. Nós estamos honrados em tê-los no comando dessa trajetória.