English | 简体中文 | 日本語 | Deutsch | Español | Русский | Portuguese
Originado del código abierto, retribuido al código abierto.
DeerFlow (Deep Exploration and Efficient Research Flow) es un marco de Investigación Profunda impulsado por la comunidad que se basa en el increíble trabajo de la comunidad de código abierto. Nuestro objetivo es combinar modelos de lenguaje con herramientas especializadas para tareas como búsqueda web, rastreo y ejecución de código Python, mientras devolvemos a la comunidad que hizo esto posible.
Actualmente, DeerFlow ha ingresado oficialmente al Centro de Aplicaciones FaaS de Volcengine. Los usuarios pueden experimentarlo en línea a través del enlace de experiencia para sentir intuitivamente sus potentes funciones y operaciones convenientes. Al mismo tiempo, para satisfacer las necesidades de implementación de diferentes usuarios, DeerFlow admite la implementación con un clic basada en Volcengine. Haga clic en el enlace de implementación para completar rápidamente el proceso de implementación y comenzar un viaje de investigación eficiente.
Por favor, visita nuestra página web oficial para más detalles.
https://github.com/user-attachments/assets/f3786598-1f2a-4d07-919e-8b99dfa1de3e
En esta demostración, mostramos cómo usar DeerFlow para:
DeerFlow está desarrollado en Python y viene con una interfaz web escrita en Node.js. Para garantizar un proceso de configuración sin problemas, recomendamos utilizar las siguientes herramientas:
uv:
Simplifica la gestión del entorno Python y las dependencias. uv crea automáticamente un entorno virtual en el directorio raíz e instala todos los paquetes necesarios por ti—sin necesidad de instalar entornos Python manualmente.
nvm:
Gestiona múltiples versiones del entorno de ejecución Node.js sin esfuerzo.
pnpm:
Instala y gestiona dependencias del proyecto Node.js.
Asegúrate de que tu sistema cumple con los siguientes requisitos mínimos:
# Clonar el repositorio
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
# Instalar dependencias, uv se encargará del intérprete de python, la creación del entorno virtual y la instalación de los paquetes necesarios
uv sync
# Configurar .env con tus claves API
# Tavily: https://app.tavily.com/home
# Brave_SEARCH: https://brave.com/search/api/
# volcengine TTS: Añade tus credenciales TTS si las tienes
cp .env.example .env
# Ver las secciones 'Motores de Búsqueda Compatibles' e 'Integración de Texto a Voz' a continuación para todas las opciones disponibles
# Configurar conf.yaml para tu modelo LLM y claves API
# Por favor, consulta 'docs/configuration_guide.md' para más detalles
cp conf.yaml.example conf.yaml
# Instalar marp para la generación de presentaciones
# https://github.com/marp-team/marp-cli?tab=readme-ov-file#use-package-manager
brew install marp-cli
Opcionalmente, instala las dependencias de la interfaz web vía pnpm:
cd deer-flow/web
pnpm install
Por favor, consulta la Guía de Configuración para más detalles.
[!NOTA] Antes de iniciar el proyecto, lee la guía cuidadosamente y actualiza las configuraciones para que coincidan con tus ajustes y requisitos específicos.
La forma más rápida de ejecutar el proyecto es utilizar la interfaz de consola.
# Ejecutar el proyecto en un shell tipo bash
uv run main.py
Este proyecto también incluye una Interfaz Web, que ofrece una experiencia interactiva más dinámica y atractiva.
[!NOTA] Necesitas instalar primero las dependencias de la interfaz web.
# Ejecutar tanto el servidor backend como el frontend en modo desarrollo
# En macOS/Linux
./bootstrap.sh -d
# En Windows
bootstrap.bat -d
[!NOTA] Por defecto, el servidor backend se enlaza a 127.0.0.1 (localhost) por razones de seguridad. Si necesitas permitir conexiones externas (por ejemplo, al desplegar en un servidor Linux), puedes modificar el host del servidor a 0.0.0.0 en el script de arranque (uv run server.py --host 0.0.0.0). Por favor, asegúrate de que tu entorno esté correctamente protegido antes de exponer el servicio a redes externas.
Abre tu navegador y visita http://localhost:3000 para explorar la interfaz web.
Explora más detalles en el directorio web.
DeerFlow soporta múltiples motores de búsqueda que pueden configurarse en tu archivo .env usando la variable SEARCH_API:
Tavily (predeterminado): Una API de búsqueda especializada para aplicaciones de IA
TAVILY_API_KEY en tu archivo .envDuckDuckGo: Motor de búsqueda centrado en la privacidad
Brave Search: Motor de búsqueda centrado en la privacidad con características avanzadas
BRAVE_SEARCH_API_KEY en tu archivo .envArxiv: Búsqueda de artículos científicos para investigación académica
Searx/SearxNG: Motor de metabúsqueda autoalojado
SEARX_HOST en tu archivo .envPara configurar tu motor de búsqueda preferido, establece la variable SEARCH_API en tu archivo .env:
# Elige uno: tavily, duckduckgo, brave_search, arxiv
SEARCH_API=tavily
🔍 Búsqueda y Recuperación
🔗 Integración Perfecta con MCP
🧠 Humano en el Bucle
📝 Post-Edición de Informes
DeerFlow implementa una arquitectura modular de sistema multi-agente diseñada para investigación automatizada y análisis de código. El sistema está construido sobre LangGraph, permitiendo un flujo de trabajo flexible basado en estados donde los componentes se comunican a través de un sistema de paso de mensajes bien definido.

