Retrato de Santiago Fernández

CubeLabs

IA · Fintech · Agentes · Automatización
🧠 IA

DeerFlow: SuperAgent Harness

Domina el harness de SuperAgentes de ByteDance: Skills, Sub-Agentes, Sandboxes y Memoria Persistente

⏱ 45 min 📊 Intermedio 📝 10 lecciones ⭐ GitHub: 75.8k

DeerFlow (Deep Exploration and Efficient Research Flow) es un harness de SuperAgentes open-source de ByteDance, construido sobre LangGraph y LangChain. Orquesta sub-agentes, memoria a largo plazo, skills extensibles y sandboxes aislados para ejecutar tareas complejas que pueden durar desde minutos hasta horas. En este curso aprenderás desde la instalación hasta el despliegue en producción, pasando por skills personalizadas, el cliente Python embebido, la TUI y los canales de mensajería.

DeerFlow - SuperAgent Harness
DeerFlow 2.0 — de ByteDance, 75.8k estrellas en GitHub

Contenido

  1. ¿Qué es DeerFlow? — Arquitectura y filosofía
  2. Instalación y configuración con Docker
  3. Skills & Tools — El corazón extensible
  4. Sub-Agentes — Orquestación de tareas complejas
  5. Sandbox y sistema de archivos
  6. Context Engineering y Memoria a Largo Plazo
  7. Servidor MCP y Canales de Mensajería
  8. Embedded Python Client
  9. Terminal Workbench (TUI)
  10. Despliegue en producción y seguridad

1. ¿Qué es DeerFlow? — Arquitectura y filosofía

DeerFlow (Deep Exploration and Efficient Research Flow) nació como un framework de Deep Research y evolucionó hasta convertirse en un harness de SuperAgentes. La versión 2.0 es una reescritura completa que comparte cero código con v1.

La filosofía de DeerFlow es simple: proporcionar a los agentes de IA la infraestructura necesaria para hacer trabajo real. No es un chatbot con acceso a herramientas — es un agente con su propio ordenador: sistema de archivos, memoria persistente, habilidades extensibles y la capacidad de planificar y lanzar sub-agentes.

ComponenteFunción
GatewayAPI unificada (nginx + LangGraph) que gestiona sesiones y runs
Lead AgentAgente principal que orquesta y descompone tareas
Sub-AgentsAgentes secundarios con contexto aislado para subtareas paralelas
SkillsMódulos de capacidad en Markdown (investigación, informes, código...)
SandboxEntorno de ejecución aislado (Docker/Contenedores)
MemoriaBase de conocimiento persistente entre sesiones
💡 Tip

DeerFlow se integró con InfoQuest, el motor de búsqueda inteligente de BytePlus, permitiendo búsquedas web avanzadas y crawling directamente desde el agente.

2. Instalación y configuración con Docker

La forma más rápida de empezar con DeerFlow es mediante Docker. El repositorio incluye un asistente de configuración interactivo que guía paso a paso.

1

Clonar el repositorio

git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
2

Ejecutar el asistente de configuración

make setup

Este asistente interactivo te guía para elegir un proveedor LLM, configurar búsqueda web y preferencias de ejecución/sandbox. Genera un config.yaml mínimo y las claves en .env. Tarda unos 2 minutos.

3

Iniciar servicios en Docker (desarrollo)

make docker-init   # Descargar imagen sandbox (solo la primera vez)
make docker-start  # Iniciar servicios con hot-reload
4

Acceder a la interfaz web

Abre http://localhost:2026 en tu navegador.

ModalidadComandoUso
Docker Devmake docker-startHot-reload, monta fuentes del host
Docker Prodmake upConstruye imágenes y despliega producción
Local Devmake devSin Docker, Node 22+ y uv requeridos
Verificarmake doctorDiagnóstico de configuración
⚠️ Error común

En Linux, si los comandos Docker fallan con "permission denied while trying to connect to the Docker daemon socket", añade tu usuario al grupo docker y vuelve a iniciar sesión: sudo usermod -aG docker $USER.

3. Skills & Tools — El corazón extensible

Las Skills son el mecanismo principal para extender las capacidades de DeerFlow. Una Skill es un archivo Markdown que define un flujo de trabajo, mejores prácticas y referencias a recursos de soporte.

Skills incluidas por defecto

/mnt/skills/public/
├── research/SKILL.md          # Investigación profunda
├── report-generation/SKILL.md # Generación de informes
├── slide-creation/SKILL.md    # Creación de diapositivas
├── web-page/SKILL.md          # Generación de páginas web
└── image-generation/SKILL.md  # Generación de imágenes

Skills personalizadas

Puedes añadir tus propias skills en /mnt/skills/custom/. Cada skill vive en su propia carpeta con un SKILL.md que define su comportamiento.

Activación de Skills

Las skills se cargan progresivamente — solo cuando la tarea las necesita. Puedes activar una skill explícitamente para un turno empezando el mensaje con /nombre-skill:

/data-analysis analyze uploads/datos.csv

Herramientas (Tools)

