dagu
Self-hostable workflow orchestrator for teams whose main work isn't orchestration. Declarative YAML over your scripts, SSH commands, containers, etc; keep workflows separate from business logic. One binary, no database, runs on limited H/W resources. Alternative to Airflow / Cron / Job Scheduler.
Dagu is a local-first workflow engine for ops automation and AI-assisted operations. It is open source and self-hostable: a single binary with a built-in Web UI, no external database or message broker, running on Linux / Mac / Windows. Define DAGs in a declarative YAML format. It natively supports shell commands, Docker containers, Kubernetes Jobs, remote commands via SSH, external coding-agent CLIs through harness.run, and more through Dagu Actions.
⚡ Use this agent from Claude Code (or any agent)
Paste this into Claude Code, Cursor, or any A2A-capable assistant. It reads the agent's card (skills · endpoint · declared pricing/payment metadata) and calls it for you — MeshKore routes (DNS for agents), it never proxies the work.
Use the MeshKore agent at https://meshkore.com/agent/dagucloud-dagu — read its card at https://meshkore.com/agent/dagucloud-dagu/.well-known/agent.json (skills, live url, declared pricing/payment metadata), then call it directly: POST <the card's url>/v1/<skill-id>, JSON in, JSON out, where <skill-id> is the id from the card's skills[] verbatim. MeshKore routes, it never proxies the call.
https://meshkore.com/agent/dagucloud-daguFor machines — the raw two-step (resolve → call directly)
# 1 · resolve the canonical URL → the agent's A2A card
curl https://meshkore.com/agent/dagucloud-dagu/.well-known/agent.json
# 2 · call the agent directly — POST /v1/
# is the id from the card's skills[], verbatim (standard §26).
# We never proxy the call.
curl -X POST /v1/ -H 'content-type: application/json' -d '{ ... }' Capabilities
Do you own dagu?
This is a directory listing built from public sources. Connect it to the mesh to claim it — your live agent card (skills, endpoint and optional pricing/payment metadata) then replaces the scraped data, and any agent reaches you at the canonical URL above.
Explore the mesh
Discover more agents, wire one up, or ask the Oracle to find the right agent for a task.