Vélo en vivo en deerflow.tech
El sistema emplea un flujo de trabajo racionalizado con los siguientes componentes:
Coordinador: El punto de entrada que gestiona el ciclo de vida del flujo de trabajo
Planificador: Componente estratégico para descomposición y planificación de tareas
Equipo de Investigación: Una colección de agentes especializados que ejecutan el plan:
Reportero: Procesador de etapa final para los resultados de la investigación
DeerFlow ahora incluye una función de Texto a Voz (TTS) que te permite convertir informes de investigación a voz. Esta función utiliza la API TTS de volcengine para generar audio de alta calidad a partir de texto. Características como velocidad, volumen y tono también son personalizables.
Puedes acceder a la funcionalidad TTS a través del punto final /api/tts:
# Ejemplo de llamada API usando curl
curl --location 'http://localhost:8000/api/tts' \
--header 'Content-Type: application/json' \
--data '{
"text": "Esto es una prueba de la funcionalidad de texto a voz.",
"speed_ratio": 1.0,
"volume_ratio": 1.0,
"pitch_ratio": 1.0
}' \
--output speech.mp3
Ejecuta el conjunto de pruebas:
# Ejecutar todas las pruebas
make test
# Ejecutar archivo de prueba específico
pytest tests/integration/test_workflow.py
# Ejecutar con cobertura
make coverage
# Ejecutar linting
make lint
# Formatear código
make format
DeerFlow utiliza LangGraph para su arquitectura de flujo de trabajo. Puedes usar LangGraph Studio para depurar y visualizar el flujo de trabajo en tiempo real.
DeerFlow incluye un archivo de configuración langgraph.json que define la estructura del grafo y las dependencias para LangGraph Studio. Este archivo apunta a los grafos de flujo de trabajo definidos en el proyecto y carga automáticamente variables de entorno desde el archivo .env.
# Instala el gestor de paquetes uv si no lo tienes
curl -LsSf https://astral.sh/uv/install.sh | sh
# Instala dependencias e inicia el servidor LangGraph
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.12 langgraph dev --allow-blocking
# Instalar dependencias
pip install -e .
pip install -U "langgraph-cli[inmem]"
# Iniciar el servidor LangGraph
langgraph dev
Después de iniciar el servidor LangGraph, verás varias URLs en la terminal:
Abre el enlace de UI de Studio en tu navegador para acceder a la interfaz de depuración.
En la UI de Studio, puedes:
Cuando envías un tema de investigación en la UI de Studio, podrás ver toda la ejecución del flujo de trabajo, incluyendo:
DeerFlow soporta el rastreo de LangSmith para ayudarte a depurar y monitorear tus flujos de trabajo. Para habilitar el rastreo de LangSmith:
Asegúrate de que tu archivo .env tenga las siguientes configuraciones (ver .env.example):
LANGSMITH_TRACING=true
LANGSMITH_ENDPOINT="https://api.smith.langchain.com"
LANGSMITH_API_KEY="xxx"
LANGSMITH_PROJECT="xxx"
Inicia el rastreo y visualiza el grafo localmente con LangSmith ejecutando:
langgraph dev
Esto habilitará la visualización de rastros en LangGraph Studio y enviará tus rastros a LangSmith para monitoreo y análisis.
También puedes ejecutar este proyecto con Docker.
Primero, necesitas leer la configuración a continuación. Asegúrate de que los archivos .env y .conf.yaml estén listos.
Segundo, para construir una imagen Docker de tu propio servidor web:
docker build -t deer-flow-api .
Finalmente, inicia un contenedor Docker que ejecute el servidor web:
# Reemplaza deer-flow-api-app con tu nombre de contenedor preferido
# Inicia el servidor y enlázalo a localhost:8000
docker run -d -t -p 127.0.0.1:8000:8000 --env-file .env --name deer-flow-api-app deer-flow-api
# detener el servidor
docker stop deer-flow-api-app
DeerFlow proporciona una configuración docker-compose para ejecutar fácilmente tanto el backend como el frontend juntos:
# construir imagen docker
docker compose build
# iniciar el servidor
docker compose up
WARNING
Si desea implementar DeerFlow en entornos de producción, agregue autenticación al sitio web y evalúe su verificación de seguridad del MCPServer y Python Repl.
Los siguientes ejemplos demuestran las capacidades de DeerFlow:
Informe sobre OpenAI Sora - Análisis de la herramienta IA Sora de OpenAI
Informe sobre el Protocolo Agent to Agent de Google - Visión general del protocolo Agent to Agent (A2A) de Google
¿Qué es MCP? - Un análisis completo del término "MCP" en múltiples contextos
Fluctuaciones del Precio de Bitcoin - Análisis de los movimientos recientes del precio de Bitcoin
¿Qué es LLM? - Una exploración en profundidad de los Modelos de Lenguaje Grandes
¿Cómo usar Claude para Investigación Profunda? - Mejores prácticas y flujos de trabajo para usar Claude en investigación profunda
Adopción de IA en Salud: Factores de Influencia - Análisis de factores que impulsan la adopción de IA en salud
Impacto de la Computación Cuántica en la Criptografía - Análisis del impacto de la computación cuántica en la criptografía
Aspectos Destacados del Rendimiento de Cristiano Ronaldo - Análisis de los aspectos destacados del rendimiento de Cristiano Ronaldo
Para ejecutar estos ejemplos o crear tus propios informes de investigación, puedes usar los siguientes comandos:
# Ejecutar con una consulta específica
uv run main.py "¿Qué factores están influyendo en la adopción de IA en salud?"
# Ejecutar con parámetros de planificación personalizados
uv run main.py --max_plan_iterations 3 "¿Cómo impacta la computación cuántica en la criptografía?"
# Ejecutar en modo interactivo con preguntas integradas
uv run main.py --interactive
# O ejecutar con prompt interactivo básico
uv run main.py
# Ver todas las opciones disponibles
uv run main.py --help
La aplicación ahora soporta un modo interactivo con preguntas integradas tanto en inglés como en chino:
Lanza el modo interactivo:
uv run main.py --interactive
Selecciona tu idioma preferido (English o 中文)
Elige de una lista de preguntas integradas o selecciona la opción para hacer tu propia pregunta
El sistema procesará tu pregunta y generará un informe de investigación completo
DeerFlow incluye un mecanismo de humano en el bucle que te permite revisar, editar y aprobar planes de investigación antes de que sean ejecutados:
Revisión del Plan: Cuando el humano en el bucle está habilitado, el sistema presentará el plan de investigación generado para tu revisión antes de la ejecución
Proporcionando Retroalimentación: Puedes:
[ACCEPTED][EDIT PLAN] Añadir más pasos sobre implementación técnica)Auto-aceptación: Puedes habilitar la auto-aceptación para omitir el proceso de revisión:
auto_accepted_plan: true en tu solicitudIntegración API: Cuando uses la API, puedes proporcionar retroalimentación a través del parámetro feedback:
{
"messages": [{ "role": "user", "content": "¿Qué es la computación cuántica?" }],
"thread_id": "my_thread_id",
"auto_accepted_plan": false,
"feedback": "[EDIT PLAN] Incluir más sobre algoritmos cuánticos"
}
La aplicación soporta varios argumentos de línea de comandos para personalizar su comportamiento:
Por favor, consulta FAQ.md para más detalles.
Este proyecto es de código abierto y está disponible bajo la Licencia MIT.
DeerFlow está construido sobre el increíble trabajo de la comunidad de código abierto. Estamos profundamente agradecidos a todos los proyectos y contribuyentes cuyos esfuerzos han hecho posible DeerFlow. Verdaderamente, nos apoyamos en hombros de gigantes.
Nos gustaría extender nuestro sincero agradecimiento a los siguientes proyectos por sus invaluables contribuciones:
Estos proyectos ejemplifican el poder transformador de la colaboración de código abierto, y estamos orgullosos de construir sobre sus cimientos.
Un sentido agradecimiento va para los autores principales de DeerFlow, cuya visión, pasión y dedicación han dado vida a este proyecto:
Su compromiso inquebrantable y experiencia han sido la fuerza impulsora detrás del éxito de DeerFlow. Nos sentimos honrados de tenerlos al timón de este viaje.