DeerFlow incluye un conjunto básico de herramientas: búsqueda web, fetch de URLs, captura de pantalla renderizada, operaciones de archivo y ejecución bash. También soporta herramientas personalizadas mediante servidores MCP y funciones Python.

Integración con Claude Code

La skill claude-to-deerflow permite interactuar con DeerFlow desde Claude Code:

npx skills add https://github.com/bytedance/deer-flow --skill claude-to-deerflow

Una vez instalada, usa /claude-to-deerflow en Claude Code para enviar tareas, verificar estado y gestionar conversaciones.

💡 Tip

Las Skills se cargan progresivamente, manteniendo la ventana de contexto ligera. Esto hace que DeerFlow funcione bien incluso con modelos sensibles al número de tokens.

4. Sub-Agentes — Orquestación de tareas complejas

Las tareas complejas rara vez caben en un solo paso. DeerFlow las descompone automáticamente.

El agente principal (lead agent) puede lanzar sub-agentes sobre la marcha, cada uno con su propio contexto aislado, herramientas y condiciones de terminación. Los sub-agentes se ejecutan en paralelo cuando es posible, reportan resultados estructurados y el agente principal sintetiza todo en una salida coherente.

Ejemplo de flujo: una tarea de investigación puede desplegarse en una docena de sub-agentes, cada uno explorando un ángulo diferente, para luego converger en un solo informe — o un sitio web — o una presentación con imágenes generadas.

Modo de ejecuciónDescripción
FlashRespuesta rápida, sin sub-agentes
StandardEjecución normal con planificación básica
ProPlanificación avanzada con descomposición
UltraSub-agentes completos para tareas de larga duración
💡 Tip

Los sub-agentes corren en contextos totalmente aislados — no ven el contexto del agente principal ni de otros sub-agentes, lo que permite foco y paralelismo sin interferencias.

5. Sandbox y sistema de archivos

DeerFlow no solo habla de hacer cosas — tiene su propio ordenador. Cada tarea obtiene un entorno de ejecución completo con vista del sistema de archivos: skills, espacio de trabajo, subidas y resultados.

Estructura del sandbox

/mnt/user-data/
├── uploads/          ← Tus archivos subidos
├── workspace/        ← Directorio de trabajo de los agentes
└── outputs/          ← Resultados finales

Modos de sandbox

ModoProveedorAislamientoUso recomendado
LocalLocalSandboxProviderPor directorio (bash desactivado por defecto)Desarrollo local de confianza
DockerAioSandboxProviderContenedores aisladosDesarrollo y pruebas
KubernetesAioSandboxProvider + provisionerPods KubernetesProducción escalable

El agente puede leer, escribir y editar archivos, ver imágenes y — cuando está configurado de forma segura — ejecutar comandos shell.

⚠️ Error común

En modo Local, el bash del host está desactivado por defecto porque no es un límite de seguridad. Solo reactívalo para flujos de trabajo locales completamente confiables.

6. Context Engineering y Memoria a Largo Plazo

La mayoría de los agentes lo olvidan todo cuando termina la conversación. DeerFlow recuerda.

Context Engineering

Dentro de una sesión, DeerFlow gestiona el contexto de forma agresiva:

Memoria a Largo Plazo

A través de sesiones, DeerFlow construye una memoria persistente de tu perfil, preferencias y conocimiento acumulado. Cuanto más lo usas, mejor te conoce: tu estilo de escritura, tu stack técnico, tus flujos de trabajo recurrentes. La memoria se almacena localmente y permanece bajo tu control.

Las actualizaciones de memoria evitan entradas duplicadas en tiempo de aplicación, por lo que las preferencias repetidas no se acumulan sin fin entre sesiones.

💡 Tip

Puedes ver y gestionar la memoria desde la interfaz web en Settings > Memory, o mediante el comando /memory desde cualquier canal IM conectado.

7. Servidor MCP y Canales de Mensajería

DeerFlow soporta servidores MCP configurables (Model Context Protocol) para extender sus capacidades, incluyendo flujos OAuth para servidores HTTP/SSE.

Canales IM compatibles

CanalTransporteDificultad
TelegramBot API (long-polling)Fácil
SlackSocket ModeModerada
Feishu / LarkWebSocketModerada
WeChatTencent iLink (long-polling)Moderada
WeComWebSocketModerada
DingTalkStream Push (WebSocket)Moderada

Configuración básica de Telegram en config.yaml

channels:
  telegram:
    enabled: true
    bot_token: $TELEGRAM_BOT_TOKEN
    allowed_users: []

Una vez conectado, los comandos disponibles desde el chat son:

ComandoAcción
/newIniciar nueva conversación
/statusMostrar info del hilo actual
/modelsListar modelos disponibles
/memoryVer memoria persistente
/helpMostrar ayuda
💡 Tip

DeerFlow también expone channel_connections: los usuarios pueden conectar sus propias cuentas de Telegram/Slack/Discord desde la interfaz web (Settings > Channels), sin necesidad de IP pública.

8. Embedded Python Client

