Hermes sait déjà te répondre. Mais comment lui faire consulter un fichier qui se trouve sur ta machine, sans copier son contenu dans la conversation ? C’est le rôle d’un outil, appelé tool dans l’interface : une capacité que le modèle peut demander à utiliser pour obtenir une information ou réaliser une action.
Nous allons commencer par une lecture. Tu créeras une petite note fictive, puis tu demanderas à Hermes d’y retrouver trois informations. À la fin, tu sauras distinguer l’outil disponible, l’appel effectué et la réponse vérifiée.
Ce parcours utilise un terminal Linux ou WSL, où Hermes est déjà installé et capable de répondre avec un modèle compatible avec les appels d’outils. Dans WSL, reste dans le terminal Linux, pas dans PowerShell.
L’exercice suppose le backend local : l’environnement où les outils accèdent aux fichiers est la même machine que celle où tu prépares la note. Si tu utilises Docker ou SSH, commence par le tuto sur les environnements d’exécution. Un chemin présent sur ton ordinateur n’existe pas forcément dans un conteneur ou sur une machine distante.
Les commandes ciblent le profil default. Si tu en utilises un autre, remplace ce nom dans toutes les commandes. Le tuto sur les profils explique cette séparation.
1. Préparer un fichier dont tu connais le contenu
En dehors de la conversation Hermes, colle ce bloc dans ton terminal. Il crée un dossier neuf dans ton dossier personnel, puis y écrit une note de trois lignes. Le nom du dossier sera différent à chaque essai ; aucun fichier existant n’est remplacé.
dossier_essai=$(mktemp -d "$HOME/hermes-lecture.XXXXXX") && {
printf '%s\n' \
'Projet : Silex' \
'État : maquette terminée' \
'Prochaine action : relire la page de présentation' \
> "$dossier_essai/note-silex.txt"
printf 'Chemin à conserver : %s/note-silex.txt\n' "$dossier_essai"
cat "$dossier_essai/note-silex.txt"
}
Vérifie les trois lignes affichées et conserve le chemin complet, qui commence par /. Tu le donneras à Hermes plus loin. Si la création échoue, règle l’erreur avant de continuer.
Nous utilisons du contenu fictif pour que la vérification soit immédiate. Évite les documents personnels pour ce premier essai : le texte lu peut être transmis au fournisseur du modèle qui produit la réponse.
2. Ouvrir une conversation avec les outils de fichiers
Quitte toute conversation précédente avec /quit. Dans ton terminal, consulte le backend configuré :
hermes -p default config get terminal.backend
Le parcours attend local. Si une autre valeur apparaît, ou si tu as personnalisé l’environnement de lancement, clarifie l’emplacement réel des outils avec le tuto d’exécution avant de poursuivre. Ne change pas ce réglage simplement pour faire disparaître une erreur de chemin.
Ouvre ensuite une nouvelle conversation avec le groupe d’outils de fichiers :
hermes -p default chat --toolsets file
Un toolset est un groupe d’outils. L’option --toolsets file sélectionne ce groupe pour ce lancement. Dans la conversation, consulte le catalogue actif :
/tools
Cherche read_file, l’outil de lecture de fichier. S’il manque, ne passe pas à la demande : vérifie la sélection d’outils du profil et les indications de ta version. Un outil désactivé individuellement peut rester absent même si son groupe est sélectionné.
file comprend aussi la recherche et la modification de fichiers. Ce lancement n’est donc pas un mode lecture seule. Le petit dossier de l’exercice ne limite pas non plus les accès aux autres fichiers : ceux-ci dépendent de l’environnement et de ses permissions.3. Demander une lecture précise
Remplace CHEMIN_COMPLET ci-dessous par le chemin conservé à l’étape 1, jusqu’à note-silex.txt. Ne colle pas les trois lignes du fichier dans la conversation : nous voulons observer leur récupération par l’outil.
Ne modifie aucun fichier et n’utilise pas d’autre outil pour cette tâche.
À partir du contenu lu, donne uniquement trois lignes :
Projet : …
État : …
Prochaine action : …
Si la lecture échoue, indique l’erreur au lieu de deviner le contenu.
Hermes doit demander la lecture, recevoir le texte, puis s’en servir pour répondre. La consigne borne la tâche attendue ; elle ne remplace pas une restriction technique des droits d’écriture.
Lire un fichier, puis répondre
Tu vérifies l’appel et la réponse.
4. Observer l’appel avant de juger la réponse
Regarde l’activité des outils dans l’interface. Tu dois retrouver un appel à read_file visant le chemin de ta note, puis un retour contenant ses trois lignes. Selon la version et les réglages d’affichage, les détails peuvent être repliés : ouvre-les lorsqu’ils sont disponibles.
Le retour de lecture peut ajouter des numéros de ligne. Ils servent de repères ; ils ne font pas partie de la note.
Si Hermes annonce un fichier introuvable, compare d’abord le chemin utilisé avec celui de l’étape 1. Si le chemin est correct, vérifie l’environnement d’exécution et les droits d’accès. Ne contourne pas ce problème en collant le contenu dans le chat : cela testerait une autre façon de travailler.
5. Comparer la réponse au fichier
Voici la réponse attendue pour notre note fictive. C’est un exemple de résultat, pas la capture d’un essai exécuté.
Projet : Silex
État : maquette terminée
Prochaine action : relire la page de présentation
Compare les trois informations avec les lignes affichées dans ton terminal. Rien ne doit être inventé : ni une date, ni une personne responsable, ni une étape déjà accomplie en plus.
Une lecture réussie et une réponse fidèle sont deux contrôles différents. Si le retour de l’outil est correct mais que la réponse déforme la note, tu as repéré un problème d’interprétation ou de restitution, pas un fichier introuvable. Demande alors une correction limitée au fait concerné.
6. Garder ce qui t’aide et choisir la suite
Note simplement ce que tu as observé : « Lecture de note-silex.txt : appel visible, contenu reçu, trois informations fidèles », ou le point qui reste à vérifier. Tu disposes désormais d’un petit cas de référence, facile à refaire.
Quand l’essai est terminé, quitte avec /quit. Pour retrouver ton lancement habituel avec ce profil, ouvre une conversation sans l’option de sélection :
hermes -p default chat
Tu peux conserver la note fictive pour un prochain essai ou supprimer manuellement son dossier après avoir vérifié son nom. Rien n’oblige à élargir les capacités tout de suite. Pars du prochain besoin réel :
| Ton besoin | La capacité à explorer |
|---|---|
| Lire un fichier dont tu connais le chemin | read_file, comme dans cet exercice. |
| Retrouver un fichier ou une expression | search_files, en indiquant un dossier précis. |
| Lancer une commande connue | L’outil terminal, après vérification de son environnement. |
| Consulter une information en ligne | Un outil de recherche web adapté à la source recherchée. |
La recherche peut précéder la lecture quand tu ne connais pas le fichier. Le terminal devient utile pour une commande ou un programme ; il n’est pas une étape obligatoire après la lecture. Pour choisir son environnement, poursuis avec local, Docker et SSH.
Quand ajouter un outil demande plus de préparation
Pour une modification, commence par une copie de travail et un changement facile à relire. Pour un service externe, identifie les données envoyées et les droits accordés avant la connexion. Le tuto sur la sécurité reprend ces repères avec un exemple accessible.
L’exercice utilise un outil natif d’Hermes. Tu n’as pas besoin de MCP pour lire cette note. MCP devient pertinent lorsque tu veux brancher un serveur qui expose d’autres capacités ; le premier parcours MCP explique ce trajet distinct.
Pour entretenir ta sélection dans la durée, retrouve la différence entre outils installés, disponibles et utilisés dans le tuto de maintenance légère.
Sources et repères de version
Parcours recoupé avec la documentation officielle des outils Hermes, la référence des outils et celle des toolsets. Les menus et détails d’affichage peuvent varier selon la version installée.