Plan de contrôle local pour l'automatisation des opérations existantes et les workflows d'agents IA

La plupart des équipes finissent avec des tâches cron que personne ne peut vraiment expliquer. Quand l'une d'elles casse, comprendre ce qui a échoué et dans quel ordre relancer prend plus de temps que prévu. Dagu transforme ce graphe de dépendances implicites en un DAG explicite. Le statut, les logs et les relances sont dans une interface web. Un seul binaire, des fichiers locaux, les scripts existants restent intacts.

Conçu pour les développeurs qui veulent une orchestration de workflows puissante sans la surcharge opérationnelle.

Linux
macOS
Windows
Docker
Kubernetes
dagu start-all --port 8080
Installer la commande dagu
$curl -fsSL https://raw.githubusercontent.com/dagucloud/dagu/main/scripts/installer.sh | bash

Self-hébergé et local-first

Les workflows sont basés sur des fichiers. Un binaire, sans base de données ni broker externe. Prêt pour les environnements air-gapped.

CLI-orienté

Scripts shell, jobs Python, SQL, dbt, DuckDB, containers et runbooks s'exécutent comme étapes de pipeline sans modification. Pas de nouveau framework nécessaire.

Intégration sécurisée d'agents IA

Utilisez votre agent IA favori pour créer, améliorer, déboguer et exécuter des workflows. La gestion secrète intégrée cache les identifiants des logs et des agents, tout en leur permettant de prévisualiser et d'exécuter les tâches en toute sécurité. La journalisation complète des audits garantit conformité et visibilité.

Configurer via MCP →
workflow.yaml
# Runbook de production contrôlé avec entrées typées et revue
name: "repair-customer-account"

params:
- name: customer_id
type: string
- name: change_scope
type: string
enum: ["metadata_only", "permissions"]
default: metadata_only
- name: dry_run
type: boolean
default: true

steps:
- id: inspect_account
run: ./scripts/inspect-account.sh --customer $${customer_id}
stdout:
artifact: reports/inspection.md

- id: review
action: noop
depends: [inspect_account]
approval:
prompt: "Review the inspection report before repair."

- id: repair_account
run: ./scripts/repair-account.sh --customer $${customer_id} --scope $${change_scope} --dry-run $${dry_run}
depends: [review]
stdout:
artifact: reports/repair.log

Trusted by developers at

1Password
Intel
MongoDB
Baidu
ByteDance
Canonical
Grab
Douban
Debian
NASA / JPL
Gitee
Plaid
Geodis
Aleno
Mambu
Audibene
NINAnor
RUBIX GmbH
cynkra
DataLad
dandi
QNIB Solutions
modoolar
TTT Studios
vital-software
m3dev
Build On Technologies
Dalibo
InfoInnova
infront-quant
gfx-labs
t54-labs
sajo
ANZX
1Password
Intel
MongoDB
Baidu
ByteDance
Canonical
Grab
Douban
Debian
NASA / JPL
Gitee
Plaid
Geodis
Aleno
Mambu
Audibene
NINAnor
RUBIX GmbH
cynkra
DataLad
dandi
QNIB Solutions
modoolar
TTT Studios
vital-software
m3dev
Build On Technologies
Dalibo
InfoInnova
infront-quant
gfx-labs
t54-labs
sajo
ANZX
1Password
Intel
MongoDB
Baidu
ByteDance
Canonical
Grab
Douban
Debian
NASA / JPL
Gitee
Plaid
Geodis
Aleno
Mambu
Audibene
NINAnor
RUBIX GmbH
cynkra
DataLad
dandi
QNIB Solutions
modoolar
TTT Studios
vital-software
m3dev
Build On Technologies
Dalibo
InfoInnova
infront-quant
gfx-labs
t54-labs
sajo
ANZX

Le control plane autour du vrai travail

Dagu ajoute aux scripts, outils, runbooks et agents IA la couche opérationnelle qui manque aux équipes.

Modeles de deploiement

