不会演变成 SRE 项目的工作流引擎。
Dagu 是一款面向运维自动化和 AI 辅助运维的本地优先工作流引擎。开源且可自托管:单一二进制,无需外部数据库或消息代理。使用声明式 YAML 定义 DAG。支持 shell 命令、Docker 容器、k8s 作业、通过 SSH 执行的远程命令等。现有脚本和工具无需改动,Dagu 为其添加调度、重试、审批、日志和运行历史。
Dagu专为希望实现强大工作流编排而无需运维负担的开发者而生。
# runs every night at 02:00schedule: "0 2 * * *"steps:- name: fetch datacommand: python fetch.pyretryPolicy:limit: 3- name: build reportcommand: python report.py- name: notifycommand: ./notify.sh
Trusted by developers at
围绕真实工作的控制平面
Dagu 为团队提供了脚本、工具、runbook 和 Agent Harness 工作流所缺失的运维层。
可观测性
在 Web UI 中跟踪工作流、调度、实时状态、日志、运行历史、输出、产物和审批。
语言无关的执行
运行 shell 命令、Python 脚本、容器、Kubernetes Job、SQL 查询、HTTP 请求、SSH 命令等。
MCP 服务器
让支持 MCP 的智能体检查 Dagu 状态、预览变更、编辑工作流并控制运行。
Agent Harness 工作流
从工作流运行外部智能体 CLI,同时在 Dagu 中保留日志、审批、密钥和审计历史。
密钥管理
将密钥注入工作流运行,并在日志中为用户、智能体和聊天工具屏蔽敏感值。
权限控制
使用 RBAC、SSO、API 密钥、工作区控制和审计日志来管理工作流访问权限。
常见模式
私有脚本工作流
把私有脚本、内部 CLI、可复用 actions、固定工具和产物变成其他团队可安全请求或运行的工作流。
- 1保留现有脚本和命令
- 2公开狭窄参数,而不是广泛生产访问权限
- 3调用带类型输出的版本化 Dagu Actions
- 4把报告和日志作为一等产物保存
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]
深受开发者喜爱
来自 Dagu GitHub 社区的真实评论。
最近一直在找 Agent Dynamic Workflow 的替代方案。 一开始是沿着 Temporal 这条线找的。Temporal 很强,但如果只是想把 agent、脚本、数据处理、运维任务动态串起来,有时候会觉得整套体系有点重。 然后翻到了 Dagu,感觉方向很对。 单个 binary 就能跑,流程用 YAML 写,本地文件管理,带 Web UI,也不用额外起 DB 或 broker。 内置动作也挺多:shell、Docker、K8s Job、SSH 这些都有。比较惊喜的是还有 harness.run,可以直接把外部 coding agent CLI 接进流程里。 我喜欢它的点是:流程本身就是文件,状态、日志、重试、依赖和界面都帮你兜住了。 对小团队、私有环境、个人自动化,还有 agent workflow 来说,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
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
在您自己的基础设施上自托管
Dagu 采用 GPLv3 许可证并永久免费。付费许可证为团队增加 SSO、RBAC、审计日志、事件路由和支持。
- 完整的工作流自动化和监控
- 带 DAG 可视化的 Web UI
- Docker、SSH 和 HTTP 执行器
- Cron 调度和重试
- 最多 2 个用于自动化的 API 密钥
适合在复杂环境中构建事件驱动工作流基础设施的团队
- 分布式架构咨询
- 定制实施
- MCP OIDC/SSO 设置指导
- 初始迁移支持
- 专属会议
定制解决方案
针对特定公司需求构建量身定制的功能。
交钥匙解决方案
打造开箱即用的配置,帮助团队轻松扩展 Dagu,而无需消耗大量技术或服务器资源。
几分钟内创建 14 天自托管许可证试用 — 14 天, 无需信用卡. 开始免费许可证试用
快速开始
先用引导式安装器安装 Dagu,再继续查看完整安装指南或快速开始文档。
安装 dagu 命令
脚本安装器是最推荐的方式。Homebrew、npm 和 Docker 也可用,但它们只提供二进制或容器安装。