DeerFlow puede usarse como biblioteca Python embebida sin ejecutar servicios HTTP completos. El DeerFlowClient proporciona acceso directo en-proceso a todas las capacidades del agente.

from deerflow.client import DeerFlowClient

client = DeerFlowClient()

# Chat simple
response = client.chat("Analiza este informe para mí",
                        thread_id="mi-hilo")

# Streaming (protocolo SSE de LangGraph)
for event in client.stream("hola mundo"):
    if event.type == "messages-tuple" and event.data.get("type") == "ai":
        print(event.data["content"])

# Gestión de configuración
models = client.list_models()      # {"models": [...]}
skills = client.list_skills()      # {"skills": [...]}
client.update_skill("web-search", enabled=True)

# Subida de archivos
client.upload_files("thread-1", ["./reporte.pdf"])

Todos los métodos que devuelven diccionarios están validados contra los modelos Pydantic del Gateway en CI, asegurando que el cliente embebido se mantenga sincronizado con los esquemas de la API HTTP.

Instalación

uv pip install 'deerflow-harness'
⚠️ Error común

Para usar el cliente embebido, el proyecto DeerFlow debe estar disponible en el PYTHONPATH o instalado como paquete. Asegúrate de ejecutar uv pip install -e . desde la raíz del repositorio.

9. Terminal Workbench (TUI)

deerflow es un workbench nativo de terminal para quienes viven en la shell. Se ejecuta embebido sobre DeerFlowClient — sin Gateway, frontend, nginx ni Docker requeridos — respetando la misma configuración que el resto de DeerFlow.

# Instalación con dependencia TUI
uv pip install 'deerflow-harness[tui]'

# Lanzar la interfaz de terminal
deerflow

# Reanudar el hilo más reciente
deerflow --continue

# Reanudar un hilo específico
deerflow --resume THREAD_ID

# Respuesta única (headless) a stdout
deerflow --print "resume este repositorio"

# Salida JSON para integraciones
deerflow --json "hola mundo"

Características de la TUI

Las sesiones abiertas en la TUI también aparecen en la interfaz web — ambas comparten el mismo almacén de hilos bajo el usuario local por defecto.

💡 Tip

La TUI funciona incluso sin ejecutar el Gateway. Es ideal para desarrollo, pruebas rápidas y entornos sin navegador.

10. Despliegue en producción y seguridad

DeerFlow tiene capacidades de alto privilegio: ejecución de comandos, operaciones de archivos e invocación de lógica de negocio. Está diseñado por defecto para entornos locales de confianza (accesible solo vía 127.0.0.1).

Despliegue en producción con Docker

# Construir imágenes y arrancar servicios
make up

# Solo construir
./scripts/deploy.sh build

# Solo arrancar
./scripts/deploy.sh start

# Detener
make down

Requisitos de hardware

EntornoMínimoRecomendado
Local / make dev4 vCPU, 8 GB RAM, 20 GB SSD8 vCPU, 16 GB RAM
Docker dev4 vCPU, 8 GB RAM, 25 GB SSD8 vCPU, 16 GB RAM
Servidor producción8 vCPU, 16 GB RAM, 40 GB SSD16 vCPU, 32 GB RAM

Recomendaciones de seguridad

⚠️ Error común

No expongas DeerFlow a Internet sin autenticación. Sus capacidades de ejecución de comandos y acceso a archivos pueden ser explotadas por scanners maliciosos. Siempre usa autenticación previa y lista blanca de IPs.

Preguntas Frecuentes

¿Qué diferencia hay entre DeerFlow y AutoGPT?

DeerFlow es un harness de SuperAgentes construido sobre LangGraph/LangChain, con énfasis en skills extensibles, sub-agentes aislados, sandboxes y memoria persistente. AutoGPT es un agente autónomo más enfocado en la ejecución de tareas secuenciales con acceso a herramientas. DeerFlow está diseñado para tareas que requieren orquestación compleja y ejecución de larga duración.

¿Puedo usar DeerFlow sin Docker?

Sí, DeerFlow soporta ejecución local mediante make dev. Necesitas Node.js 22+, pnpm, uv y nginx instalados. También puedes usarlo como biblioteca Python embebida con DeerFlowClient, o mediante la TUI sin Gateway ni frontend.

¿Qué modelos LLM son compatibles?

DeerFlow es agnóstico al modelo — funciona con cualquier LLM que implemente la API compatible con OpenAI. Los modelos recomendados soportan ventanas de contexto largas (100k+ tokens), capacidades de razonamiento, entradas multimodales y tool-use robusto. Los desarrolladores de ByteDance recomiendan Doubao-Seed-2.0-Code, DeepSeek v3.2 y Kimi 2.5.

¿Cómo añado una skill personalizada?

Crea una carpeta en /mnt/skills/custom/ con un archivo SKILL.md que describa el flujo de trabajo. También puedes instalar skills desde la comunidad, como claude-to-deerflow, mediante npx skills add. Las skills se activan con el prefijo /nombre-skill en el mensaje.