Para equipos cuyo trabajo principal no es la orquestación.
Orquestación local-first que simplemente funciona.
Define flujos de trabajo en YAML declarativo; un único binario open source los ejecuta, en local o por SSH, con programación, reintentos, aprobaciones, logs y una interfaz web. Tus scripts, contenedores y agentes de IA quedan intactos. Sin base de datos externa, sin framework.
$curl -fsSL https://raw.githubusercontent.com/dagucloud/dagu/main/scripts/installer.sh | bash# runs every night at 02:00schedule: "0 2 * * *"type: chainsteps:- id: fetch_datarun: python fetch.pyretry_policy:limit: 3interval_sec: 60- id: build_reportrun: python report.py- id: notifyrun: ./notify.sh
Quickstart
Instalar el comando dagu
Ejecuta tu primer flujo de trabajo
Ejecutarlo
Explorar la Interfaz Web
Instala Dagu y ejecuta tu primer flujo de trabajo desde la interfaz web en pocos minutos.
¿Usas Dagu?
Dale una estrella a Dagu en GitHub para guardar el repositorio y mostrar tu apoyo.
Todas las operaciones de workflows desde el chat
Une workflows dispersos. Crea, edita, depura, recupera y analiza, todo desde el chat de IA que ya usas.
Más informaciónCreate a nightly ETL workflow
Funciona con cualquier agente compatible con MCP
Wiki y runbooks
Mantén los runbooks en Markdown junto a tus workflows. Actualízalos desde la interfaz web o con cualquier agente de IA compatible con MCP. Usa Git Sync para el control de versiones.
Más informaciónEl plano de control en torno a tu trabajo real
Todo lo siguiente viene en el binario open source; SSO, RBAC y logs de auditoría se activan con una licencia self-host.
Wiki y runbooks
Mantén los runbooks en Markdown junto a tus workflows. Actualízalos desde la interfaz web o con cualquier agente de IA compatible con MCP. Usa Git Sync para el control de versiones.
Observabilidad
Estado en vivo, logs stdout y stderr por paso, historial de ejecuciones, outputs, artefactos y aprobaciones en la interfaz web. Métricas Prometheus como dagu_dag_runs_total en el endpoint de métricas.
Ejecución agnóstica al lenguaje
run: ejecuta cualquier comando de shell; docker.run, kubernetes.run, ssh.run, http.request, postgres.query y más de 50 actions integradas cubren el resto. Sin SDK en tu código.
Servidor MCP
Endpoint HTTP streamable en /mcp. Los agentes inspeccionan estado, previsualizan y aplican cambios y controlan ejecuciones con dagu_read, dagu_change y dagu_execute.
Flujos de trabajo de Agent Harness
Las ejecuciones de CLIs de agentes conservan logs stdout y stderr, puertas de aprobación, enmascarado de secretos e historial en Dagu. Ejecución en sandbox con Docker o Podman.
Gestión de secretos
Las referencias secrets: se resuelven en tiempo de ejecución desde env, archivos, Kubernetes, Vault y gestores de secretos en la nube. Los valores se enmascaran en logs y en la interfaz.
Control de permisos
Cinco roles de admin a viewer, SSO OIDC, claves API, workspaces y logs de auditoría. Funciones de la edición self-host con licencia.
Más de 50 tipos de paso integrados
Cada nombre de abajo está disponible hoy como paso. Sin plugins que instalar, nada que importar.
run:execdocker.runkubernetes.runssh.runhttp.requestpostgres.querysqlite.queryredis.*s3.uploads3.downloadsftp.uploadsftp.downloadfile.*archive.createarchive.extractjq.filterdata.convertdata.pickchat.completionharness.runhuman.tasktype: controllerdag.rundag.enqueuerouter.routewait.durationwait.untilwait.filewait.httpnoopapproval:state.getstate.setstate.diffartifact.writeartifact.readoutputs.writetemplate.renderlog.writemail.sendgit.checkoutLista completa con entradas y salidas en la documentación de Dagu Actions
Operación en producción
Las garantías y los controles, con sus nombres reales.
Rendimiento
Miles de ejecuciones al día en una máquina; la capacidad depende de CPU, disco y forma del workflow. El estado son archivos locales: no hay base de datos que dimensionar ni migrar.
Ejecuciones distribuidas
Colas basadas en archivos con límites de concurrencia por DAG. dagu coordinator despacha por gRPC a workers elegidos por etiquetas como gpu=true.
Notificaciones
Cron con zonas horarias, catchup_window, overlap_policy, retry_policy por paso, detección de zombis, manejadores de ciclo de vida, notificaciones por email y webhook, y enrutado de incidentes.
Auth y RBAC
DAGU_AUTH_MODE none, basic o builtin; cinco roles RBAC; workspaces; pasos de aprobación; enmascarado de secretos; claves API; tokens webhook por DAG.
Arquitectura
El mismo binario funciona de tres maneras.
Standalone
Un proceso dagu start-all ejecuta el servidor HTTP, el scheduler y el executor, con almacenamiento en archivos.
┌─────────────────────────────────────────┐ │ dagu start-all │ │ ┌───────────┐ ┌───────────┐ ┌────────┐ │ │ │ HTTP / UI │ │ Scheduler │ │Executor│ │ │ └───────────┘ └───────────┘ └────────┘ │ │ File-based storage (logs, state, queue)│ └─────────────────────────────────────────┘
Coordinator y workers
El scheduler encola en una cola basada en archivos; un coordinator gRPC despacha a workers enrutados por etiquetas, que ejecutan localmente y reportan el estado.
┌───────────┐ ┌───────────┐
│ Scheduler │ │ HTTP / UI │
│ ┌───────┐ │ └─────┬─────┘
│ │ Queue │ │ │ gRPC
│ └───────┘ │ │
└─────┬─────┘ │
│ Dispatch (gRPC) │
▼ ▼
┌─────────────────────────┐
│ Coordinator │
└────────────▲────────────┘
│ poll / heartbeat
┌────────────┼────────────┐
┌──┴─────┐ ┌──┴─────┐ ┌──┴─────┐
│ Worker │ │ Worker │ │ Worker │
└────────┘ └────────┘ └────────┘Headless: DAGU_HEADLESS=true ejecuta el mismo binario sin interfaz web, para CI o usos vía API.
Patrones comunes
Workflows de scripts privados
Convierte scripts privados, CLIs internos, acciones reutilizables, herramientas fijadas y artefactos en workflows que otros equipos pueden solicitar o ejecutar de forma segura.
- 1Mantén scripts y comandos existentes intactos
- 2Expón parámetros acotados en vez de acceso amplio a producción
- 3Llama Dagu Actions versionadas con salidas tipadas
- 4Guarda reportes y logs como artefactos de primera clase
tools:
- jqlang/jq@jq-1.7.1
steps:
- id: collect
action: acme/dagu-action-export@v1.4.2
with:
dataset: customers
- id: transform
run: jq '.items[] | {id, email}' ${steps.collect.outputs.path}
stdout:
artifact: reports/customers.json
depends: [collect]
- id: publish
action: outputs.write
with:
values:
report: reports/customers.json
rows: ${steps.collect.outputs.rows}
depends: [transform]
Amado por los desarrolladores
Comentarios reales de la comunidad GitHub de Dagu.
Últimamente he estado buscando una alternativa para workflows dinámicos de agentes. Empecé por la vía de Temporal. Temporal es potente, pero si solo quieres encadenar dinámicamente agentes, scripts, procesamiento de datos y tareas de operaciones, todo el sistema puede sentirse un poco pesado. Entonces encontré Dagu y la dirección me pareció acertada. Corre con un solo binario, los flujos se escriben en YAML, todo se gestiona en archivos locales, trae una interfaz web y no hace falta levantar una DB ni un broker adicional. También trae muchas acciones integradas: shell, Docker, K8s Jobs, SSH… están todas. Una grata sorpresa fue harness.run, que permite conectar CLIs de coding agents externos directamente al flujo. Lo que más me gusta: el flujo en sí es un archivo, y el estado, los logs, los reintentos, las dependencias y la interfaz ya vienen resueltos. Para equipos pequeños, entornos privados, automatización personal y workflows de agentes, el enfoque local-first de Dagu resulta realmente cómodo.
This is literally my dream project. I have set up GitLab at some point just to run some commands and this project is perfect for all my use case. Thank you very much!
@vnghia
Developer
I've been exploring Dagu for a few weeks and really love the Zero-Ops philosophy. The declarative YAML approach is exactly what the workflow orchestration space needs.
@vincent067
Developer
I've recently played around with Dagu for private stuff and think it could also be worth introducing at work.
@DarkWiiPlayer
Developer
Auto-alojado en su propia infraestructura
Dagu usa la licencia GPLv3 y es gratuito para siempre. Las licencias de pago añaden SSO, RBAC, registros de auditoría, enrutamiento de incidentes y soporte para equipos.
- Automatización y monitoreo completo de flujos de trabajo
- Interfaz web con visualización de DAG
- Ejecutores Docker, SSH y HTTP
- Programación cron y reintentos
- Hasta 2 claves API para automatización
3 licencias de servidor Dagu self-host
- SSO (OIDC)
- Control de acceso basado en roles
- Registro de auditoría
- Soporte prioritario por email y chat
- Enrutamiento de incidentes
15 licencias de servidor Dagu self-host
- SSO (OIDC)
- Control de acceso basado en roles
- Registro de auditoría
- Soporte prioritario por email y chat
- Enrutamiento de incidentes
Para equipos que construyen infraestructura de workflows orientados a eventos en entornos complejos
- Consultoría de arquitectura para configuración distribuida
- Implementación personalizada
- Guía para MCP OIDC/SSO
- Soporte de migración inicial
- Reuniones dedicadas
- SLA de tiempo de respuesta personalizado
Soluciones personalizadas
Creamos funciones a medida para las necesidades específicas de cada empresa.
Soluciones llave en mano
Creamos configuraciones listas para usar que ayudan a los equipos a escalar Dagu fácilmente sin consumir enormes recursos técnicos o de servidor.
Crea una prueba de licencia self-host de 14 días en minutos — 14 días, Sin tarjeta de crédito. Iniciar prueba gratis de licencia
Todos los planes de pago incluyen soporte prioritario por email y chat con primera respuesta en 1 día hábil. Ver detalles de soporte
Detalles sobre el alcance de la licencia y la comparación con Community: Guía de licencias self-host
¿Necesitas aprobación interna? Lee el informe de adopción
Contacto
¿Preguntas, bugs o ideas?
Abre un issue en GitHub, pregunta en Discord o escribe un correo. Responde el mantenedor, no un bot.

