Back to browse
GitHub Repository

A Go-based platform for running AI agents on schedules with tasks, skills, and persistent memory. Single binary, three operating modes — from single-node to distributed.

5 starsGo

Ductwork – A Go platform for running AI agents on autopilot

by dneil8675·Mar 1, 2026·5 points·4 comments

AI Analysis

●●●BangerSolve My ProblemBig Brain

Cron for AI agents: schedule, memory, bash—no chat interface required.

Strengths
  • Addresses genuine friction: agent frameworks built for chat, not unattended operation.
  • Persistent memory between runs prevents duplicate work (e.g., news dedupe).
  • Single binary with three deployment modes (standalone, control plane, distributed).
Weaknesses
  • Tiny surface area for capabilities—only bash and file I/O, no API abstractions.
  • Early-stage: 1 star, 0 forks; adoption and long-term support unknown.
Target Audience

DevOps engineers, SREs, automation-focused developers

Similar To

Apache Airflow · Temporal · n8n

Post Description

I've been running Claude agents for various automation tasks — monitoring crypto news, syncing Todoist, running health checks — and I kept hitting the same problem: there's no clean way to deploy an agent that just runs on a schedule without a human babysitting it.

Every agent framework I looked at was built around chat interfaces or one-shot workflows. I wanted something closer to cron for AI agents — define a task, give it a schedule, let it run forever. So I built Ductwork.

You define tasks as simple JSON files — a prompt, a schedule, optional memory and skills — and ductwork handles scheduling, execution, retries, and history. The agents have bash, file read/write, and that's it. No fancy abstractions.

The thing that makes it actually useful for unattended operation:

Persistent memory — agents write to a memory directory between runs. My Bitcoin news monitor remembers which articles it's already reported on. Next run, it only flags new ones.

Security boundaries — if you're letting agents run unsupervised, you need guardrails. Per-task tool whitelists, path restrictions, bash command filters. A monitoring task can't accidentally rm -rf something.

Run history and observability — every run is tracked with status, duration, token usage, and errors. REST API for everything so you can integrate with whatever alerting you already use.

It scales from a single process (ductwork start) to distributed — same binary with --mode=control runs a task queue, --mode=worker on other machines polls for work. No new dependencies, just HTTP.

Single Go binary, go install and you're running. ~3,500 lines, only deps are the Anthropic SDK and Cobra.

This is definitely not a finished product — it's early and there's a lot I want to add. But it's functional and I'd love for people to download it, play around with it, and let me know what they think. Feedback, ideas, issues — all welcome.

https://github.com/dneil5648/ductwork

Similar Projects

AI/ML●●Solid

Nerve – self hosted runtime for AI agents

Self-hosted agent runtime with persistent memory and personality modes via SOUL.md files.

SlickSolve My Problem
animetyan
6424d ago