a crontask configuration helper ( local ollama LLM agent exemple )
Ce projet vise à simplifier la création et la gestion des tâches cron à l'aide d'un agent LLM (Large Language Model) local alimenté par Ollama. Il permet de traduire des descriptions en langage naturel en configurations de tâches cron formatées, facilitant ainsi l'automatisation des tâches planifiées sur les systèmes Unix.
Avant d'utiliser crontask-helper, assurez-vous d'avoir les éléments suivants installés :
- Python 3.6+
- Ollama: Suivez les instructions d'installation sur le site officiel d'Ollama.
- Les dépendances Python: Installez les dépendances en utilisant
pip install -r requirements.txt.
-
Clonez le dépôt :
git clone https://github.com/user/crontask-helper.git cd crontask-helper -
Installez les dépendances :
pip install -r requirements.txt
Le script main.py constitue l'interface principale pour interagir avec l'agent de configuration de tâches cron. Il utilise la gestion d'arguments via argparse pour définir son comportement. Voici les options disponibles :
-pou--prompt: Instruction destinée à l'agent, par exemple "Génère une ligne de configuration cron". Cet argument spécifie la description en langage naturel de la tâche cron à générer.-cou--chronos-description: Description temporelle de la tâche cron, par exemple "tous les jours à 7h". Cela permet de définir la planification de l'exécution.-eou--execute: Commande à exécuter par la tâche cron, telle que/bin/bash /opt/script.sh. Si cet argument est omis, l'agent utilisera une commande par défaut ou sollicitera des précisions supplémentaires.-mou--model: Nom du modèle Ollama à utiliser pour générer la configuration cron (défaut :llama3.2:3b). Veillez à ce que ce modèle soit installé localement via Ollama.-uou--ollama_base_url: URL de base du serveur Ollama (défaut :http://localhost:11434). Modifiez ce paramètre si votre serveur Ollama est accessible à une autre adresse.-Uou--unload: Flag indiquant que le modèle doit être déchargé de la mémoire après l'exécution du script, ce qui permet d'économiser des ressources système.
Pour plus de détails sur ces arguments, consultez la section d'argparsing dans le fichier main.py.
Voici quelques exemples d'utilisation pour illustrer comment configurer différentes tâches cron :
Vous pouvez également utiliser Docker pour exécuter crontask-helper. Voici comment procéder :
-
Construisez l'image Docker : docker build -t crontask-helper .
-
Lancez le conteneur (l'aide s'affiche par défaut) : docker run --rm crontask-helper
Si vous souhaitez lancer le conteneur avec des options spécifiques, ajoutez-les à la commande docker run, par exemple : docker run --rm crontask-helper -p "Génère une configuration cron" -c "tous les jours à 7h" -e "/bin/bash /opt/script.sh"
Assurez-vous d'avoir Docker installé et en fonctionnement sur votre système.
Les tâches cron suivent un format standard avec 5 champs temporels suivis de la commande à exécuter :
Minute Heure JourDuMois Mois JourDeLaSemaine Commande
Chaque champ peut contenir :
- Des valeurs numériques spécifiques (0-59 pour les minutes, 0-23 pour les heures, etc.)
- Un astérisque (*) pour indiquer "tous"
- Des listes de valeurs séparées par des virgules (1,3,5)
- Des plages de valeurs avec un tiret (1-5)
- Des pas d'incrémentation avec une barre oblique (*/5 = tous les 5)
Exemples de formats courants :
0 7 * * *: Tous les jours à 7h00*/15 * * * *: Toutes les 15 minutes0 0 1 * *: Le premier jour de chaque mois à minuit0 0 * * 0: Tous les dimanches à minuit
Si vous rencontrez des problèmes :
- Assurez-vous qu'Ollama est en cours d'exécution :
curl http://localhost:11434/api/tags - Vérifiez que le modèle spécifié est disponible :
ollama list - Si le modèle n'est pas disponible, téléchargez-le :
ollama pull llama3.2:3b
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.