The workflow engine that doesn't turn into an SRE project.

Dagu is a lightweight workflow engine that comes with a Web UI. Define any worflows in a simple declarative YAML format. It natively suports shell commands, docker containers, k8s jobs, SSH commands, and more. Self-contained and no DBMS is required.

Dagu создан для разработчиков, которым нужна мощная оркестрация рабочих процессов без операционных издержек.

Linux
macOS
Windows
Docker
Kubernetes
dagu start-all --port 8080
Установить команду dagu
$curl -fsSL https://raw.githubusercontent.com/dagucloud/dagu/main/scripts/installer.sh | bash

Самодостаточный

Workflow-ы файловые. Один бинарный файл, внешняя база данных или брокер не нужны. Готово для air-gapped окружений.

Ориентирован на CLI

Shell-скрипты, Python-джобы, SQL, dbt, DuckDB, контейнеры и runbook-и запускаются как шаги pipeline без изменений. Новый фреймворк не нужен.

Декларативный

Определяйте workflow в простом декларативном формате YAML. Вы можете использовать любые существующие скрипты или инструменты без изменений.

Безопасная интеграция AI-агентов

Используйте любимого AI-агента для создания, улучшения, отладки и запуска workflow-ов. Встроенное управление секретами скрывает учётные данные из логов и агентов, позволяя им безопасно просматривать и выполнять задачи. Полное журналирование аудита обеспечивает соответствие и прозрачность.

Настроить через MCP
workflow.yaml
# Контролируемый production-runbook с типизированными входами и review
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

Шлюз для AI-агентов

Давайте AI-агентам одобренные действия, а не production-доступ.

Dagu открывает приватные workflow через MCP с ограниченными правами, секретами только во время выполнения, логами, историей и аудитом.

AI-агент

Запрашивает одобренную операцию, не видя приватных учётных данных.

Запрос

Dagu MCP

Применяет гранулярный контроль доступа до запуска любого workflow.

Допуск

Одобренный workflow

Запускает уже доверенный script, container, SQL, HTTP, SSH или вложенный workflow.

Запуск

Приватные системы

Production-инструменты и данные остаются за Dagu, а не внутри контекста агента.

ShellSQLSSH

Агенты запрашивают именованное действие workflow через Dagu MCP вместо получения shell-, database- или API-учётных данных.

Dagu проверяет доступ, внедряет секреты только во время выполнения и может приостанавливать чувствительные workflow для человеческого подтверждения.

Каждый запуск сохраняет логи, выводы, статус, историю и аудиторские данные для людей и агентов.

Ограниченный доступ

Открывайте только действия, которые каждому агенту разрешено запускать.

Управляемые секреты

Внедряйте учётные данные во время выполнения, не раскрывая их агенту.

Аудит

Отслеживайте, кто или что запустило каждый workflow и с какими входами.

Подтверждения

Приостанавливайте рискованные операции для человеческой проверки.

Безопасные результаты

Возвращайте статус и выводы без открытия сырого системного доступа.

Агент получает ограниченный инструмент. Секреты, логи, права и операционная история остаются в Dagu.

Control plane вокруг реальной работы

Dagu добавляет недостающий операционный слой для скриптов, инструментов, runbook-ов и AI-агентов.

Наблюдаемость

Отслеживайте workflow, расписания, live-статус, логи, историю запусков, outputs, артефакты и подтверждения в Web UI.

Независимое от языка выполнение

Запускайте shell-команды, Python-скрипты, контейнеры, Kubernetes Jobs, SQL-запросы, HTTP-запросы, SSH-команды и другое.

Воспроизводимые запуски

Фиксируйте инструменты в workflow YAML, чтобы worker устанавливал и кешировал ожидаемые бинарники до выполнения.

Multiplayer AI-агенты

Запускайте общих AI-агентов внутри workflow и отдавайте workflow агентам как ограниченные и наблюдаемые инструменты.

Встроенные подтверждения

Приостанавливайте чувствительные шаги для проверки, подтверждения или вмешательства человека перед продолжением.

MCP-сервер

MCP-совместимые агенты могут читать состояние Dagu, просматривать изменения, редактировать workflow и управлять запусками.

Агенты без привязки к harness

Запускайте coding agents и agent CLI из workflow, сохраняя логи, подтверждения, секреты и аудит в Dagu.

Управление секретами

Передавайте секреты в workflow runs и маскируйте чувствительные значения в логах для пользователей, агентов и чатов.

Self-hosted или managed

Запускайте один бинарник, разворачивайте в контейнерах или Kubernetes, либо используйте managed и hybrid модели.

Контроль прав

Управляйте доступом к workflow через RBAC, SSO, API keys, workspaces и audit logs.

Модели развертывания

Запустите self-hosted экземпляр, используйте управляемый сервер Dagu или объедините облачную управляющую плоскость с приватными воркерами в вашей инфраструктуре.

Начните с одной машины. Масштабируйтесь в self-hosted, managed или hybrid.

Локально

Один сервер

Запускайте `dagu start-all` на одной машине с локальным файловым state. Без database, broker или platform stack.

Самостоятельный хостинг

Ваша инфраструктура

Держите Dagu server, workers, secrets, logs и execution внутри своей среды.

Dagu

Полностью управляемый сервер

Используйте dedicated Dagu server, которым управляет Dagu в изолированном gVisor instance на GKE.

Гибрид

Управляемый сервер, приватное выполнение

Dagu управляет server, а private workers запускают Docker, private-network или data-local steps.

Гибридное выполнение

Управляемый сервер Dagu
Private worker через mTLS
Docker, private APIs, secrets и data-local work

Hybrid оставляет Dagu server managed, пока execution, которой нужны ваши network, runtime или data, остается под вашим контролем.

