Gestionnaire de fichiers (FileManagerTool)
Présentation
Le gestionnaire de fichiers permet à un agent de lire, écrire, rechercher et organiser des fichiers sur le disque. Toutes les opérations sont confinées dans des dossiers autorisés, configurés dans les paramètres de l'agent. Aucun accès en dehors de ces dossiers n'est possible.
L'outil intègre un système de corbeille automatique : les fichiers supprimés ou écrasés sont sauvegardés dans un dossier .zileo-trash/ avant modification, permettant une récupération en cas d'erreur.
Opérations disponibles
L'outil propose dix opérations couvrant la lecture, l'écriture, la recherche et l'organisation de fichiers.
Lecture
- Lister — Affiche le contenu d'un dossier (fichiers et sous-dossiers). Mode récursif optionnel, jusqu'à 500 résultats par défaut.
- Lire — Récupère le contenu textuel d'un fichier. Limité aux fichiers texte de 10 Mo maximum.
Écriture
- Écrire — Crée ou écrase un fichier. Si le fichier existe déjà, une sauvegarde est créée dans la corbeille avant l'écrasement.
- Remplacer — Remplace du texte dans un fichier par correspondance littérale ou par expression régulière. Une sauvegarde est créée avant modification.
- Créer — Crée un nouveau fichier ou dossier. Échoue si le chemin existe déjà.
Organisation
- Supprimer — Déplace un fichier dans la corbeille (pas de suppression définitive).
- Déplacer — Déplace un fichier ou un dossier vers un nouvel emplacement.
- Renommer — Renomme un fichier ou un dossier sans changer de dossier parent.
Recherche
- Recherche par motif — Trouve des fichiers par motif de nommage (par exemple
*.rsousrc/**/*.txt). Jusqu'à 100 résultats par défaut. - Recherche dans le contenu — Recherche du texte ou une expression régulière dans le contenu des fichiers, avec lignes de contexte autour de chaque correspondance.
Bac à sable de sécurité
Chaque opération passe par six couches de validation avant exécution :
- Rejet des octets nuls — Les chemins contenant des caractères nuls sont refusés.
- Rejet de la traversée — Les composants
..sont interdits pour empêcher la remontée dans l'arborescence. - Blocage des dossiers système — Les répertoires sensibles du système d'exploitation sont inaccessibles (
/etc,/sys,/proc,/dev,/boot,/root, etc.). - Résolution des liens symboliques — Les chemins sont canonicalisés pour détecter les tentatives d'évasion via des liens symboliques.
- Vérification des dossiers autorisés — Le chemin canonique doit commencer par l'un des dossiers autorisés de l'agent.
- Vérification des permissions — Les permissions de lecture et d'écriture du dossier sont contrôlées.
Corbeille automatique
Fonctionnement
Chaque dossier autorisé possède sa propre corbeille dans un sous-dossier .zileo-trash/. Les fichiers y sont stockés avec un nom horodaté permettant de retracer leur origine et la date de suppression.
La corbeille intervient dans trois cas :
- Suppression — Le fichier est déplacé dans la corbeille au lieu d'être supprimé définitivement.
- Écriture — Si le fichier existe déjà, une copie de sauvegarde est créée avant l'écrasement.
- Remplacement — Avant toute modification de contenu, une copie de l'original est conservée.
Nettoyage automatique
Le nettoyage est déclenché automatiquement lors de la première opération destructive d'une session :
- Phase 1 — Suppression des fichiers de plus de 30 jours.
- Phase 2 — Si la corbeille dépasse 100 Mo après la phase 1, les fichiers les plus anciens sont supprimés en priorité jusqu'à repasser sous la limite.
Confirmation utilisateur
Par défaut, les opérations destructives (écriture, remplacement, suppression, déplacement, renommage) demandent une confirmation à l'utilisateur avant exécution. Ce comportement est configurable par agent dans ses paramètres.
Description dynamique
La définition de l'outil transmise au modèle de langage inclut la liste des dossiers autorisés. Le modèle sait ainsi exactement quels chemins il peut utiliser, sans avoir besoin de les deviner.
Limites
- Taille de fichier en lecture : 10 Mo maximum
- Résultats par liste : 500 par défaut
- Résultats par recherche : 100 par défaut
- Lignes de contexte : 3 par défaut, 10 maximum
- Expressions régulières : limitées à 256 Ko pour prévenir les dénis de service
- Rétention corbeille : 30 jours ou 100 Mo par dossier autorisé
- Suppression : fichiers uniquement (pas les dossiers)
Les dix opérations
Lecture, écriture, recherche et organisation de fichiers dans les dossiers autorisés.
Lecture
Contenu d'un dossier, récursif optionnel
Contenu textuel d'un fichier (10 Mo max)
Écriture
Créer ou écraser avec sauvegarde
Texte ou expression régulière
Nouveau fichier ou dossier
Organisation
Vers la corbeille (récupérable)
Vers un nouvel emplacement
Nouveau nom, même dossier
Recherche
Motifs de nommage (*.rs, src/**/*.txt)
Texte ou expression régulière avec contexte
Bac à sable de sécurité
Six couches de validation protègent le système de fichiers contre tout accès non autorisé.
..
Corbeille automatique
Les fichiers supprimés ou écrasés sont conservés dans un dossier .zileo-trash/ pour récupération.
Le fichier est déplacé dans la corbeille au lieu d'être supprimé définitivement
Une copie de sauvegarde (.bak) est créée avant toute modification
Fichiers de plus de 30 jours supprimés, puis limite de 100 Mo appliquée
2026-03-01T10-30-00_src__utils__helper.rs
Horodatage + chemin relatif (séparateurs remplacés par __)