Présentation

Moadim.io propose un ordonnanceur d’agents exécuté entièrement sur la machine de l’utilisateur. L’installation se fait via cargo — commande

cargo install --locked moadimmoadim
 — ou via npm (npm install -g moadim). Le serveur démarre en arrière‑plan sur le port 5784 et ne nécessite aucun service cron externe, ce qui simplifie la chaîne d’exécution pour les environnements Unix‑like.

Architecture et fonctionnement

Le cœur de Moadim repose sur un scheduler in‑process portable. Chaque « loop » associe un prompt, une planification et un agent (Claude, Codex, Hermes, NanoClaw ou Pi). Le scheduler expose chaque boucle comme point d’accès HTTP ; l’API /api/v1/routines renvoie la description OpenAPI et la documentation Swagger UI intégrée. Un appel

curl http://localhost:5784/api/v1/routines
montre la structure JSON attendue, par exemple
{ "name": "list_routines", "arguments": {} }
.

Isolation et fiabilité

À chaque tick, l’agent s’exécute dans un « workbench » fraîchement créé sous tmux. Cette isolation garantit qu’aucun état persistant ne fuit d’une exécution à l’autre. Un watchdog interne détecte les processus bloqués et les termine, puis le session‑tmux est « reaped » dès la fin du travail. Cette approche élimine le besoin d’un démon cron externe tout en assurant une récupération automatique des tâches échouées.

Déploiement et extensibilité

Pour assurer la persistance du daemon au redémarrage, Moadim propose moadim install, qui crée un service launchd sur macOS ou systemd sur Linux. Le service maintient le daemon actif entre les sessions utilisateur. Le projet est publié sous licence MIT, donc libre de modification et d’auto‑hébergement. Les agents intégrés s’appuient sur des dépendances spécifiques : par exemple, l’agent Claude requiert python3 dans le PATH pour pré‑initialiser la confiance et l’état d’approbation MCP. Aucun compte cloud n’est requis, ce qui limite les vecteurs d’exposition réseau.