Exécutez une instance auto-hébergée, utilisez le serveur géré Dagu, ou combinez le plan de contrôle cloud avec des workers privés dans votre infrastructure.

Demarrez sur une machine. Passez au self-hosted, managed ou hybrid.

Local

Serveur unique

Executez `dagu start-all` sur une machine avec un etat local sur fichiers. Aucune base, aucun broker, aucun platform stack requis.

Auto-heberge

Votre infrastructure

Gardez le Dagu server, les workers, les secrets, les logs et l'execution dans votre propre environnement.

Dagu

Serveur entierement gere

Utilisez un Dagu server dedie opere par Dagu dans une instance gVisor isolee sur GKE.

Hybride

Serveur gere, execution privee

Laissez Dagu operer le serveur pendant que des private workers executent les steps Docker, reseau prive ou data-local.

Exécution hybride

Serveur Dagu managé
Private worker via mTLS
Docker, private APIs, secrets et travail data-local

Hybrid garde le Dagu server managed pendant que l'execution qui a besoin de votre reseau, runtime ou data reste sous votre controle.

Fonctionnalités de moteur de workflow en production

Des fonctionnalités de moteur de workflow éprouvées vous permettent de vous concentrer sur la valeur essentielle sans vous soucier de l'orchestration.

Performance

Exécutez des milliers de workflows par jour sur une machine, selon le matériel, la forme du workflow, la durée des étapes et les paramètres de files.

Exécution distribuée

Utilisez files d'attente, limites de concurrence et workers distribués pour contrôler la charge et répartir les jobs entre machines.

Notifications

Planifications récurrentes, rattrapage, exécutions durables, délais d'attente, relances, notifications et routage des incidents vers les responsables.

Auth et RBAC

Gestion des utilisateurs, RBAC, espaces de travail, étapes d'approbation, gestion des secrets intégrée, clés API et webhooks.

Cas d'usage réels

01

Automatisation du support client

Transformez les demandes récurrentes en workflows en libre-service. Les équipes métier les exécutent de manière autonome. Les ingénieurs restent en dehors.

02

Gestion de cron et scripts legacy

Amenez vos scripts shell, scripts Python, appels HTTP et jobs planifiés existants dans Dagu sans les réécrire.

03

Automatisation Infrastructure et Serveurs

Coordonnez sauvegardes SSH, nettoyages, scripts de déploiement, fenêtres de patch, préconditions et hooks de cycle de vie.

04

ETL et Opérations de Données

Exécutez requêtes PostgreSQL ou SQLite, transferts S3, transformations jq, validations et sous-workflows réutilisables.

05

GitHub comme interface. Votre infrastructure comme runtime.

Déclenchez des exécutions Dagu depuis des événements GitHub provenant d'issues et de PR via l'application GitHub Dagu gérée.

06

Workflows Conteneurs et Kubernetes

Composez des workflows où chaque étape peut lancer une image Docker, un Job Kubernetes, une commande shell ou une validation.

07

Conversion Média

Exécutez ffmpeg, extraction de vignettes, normalisation audio, traitement d’images et autres jobs lourds sur des workers.

08

Workflows IoT et Edge

Exécutez collecte capteur, nettoyage local, synchronisation hors ligne, health checks et maintenance sur de petits appareils.

09

Workflows avec agents IA

Exécutez n'importe quel harness pour automatiser certains workflows de développement avec un contexte propre et des mécanismes automatiques de retry et de failover.

Patterns courants

Health Check
SSH Backup
Notify

Workflows de scripts privés

Transformez scripts privés, CLIs internes, actions réutilisables, outils épinglés et artefacts en workflows que d’autres équipes peuvent demander ou exécuter en sécurité.

  • 1Gardez les scripts et commandes existants intacts
  • 2Exposez des paramètres étroits au lieu d’un accès production large
  • 3Appelez des Dagu Actions versionnées avec sorties typées
  • 4Stockez rapports et logs comme artefacts de premier ordre