Функции производственного уровня

Проверенные в бою функции движка рабочих процессов позволяют сосредоточиться на основной ценности, не беспокоясь об оркестрации.

Производительность

На одной машине можно выполнять тысячи запусков workflow в день — в зависимости от оборудования, структуры workflow, длительности шагов и настроек очередей.

Распределённое выполнение

Используйте очереди, лимиты параллелизма и распределённых воркеров, чтобы держать нагрузку под контролем и распределять задачи между машинами.

Уведомления

Повторяющиеся расписания, догоняющий запуск, устойчивые выполнения, тайм-ауты, повторные запуски, уведомления и маршрутизация инцидентов к ответственным.

Аутентификация и RBAC

Управление пользователями, RBAC, рабочие пространства, шаги согласования, встроенное управление секретами, API-ключи и вебхуки.

Реальные примеры использования

01

Автоматизация поддержки клиентов

Превращайте повторяющиеся инженерные запросы в самообслуживаемые рабочие процессы. Бизнес-команды выполняют их самостоятельно. Инженеры остаются в стороне.

02

Управление cron и legacy-скриптами

Перенесите существующие shell-скрипты, Python-скрипты, HTTP-вызовы и запланированные задачи в Dagu без переписывания.

03

Автоматизация инфраструктуры и серверов

Координируйте SSH-бэкапы, очистки, deploy-скрипты, окна патчей, precondition-проверки и lifecycle hooks.

04

ETL и операции с данными

Запускайте PostgreSQL или SQLite запросы, S3 transfers, jq transformations, проверки и переиспользуемые sub-workflows.

05

GitHub как интерфейс. Ваша инфраструктура как runtime.

Запускайте Dagu из GitHub-событий, поступающих из issues и PR, через управляемое приложение Dagu GitHub App.

06

Контейнерные и Kubernetes Workflow

Собирайте workflow, где каждый шаг может запускать Docker image, Kubernetes Job, shell-команду или проверку.

07

Конвертация медиа

Запускайте ffmpeg, извлечение превью, нормализацию аудио, обработку изображений и другие тяжелые задачи на workers.

08

IoT и Edge Workflow

Запускайте опрос сенсоров, локальную очистку, офлайн-синхронизацию, health checks и обслуживание на малых устройствах.

09

Workflow с ИИ-агентами

Запускайте любой инструмент для автоматизации отдельных рабочих процессов разработки с чистым контекстом и автоматическим повтором и переключением при сбое.

Распространённые паттерны

Health Check
SSH Backup
Notify

Workflow приватных скриптов

Превратите приватные скрипты, внутренние CLI, переиспользуемые actions, закрепленные tools и артефакты в workflow, которые другие команды могут безопасно запрашивать или запускать.

  • 1Существующие скрипты и команды остаются без изменений
  • 2Открывайте узкие параметры вместо широкого production-доступа
  • 3Вызывайте версионированные Dagu Actions с типизированными outputs
  • 4Сохраняйте отчеты и логи как полноценные артефакты
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]

Типизированные параметры

Dagu автоматически отображает их в виде типизированной формы ввода параметров в веб-интерфейсе — удобно для создания самообслуживаемых рабочих процессов или работы не-инженеров.

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"])}

Для подготовки tools Dagu по умолчанию использует aqua.

Многопользовательский AI-агент в Slack

AI-агент в Slack помогает управлять рабочими процессами,отлаживать сбои и устранять инциденты.

DaguDagu
Сообщение...

Полноценные функции рабочих процессов

Dagu оснащён функциями рабочего процесса производственного уровня.

Любимый разработчиками

Реальные комментарии сообщества Dagu на GitHub.

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

Установите Dagu через пошаговый мастер, а затем переходите к полному руководству по установке или quickstart-документации.

1

Установите команду dagu

Скриптовые установщики — рекомендуемый путь. Homebrew, npm и Docker тоже доступны, но они дают только установку бинарника или контейнера.

Mac/Linux Терминал
$curl -fsSL https://raw.githubusercontent.com/dagucloud/dagu/main/scripts/installer.sh | bash
✓ Пошаговый установщик готов
Опционально

Подключите AI-инструменты

Установите навык Dagu для создания workflows или подключите MCP-клиент к запущенному серверу Dagu.

Навык Dagu
$gh skill install dagucloud/dagu dagu

Помогает Claude Code, Codex, Gemini CLI и другим AI coding tools писать Dagu YAML.

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

Позволяет MCP-клиентам читать состояние Dagu, предварительно проверять изменения и управлять DAG runs.

Доступ MCP через OIDC/SSO доступен для enterprise-развертываний. Свяжитесь с нами, чтобы обсудить настройку.

2

Что дальше

Пошаговый установщик может завершить первоначальную настройку за вас.

# Что может сделать установщик
Добавить Dagu в PATH
Настроить фоновую службу
Создать и проверить первого администратора

Сообщество проекта

Обсуждайте использование, сообщайте об issues и следите за разработкой.

Solution partner

Поддержка партнеров по решениям для клиентских проектов

Для команд, которые встраивают Dagu в клиентские продукты, внутренние платформы или managed services, мы предоставляем enterprise-функции и практическую поддержку интеграции.

Мы помогаем партнерам спроектировать security model, integration path и operating plan, чтобы Dagu аккуратно вошел в клиентские проекты без широкого production-доступа.

Связаться с нами

Enterprise OIDC/SSO и контроль доступа

MCP support для agent и customer workflows

Архитектурный review для self-hosted, managed или hybrid deployments

Настройка private workers, secrets и выполнения внутри сети

Миграция scripts и runbooks в customer-facing workflows

Выделенная поддержка от delivery проекта до production launch