Compare

How Dagu compares to other workflow engines

Dagu is a single self-hosted binary that runs declarative YAML with no database. Here is an honest look at how it compares to other orchestrators and automation tools.

单二进制工作流引擎

无需引入沉重平台,也能运行生产级工作流。

Dagu 可以把 shell 脚本、容器、SSH 任务、HTTP 调用和 Agent Harness 步骤变成带有重试、日志、队列和 Web UI 的 YAML 工作流。

Read more
DaguDaguvs消息代理栈

一张工作流图。worker 覆盖每个平台。

Dagu 的分布式模式是同一个单二进制文件扮演两种角色:分发任务的 coordinator 和轮询任务的 worker。在 Linux、macOS 或 Windows 上启动 dagu worker,用标签描述这台机器,再用 worker_selector 路由整个 DAG 或单个步骤。worker 通过双向 TLS 保护的 gRPC 主动向外连接,因此不需要消息代理、共享数据库,也不需要在 worker 上开放入站端口。

Read more
AI Agent 编排

编排 Agent Harness 步骤和可由 MCP 操作的工作流。

Dagu 为 AI 辅助工作提供生产级工作流边界:用 harness.run 运行 Agent Harness 步骤,让支持 MCP 的工具通过内置 MCP 服务器操作 Dagu,并把日志、重试、审批和审计历史集中保留。

Read more
DaguDaguvsAgent 框架

运行多个 Agent,把顺序交给 Agent DAG 决定。

有些工作的顺序无法事先写下来。设置 type: agent,声明运行结束时什么必须成立,Dagu 就让模型根据回传的结论挑选下一个要执行的 Agent 步骤。每个动作仍然是普通的工作流步骤,带有日志、重试、审批和审计记录。

Read more
DaguDaguvsLangGraph

Agent 工作流的运行时,而不是塞进应用里的一个库。

LangGraph 是用代码表达 Agent 图的好办法。Dagu 是运行它的那一层: 单个自托管二进制,工作流是 YAML,Agent 是普通步骤,调度、队列、重试、持久挂起和运行历史来自引擎,而不是你围着它写的那个应用。

Read more
Cron 作业现代化

保留 cron 的简单,再补上生产任务真正需要的控制能力。

Dagu 让调度依然贴近你的脚本,同时补上依赖图、重试、日志、历史、手动重跑和 Web UI。

Read more
Airflow 替代方案

如果 Airflow 太重,就让编排更靠近操作系统。

Dagu 面向那些需要调度、重试、依赖关系、日志和 UI,但不想引入 Python DAG 框架和沉重元数据栈的团队。

Read more
n8n 替代方案

面向开发者的代码优先 n8n 替代方案。

Dagu 是一个自托管的 n8n 替代方案,面向那些更愿意把自动化定义为受版本控制的 YAML、而不是在可视化画布上连线的团队。调度、重试、日志和 Web UI 都由一个二进制提供。

Read more
DaguDaguvsWindows 任务计划程序

任务计划程序执行命令,但没给你一份可运维的调度。

Dagu 可以注册为 Windows 服务,补齐任务计划程序从未具备的部分:作业之间的依赖、重试、按步骤的日志、运行历史,以及一个覆盖所有服务器的浏览器控制台,而不是逐台远程桌面。

Read more
DaguDaguvsRundeck

Runbook 自动化,无需 JVM、SQL 数据库,也无需在 GUI 里编写作业。

Dagu 是面向运维团队的 Rundeck 替代方案,用一个小巧的二进制提供定时作业、按需执行的 runbook 和 Web UI。作业定义以 YAML 的形式放在 Git 里,而不是锁在控制台中;状态保存在文件里,而不是 MySQL 或 Postgres;现有服务器通过 SSH 或带标签的 worker 到达。这一页也会讲迁移路径,以及 Rundeck 仍然更强的地方。

Read more
DaguDaguvsPrefect

如果你想要编排但不想写 Python,可以看看 Dagu。

Prefect 是面向用代码编写 flow 的数据团队的 Python framework。Dagu 是一个单一二进制,用声明式 YAML 调用你已有的命令,没有需要运维的数据库。本页诚实地看看两者各自适合什么。

Read more
DaguDaguvsDagster

Dagu 和 Dagster 解决的是不同的问题。

Dagster 是围绕 software-defined assets 与 lineage 构建的 Python 数据编排器。Dagu 是一个单一二进制文件,运行调用你已有命令的 YAML 工作流。本页说明两者各自的适用场景。

Read more
DaguDaguvsTemporal

Dagu 和 Temporal 解决的是不同的问题。

Temporal 是面向用代码编写的有状态应用工作流的持久执行引擎。Dagu 是一个单一二进制,用来调度和编排你已经在运行的命令。本页说明两者各自的适用场景。

Read more
DaguDaguvsWindmill

Dagu vs Windmill:声明式 YAML 对比脚本与应用平台。

两者都能自托管,也都很快。Windmill 把脚本变成 workflow、webhook 和 low-code 应用,并使用 PostgreSQL。Dagu 是一个单一二进制,用声明式 YAML 调用你已有的命令,没有需要运维的数据库。

Read more
DaguDaguvsArgo Workflows

Argo Workflows 运行在 Kubernetes 上,Dagu 运行在普通机器上。

两者都定义 DAG 并按顺序运行步骤。Argo Workflows 内置于 Kubernetes,把每个步骤调度为 pod。Dagu 是一个调用你现有命令的单一二进制,没有需要运维的集群。

Read more
DaguDaguvsKestra

Dagu vs Kestra:同样的 YAML 思路,截然不同的占用。

Dagu 和 Kestra 都用 YAML 声明式地编写工作流,所以真正的选择在于运行时和依赖。Dagu 是一个自包含的单一二进制文件,调用你已有的命令。Kestra 在 JVM 上运行,背后有一个 database,并在其上提供庞大的插件目录。

Read more