Show HN: Moadim.io – A scheduler for agents
33 points - last Friday at 11:50 PM
Why can't we get an agent scheduler that supports all of the following:
- git compatible
- agent agnostic
- 100% open source
- os and system-agnostic
- multi-runner support
- support mcp/ui/http
- unlimited routines/crons
So I built one, moadim.io is a local Rust daemon you install in the target machine, give it a name and manage its routines via a Git repository, wants a new routine that send you a daily message from this machine? Create a pr and merge, have another routine that run every hour to pull the latest changes to the ~/.config/moadim folder.
With more than 1,000 users, I define this project as almost "done" and ready for production. Me and thousand more people are use it in a daily manner.
It currently supports Claude, Codex, Hermes, and Pi, and you are welcome to add your agent of choice as well because it's 100% configurable.
You are welcome to have a look at the source code of the daemon in "http://github.com/moadim-io/daemon"
Feel free to provide me with suggestions for more features around this topic. I don't want to branch out to new off road topics likt webhooks, this is a "done" software in the realm of agents schedulers that focus on cron-like work.
Also feel free to start the github repository and open issues and PRs for your suggestions.
SourceSaris
yesterday at 3:33 PM
It's funny how this website style is the "AI style" now.
I find it kind of hard to follow/read whatever theme/style it is, something about the big blocks breaks up the flow of reading.
aliasxneo
yesterday at 12:58 AM
How do I know this won't just eat through my token budget? It's hard to understand from the website how "done" is derived in the loop. If it's not deterministic then it seems like it would be prone to over-engineering.
tupe12334
yesterday at 1:08 AM
Great question but the goal is not to handle tokens economy management, this is cupeled to the agent, I want to stay agent agnostic, you tell the agent what you want it to run in the routine, for example i have a routine that split a codebase to max 50 lines a file, I told it in the routine, when finish the refactor, change the routine to run every week and check for regression and if there is take it back to run every 30 minutes and work file after file.
deviantflux
yesterday at 2:36 AM
Would this be where llm/agentic observability come into play?
tupe12334
yesterday at 2:58 AM
I don’t think this is where it’s should land, I believe that is not the “single responsibility” of this project but I would love to hear more, because it’s seems like a pain point for several people, what is your suggestion?
tupe12334
yesterday at 2:22 AM
BTY, I monitor this thread via moadim.io, I have a routine that ping this page every 10 minutes and ping me on discord for every message that I didn’t responded to yet
jamiesonbecker
yesterday at 8:55 PM
`crontab -e` and add:
# at 3am every day..
* * * 3 0 cd ~/src; claude -p "find and fix bugs and commit"
tupe12334
yesterday at 9:26 PM
I understand you don’t like my solution and that up to you, if working like that is works for you, good luck with that.
But you totally missing the point and your way of working do not provide any of the requirements I pointed in my post, but if you consider this a good solution I gets why you don’t get the point, will be happy to help and explain with more details if needed
ChaseRensberger
today at 2:54 AM
this readme is wayyyy too long
tupe12334
today at 3:37 AM
Got it, will refactor, any specific input?
hankbond
yesterday at 1:01 AM
Concretely and Simply, what are you actually building with this?
threecheese
yesterday at 2:09 AM
Looks like a userland cron/launchd, with jobs committed in a local repo. It’s designed to launch agent clis, for which it provisions a workspace and manages process state, and to be used by agents (and so provisions an api and mcp for each task).
Might seem silly (no disrespect meant), but I have this use case; I’ve tried to give agents access to launchd, but it has not gone well. Nothing has b0rked my system, but it has been annoying to version control plist files with my project repositories. And so i find this interesting, having written a shell script to convert repo config file + plist to safe launchd commands - and much shittier version of this thing.
tupe12334
yesterday at 2:20 AM
You got it just right, but the idea is that the user don’t need to care about the configuration of the cron in the lower level and the agent spawning and the worktree setup etc… the daemon does it for us.
I would love to hear your feedback and features suggestions, feel free to contact me in LinkedIn https://www.linkedin.com/in/ofek-gabay/
tupe12334
yesterday at 1:13 AM
TLDR: a way to manage my agents routines in a single source of trust in a repository.
Everything should be open source and agent agnostic
imshaikot
yesterday at 12:57 PM
Awesome!
esafak
yesterday at 3:12 AM
I think the actual loop engineering lives in skills and workflows. The trigger is the creation of a ticket, manual or programmatic; e.g., through an incident.
tupe12334
yesterday at 3:22 AM
Your perspective here is of a software engineer only, and I gets it, for software engineering you got a great point and I somewhat agree with it.
When we talk about how to work with agent the holy grail is agent’s pro-activity, one of the columns of pro activity is webhooks as you said “the creation of a ticket”, I don’t want to attack this vector, I what to be laser focus on the scheduling vector as I said in another comment here.
Regarding skill and workflows, I don’t want to make you couple your way of work to the routine, if you want to load the the workflows and skills feel free, in the end of the day the routine is only a scheduled prompt.
Would love to hear more about your way of working with event driven actions
quantivaia
yesterday at 1:29 AM
[dead]
zhixingheyi2023
yesterday at 6:57 AM
[flagged]
eitri
yesterday at 7:25 PM
[dead]
nirmeet011011
yesterday at 4:58 AM
[flagged]