n8n 替代方案

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

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

自动化即代码,而非点击
name: nightly-ops
schedule: "0 2 * * *"

steps:
  - id: extract
    run: python scripts/extract.py

  - id: transform
    run: ./bin/transform
    retry_policy:
      limit: 3
    depends: [extract]

  - id: notify
    run: ./scripts/slack-success.sh
    depends: [transform]

工作流即受版本控制的 YAML,而非可视化画布

单一自托管二进制——无需运维数据库或 Node 运行时

运行 shell、Docker、HTTP、SSH 和 AI Agent 步骤

内置调度、重试、日志和 Web UI

当你想要的是代码化自动化,而不是画布

可视化节点编辑器很适合手动把各种 SaaS 应用连在一起。代码优先的团队通常想要相反的东西:自动化存在于 git 中,在评审时干净地 diff,并运行他们已经拥有的脚本和二进制。

  • 在 YAML 中定义每一个步骤,并纳入版本控制。
  • 在普通的 pull request 中评审自动化变更。
  • 运行团队已经在用的命令、脚本和容器。

自托管负担更小

自托管一个基于节点的自动化平台,通常意味着既要运行一个服务,又要运行一个数据库,还要让两者都保持健康。Dagu 是一个由本地文件支撑的单一二进制,运维面因此保持很小。

  • 单一二进制配本地文件存储——无需外部数据库或消息代理。
  • 先从单机开始;需要时再迁移到队列或分布式 workers。
  • 让升级和备份保持简单。

为脚本、运维和 AI Agent 而生

Dagu 面向开发与运维自动化——定时任务、流水线、runbook 和 Agent 任务——而不是无代码的 SaaS 胶水。

  • 提供 shell、Docker、HTTP、SSH、子工作流和 Agent 步骤的执行器。
  • 默认带依赖、重试、超时、日志和执行历史。
  • 在工作流步骤中运行 Claude、Codex 或其他 Agent CLI。

n8n vs. Dagu

Dimension
Dagu
Typical alternative
编写方式
在 git 中编辑和评审的受版本控制 YAML。
在浏览器 UI 中配置的可视化节点画布。
运行时
单一二进制配本地文件——无需数据库。
自托管需要一个长期运行的服务外加一个数据库。
更适合谁
代码优先的脚本、运维任务、流水线和 AI Agent 工作流。
无代码的 SaaS 应用集成与可视化自动化。

FAQ

Practical questions before adopting Dagu

Dagu 是 n8n 的直接替代品吗?

不是。n8n 是一个可视化、基于节点的工具,用于无需写代码地连接各种 SaaS 应用。Dagu 是一个代码优先的编排器:当你想要受版本控制的 YAML,以及一个面向脚本、容器、cron 和 Agent 的自托管单一二进制时,它很合适,但它不是拖拽式构建器,也没有 SaaS 连接器市场。

Dagu 有可视化编辑器吗?

Dagu 提供一个用于运行、检查和监控工作流的 Web UI,但工作流是用 YAML 编写的,而不是在画布上绘制。这个 UI 用于操作工作流,而不是构建它们。

Dagu 能像 n8n 那样调用 API 和 webhook 吗?

可以。Dagu 能发起 HTTP 请求、按调度运行,并通过命令触发步骤,因此 API 调用和 webhook 风格的流程都是可行的——但它不像 n8n 那样捆绑数百个预建 SaaS 集成。这些需要你用 HTTP 和 CLI 步骤自行连接。

Start with one workflow.

Install Dagu, move one fragile script or agent task into YAML, and decide from a real run history.

Install Dagu