workflow.yaml
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}' ${collect.outputs.path}
    stdout:
      artifact: reports/customers.json
    depends: [collect]

  - id: publish
    action: outputs.write
    with:
      values:
        report: reports/customers.json
        rows: ${collect.outputs.rows}
    depends: [transform]

Paramètres typés

Dagu les affiche automatiquement sous forme de formulaire de saisie de paramètres typés dans l'interface web, utile pour créer des workflows en libre-service ou permettre leur utilisation par des non-ingénieurs.

workflow.yaml
tools:
  - jqlang/jq@jq-1.7.1

steps:
  - id: inspect
    run: jq --version

  - id: summarize
    action: python-script@v1
    with:
      input:
        rows: [42, 8]
      script: |
        return {"total": sum(input["rows"])}

Pour préparer les outils, Dagu utilise aqua par défaut.

Agent IA multijoueur dans Slack

L'agent IA dans Slack vous aide à gérer vos workflows,déboguer les pannes et résoudre les incidents.

DaguDagu
Message...

Fonctionnalités de workflow complètes

Dagu est équipé de fonctionnalités de moteur de workflow de niveau production.

Plébiscité par les développeurs

Vrais commentaires de la communauté GitHub Dagu.

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

#827

Dagu is really a gem in the open source world! ❤️ What a release — with GitHub Actions as well. Thanks guys.

@borestad

Elk Studios

#1313

Dagu is an amazing tool!! It works perfectly now, thank you so much! 💖

@jarnik

Freelance developer

#1294

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

#1814

Amazing! I did not expect this to be delivered that fast! Multiple schedulers do not compete and the locking mechanism works as expected. Good job!

@jonasban

Developer

#1130

I've recently played around with Dagu for private stuff and think it could also be worth introducing at work.

@DarkWiiPlayer

Developer

#924

Awesome, it works like a charm! I second the update of the doc on this one.

@thibmart1

Developer

#1320

That's very impressive. The exit code dictionary will make these DAGs even further sophisticated. Once again, very good features. 🫡

@ghansham

Developer

#1076

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

#827

Dagu is really a gem in the open source world! ❤️ What a release — with GitHub Actions as well. Thanks guys.

@borestad

Elk Studios

#1313

Dagu is an amazing tool!! It works perfectly now, thank you so much! 💖

@jarnik

Freelance developer

#1294

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

#1814

Amazing! I did not expect this to be delivered that fast! Multiple schedulers do not compete and the locking mechanism works as expected. Good job!

@jonasban

Developer

#1130

I've recently played around with Dagu for private stuff and think it could also be worth introducing at work.

@DarkWiiPlayer

Developer

#924

Awesome, it works like a charm! I second the update of the doc on this one.

@thibmart1

Developer

#1320

That's very impressive. The exit code dictionary will make these DAGs even further sophisticated. Once again, very good features. 🫡

@ghansham

Developer

#1076

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

#827

Dagu is really a gem in the open source world! ❤️ What a release — with GitHub Actions as well. Thanks guys.

@borestad

Elk Studios

#1313

Dagu is an amazing tool!! It works perfectly now, thank you so much! 💖

@jarnik

Freelance developer

#1294

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

#1814

Amazing! I did not expect this to be delivered that fast! Multiple schedulers do not compete and the locking mechanism works as expected. Good job!

@jonasban

Developer

#1130

I've recently played around with Dagu for private stuff and think it could also be worth introducing at work.

@DarkWiiPlayer

Developer

#924

Awesome, it works like a charm! I second the update of the doc on this one.

@thibmart1

Developer

#1320

That's very impressive. The exit code dictionary will make these DAGs even further sophisticated. Once again, very good features. 🫡

@ghansham

Developer

#1076

I love how simple this is now.

@n3storm

Estudio Nexos

#1593

Fantastic! Thanks for the quick reply — keep up the great project!

@mitchplze

Developer

#1359

Amazing support! Thank you!

@kacamific

Developer

#760

It works perfectly with v2.6.1. Thank you very much for the correction.

@napnap75

Developer

#1638

Thanks for the fix. Works great now.

@triole

Developer

#831

