I built Dagu, a simple workflow engine and lightweight alternative to Airflow.
Lately, I’ve been using it to automate my daily workflows with an AI agent harness like opencode. Dagu helps you manage local, private workflows. It gives you a flexible Kanban-style view, a declarative workflow language with validation, and the basics you expect from production workflow infrastructure: logs, retries, status tracking, and more.
The best part of having a workflow language is maintainability. Any AI agent can help create or debug your workflows. You can do something similar with plain Bash scripts, but Bash quickly becomes hard to debug and maintain.
Because Dagu is DAG-based, it automatically runs independent steps in parallel. Each step is validated and logged separately, which makes it much easier for an AI agent to understand what failed and fix it.
This is a very interesting project, especially since I've been building a similar declarative workflow engine for over 5 years. With a well-designed YAML schema, it's now possible to build workflows with AI agents. I call this "Vibe workflows."
There's no need for humans to write DAGs anymore, yet they remain human-readable. I truly believe this is the future of workflow orchestration.
Claude and Open AI seems to be trying not to be 'Just a model', but this is intrinsically problematic because model can be degraded and prices only goes up once they lock-in customers.
It is increasingly important for anyone who are responsible of managing 'AI workflows' to keep the sovereignty about how you use AI models.
This is why I'm super excited in building the local-first workflow orchestration software called "Dagu", that allows us to own your harness on your own. It's not only more cost-effective, but outcome is better as well because you have 100% full control. I think it's only matter of time that people notice they need to own their workflow orchestration on their own not relying on Anthropic, OpenAI, or Google.
AI agent orchestration is future. That's where workflow engine shines. I'm doing the same thing using Dagu.sh and I don't use terminal so much anymore.
Hey HN! I'm excited to share Dagu v1.18, a major release of our lightweight workflow orchestration engine that works on shared filesystem.
Dagu is designed for teams that find Airflow overkill but need more than cron. It's a single binary with zero dependencies that runs anywhere - from Raspberry Pi to cloud clusters.
What's new in v1.18:
- Distributed execution - Run workflow steps across multiple machines
- OIDC authentication - Enterprise-ready auth for the Web UI
- High availability - Redundant schedulers with automatic failover
Thanks for the article. I tried it but somehow the compilation command doesn't work on my local: "$ cargo run --target=wasm32-unknown-unknown --release"
error: a bin target must be available for `cargo run`
Thanks for the comment :) That's a good point. We considered using Airflow in the first place, but we decided not to. Because we had only a few number of developers and felt those tools were overkill for our use case. Also, we couldn't afford those tools' additional overheads such as operational costs or learning curves. We just wanted a better Cron that can be easily installed and operated and is capable of visualizing and running DAGs.
I work as a software developer for a Japanese company, developing and maintaining large ETL(Extract, Transform, Load) pipelines that have been maintained for many years.
Currently, my environment has many problems. Hundreds of complex cron jobs are registered on huge servers and it is impossible to keep track of the dependencies between them. If one job fails, I don't know which job to re-run. I also have to SSH into the server to see the logs and manually run the shell scripts one by one.
So I needed a tool that can explicitly visualize and manage the dependencies of the pipeline.
How nice it would be to be able to visually see the job dependencies, execution status, and logs of each job in a web browser, and to be able to rerun or stop a series of jobs with just a mouse click!
Why not alternatives?
Well, I considered many potential tools such as Airflow, Rundeck, Luigi, DigDag, JobScheduler, etc.
But unfortunately, they were not suitable for my existing environment. Because they required a DBMS(Database Management System) installation, relatively high learning curves, and more operational overheads. We only have a small group of engineers in our office and use a less common DBMS.
Finally, I decided to build my own tool that would not require any DBMS server, any daemon process, or any additional operational burden and is easy to use.