Moadim kjører KI-agenter på cron fra én Rust-daemon med UI, REST og MCP
Kjør kodeagenter på fast timeplan med Moadim, en Rust-daemon som eksponerer nettdashbord, REST-API og MCP på samme port.
Tre grensesnitt, én port: ifølge README-en på GitHub serverer Moadim et nettdashbord på localhost:5784, et REST-API på /api/v1 med Swagger UI under /docs, og en MCP-endepunkt på /mcp fra samme prosess. Rutiner opprettet gjennom hvilket som helst av dem registreres i den samme planleggeren, så en agent du la inn via MCP dukker opp i dashbordet uten synkronisering.
En rutine er en prompt, en timeplan og en agent, lagret som en mappe under ~/.config/moadim/routines/. Prompten ligger i vanlig markdown og konfigurasjonen i TOML, så hele oppsettet er git-sporbart og diffbart. Ved oppstart seeder daemonen inn agentdefinisjoner for claude, codex, hermes, nanoclaw og pi, men bare hvis filen mangler fra før, så egne endringer overskrives aldri.
Planleggingen skjer i prosessen med tokio-cron-scheduler, ikke gjennom vertens crontab. Formatet er standard femfelts cron pluss snarveiene @hourly, @daily, @weekly, @monthly og @yearly. @reboot og @midnight avvises med 400 Bad Request. Timeplaner evalueres i vertens lokale tidssone, ikke UTC, så 0 9 * fyrer klokka 09.00 norsk tid. Hver kjøring får sin egen engangs-workbench under ~/.moadim/workbenches/, som ryddes i en sveip hvert femte minutt. Overlappsvakten står som standard på allow_overlapping_runs: false, og ugyldig JSON i overlap.json feiler lukket: kjøringen startes ikke, og årsaken havner i skip.log.
Den viktigste forutsetningen er lett å overse. Moadim starter hver rutine inne i en tmux-sesjon, og uten tmux på PATH feiler kjøringene stille. Daemonen rapporterer riktignok om tmux og python3 finnes under dependencies i GET /api/v1/health. Versjon 3.2.8 kom på crates.io 3. september, prosjektet er MIT-lisensiert og har passert 1100 nedlastinger.
Hva bør du gjøre?
- Installer tmux før du installerer Moadim, og bekreft med GET /api/v1/health at både tmux og python3 løses på PATH.
- Hopp over cargo install og bruk cargo binstall moadim eller npm install -g moadim hvis du ikke vil kompilere Rust-koden selv.
- Sjekk inn ~/.config/moadim/routines/ i git, men la den genererte .gitignore stå: den holder .local. og .compiled. utenfor.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.