As always, appreciate the great work — just sharing feedback to help shape the roadmap.

@jonnochoo

Developer

#770

it's awesome you keep working on it 👍

@fishnux

Developer

#328

Thank you so much for the quick fix! I tested it, and it now correctly stores the files where it should.

@IngwiePhoenix

Developer

#423

I love how simple this is now.

@n3storm

Estudio Nexos

#1593

Fantastic! Thanks for the quick reply — keep up the great project!

@mitchplze

Developer

#1359

Amazing support! Thank you!

@kacamific

Developer

#760

It works perfectly with v2.6.1. Thank you very much for the correction.

@napnap75

Developer

#1638

Thanks for the fix. Works great now.

@triole

Developer

#831

As always, appreciate the great work — just sharing feedback to help shape the roadmap.

@jonnochoo

Developer

#770

it's awesome you keep working on it 👍

@fishnux

Developer

#328

Thank you so much for the quick fix! I tested it, and it now correctly stores the files where it should.

@IngwiePhoenix

Developer

#423

I love how simple this is now.

@n3storm

Estudio Nexos

#1593

Fantastic! Thanks for the quick reply — keep up the great project!

@mitchplze

Developer

#1359

Amazing support! Thank you!

@kacamific

Developer

#760

It works perfectly with v2.6.1. Thank you very much for the correction.

@napnap75

Developer

#1638

Thanks for the fix. Works great now.

@triole

Developer

#831

As always, appreciate the great work — just sharing feedback to help shape the roadmap.

@jonnochoo

Developer

#770

it's awesome you keep working on it 👍

@fishnux

Developer

#328

Thank you so much for the quick fix! I tested it, and it now correctly stores the files where it should.

@IngwiePhoenix

Developer

#423

Quickstart

Installez Dagu avec l’assistant guidé, puis continuez avec le guide d’installation complet ou le quickstart.

1

Installer la commande dagu

Les scripts d'installation sont le chemin recommande. Homebrew, npm et Docker restent disponibles, mais ils n'installent que le binaire ou le conteneur.

Mac/Linux Terminal
$curl -fsSL https://raw.githubusercontent.com/dagucloud/dagu/main/scripts/installer.sh | bash
✓ Assistant d’installation prêt
Optionnel

Connecter les outils IA

Installez le skill Dagu pour créer des workflows, ou connectez un client MCP à un serveur Dagu en cours d'exécution.

Skill Dagu
$gh skill install dagucloud/dagu dagu

Aide Claude Code, Codex, Gemini CLI et d'autres outils de codage IA à écrire du YAML Dagu.

Endpoint MCP Dagu
URLhttp://localhost:8080/mcp

Permet aux clients compatibles MCP de lire l'état de Dagu, de prévisualiser les changements et de contrôler les exécutions DAG.

L'accès MCP avec OIDC/SSO est disponible pour les déploiements entreprise. Contactez-nous pour en discuter.

2

Suite

L’installateur guidé peut terminer la configuration du premier lancement pour vous.

# Ce que l’installateur peut faire
Ajouter Dagu au PATH
Configurer un service d’arrière-plan
Créer et vérifier le premier administrateur

Communauté du projet

Discuter des usages, signaler des issues et suivre le développement.

Partenaire solutions

Accompagnement partenaire solutions pour les projets clients

Pour les équipes qui intègrent Dagu dans des produits clients, des plateformes internes ou des services managés, nous fournissons des fonctionnalités enterprise et un accompagnement d'intégration concret.

Nous aidons les partenaires à concevoir le modèle de sécurité, le parcours d'intégration et le plan d'exploitation pour que Dagu s'insère proprement dans les projets clients sans donner un accès production trop large.

Nous contacter

Enterprise OIDC/SSO et contrôle d'accès

Support MCP pour les workflows agents et clients

Revue d'architecture pour déploiements self-hosted, managés ou hybrides

Configuration de private workers, secrets et exécution liée au réseau

Migration de scripts et runbooks vers des workflows côté client

Support dédié de la livraison projet au lancement production