Le matin du 8 avril 2026, je me suis levé, j'ai tiré la dernière version de Hermes Agent, et au milieu de ma première session, il a fait un truc que je ne l'avais jamais vu faire. Je lui ai demandé de chercher un pattern d'erreur spécifique dans une pile de logs. Il a lancé un grep, pas de résultat, il a marqué une pause et a dit : « Ce pattern n'est pas dans la sortie brute — je vais aller chercher dans les archives compressées. » Et il avait raison.
Je ne m'habituerai probablement jamais complètement à ce genre de chose. Mais au fond, c'est précisément pour ça que la v0.8.0 donne un sentiment radicalement différent de la v0.7.0 — ces petites choses invisibles mais bien réelles, où l'agent est devenu un poil plus malin dans sa façon de réfléchir à ce qu'il a sous la main. Les release notes appellent cette version the intelligence release. C'est pas du marketing ; c'est juste une description de ce qui s'est passé.
La une : Hermes s'est auto-patché ses directives d'appels d'outils
Le PR le plus intéressant de la v0.8.0 est le #6120, intitulé « Auto-optimisation des directives d'appels d'outils GPT/Codex via benchmarking comportemental automatisé ». En clair : le projet a construit une boucle de benchmark automatisé qui a sondé les modèles GPT et Codex, identifié cinq modes de défaillance spécifiques dans leur façon d'appeler des outils, généré des chaînes de guidance ciblées pour corriger ces défaillances, mesuré l'amélioration, et livré le résultat dans le system prompt. L'agent s'est diagnostiqué et patché tout seul, avec les humains dans la boucle comme relecteurs et non comme ingénieurs de prompt.
En parallèle, la v0.8.0 a ajouté des directives de discipline d'exécution dans les system prompts (#5414) et la continuation par prefill thinking-only pour les réponses de raisonnement structuré (#5931). Si tu utilises Hermes avec GPT-5 ou Codex, l'agent que tu as retrouvé le 8 avril au matin est sensiblement plus intelligent que celui que tu avais quitté le 7 au soir. C'est une phrase bizarre à écrire.
Changement de modèle en live sur toutes les plateformes
Le deuxième titre, c'est la commande /model (#5181, #5742). Tu peux maintenant changer de modèle et de provider en pleine session depuis le CLI, Telegram, Discord, Slack, ou n'importe quelle plateforme du gateway. Le résolveur connaît les agrégateurs : si tu es sur OpenRouter ou Nous Portal et que le modèle y est dispo, il reste sur l'agrégateur ; sinon, il bascule sur le provider direct. Telegram et Discord ont des sélecteurs interactifs avec boutons inline — tu tapes sur le modèle que tu veux, tu ne tapes pas son nom.
Combine ça avec les pools de credentials de la v0.7.0 et les chaînes de fallback de la v0.6.0, et l'histoire de l'indépendance vis-à-vis des providers racontée dans le billet précédent est maintenant complète : tu peux construire, casser et reconstruire ta lineup de modèles sans jamais redémarrer.
Gemini gratuit, MiMo gratuit
Deux gros ajouts côté providers : Google AI Studio (Gemini) en natif comme provider de premier rang (#5577), avec intégration automatique au registre models.dev pour la détection en temps réel de la taille de contexte, et le tier gratuit de Xiaomi MiMo v2 Pro sur Nous Portal (#6018) pour les tâches auxiliaires comme la compression, la vision et le résumé. Si tu hésitais à te lancer sur Hermes parce que ton portefeuille était fatigué, le tier gratuit est devenu sérieusement plus utile cette semaine.
Notifications de tâches en arrière-plan
notify_on_complete est le genre de petit changement qui transforme ta façon d'utiliser un terminal. Les tâches en arrière-plan notifient maintenant automatiquement l'agent quand elles se terminent. Tu lances un entraînement, une suite de tests, un build ou un déploiement, et l'agent part faire autre chose. Quand la tâche se termine, l'agent reçoit un ping et peut récupérer le résultat. Plus de polling, plus de boucles « c'est fini ? ».
Timeouts d'inactivité, boutons d'approbation, et le reste
Deux autres changements à signaler. Premièrement, les timeouts d'agent basés sur l'inactivité (#5389, #5440) : les timeouts du gateway et du cron suivent maintenant l'activité réelle des outils au lieu du temps mural. Une tâche longue qui travaille vraiment ne sera jamais tuée — seules les sessions réellement inactives expirent. Ça corrige le comportement le plus agaçant des agents basés sur cron : ils te coupaient l'herbe sous le pied au milieu d'un vrai travail.
Deuxièmement, les boutons d'approbation sur Slack et Telegram (#5890, #5975). Les approbations de commandes dangereuses ne nécessitent plus de taper /approve — tu appuies sur un bouton natif de la plateforme. Slack préserve aussi le contexte du thread ; Telegram utilise les réactions emoji pour le statut d'approbation.
Et un fourre-tout d'autres choses qui mériteraient chacune leur propre billet : authentification MCP OAuth 2.1 PKCE (#5420), scan malware OSV des paquets d'extensions MCP (#5305), parité tier-1 pour Matrix avec réactions et accusés de lecture (#5275), logging structuré centralisé vers ~/.hermes/logs/ avec une commande hermes logs (#5430), validation de la structure de config au démarrage (#5426), et un passage de durcissement sécurité couvrant SSRF, attaques timing, traversée tar et fuites de credentials (#5944, #5613).
En chiffres
209 PRs fusionnés. 82 issues résolues. Une release. Cinq jours après la v0.7.0.
Si tu lis ce chiffre et qu'il te semble faux — 209 changements dans une fenêtre de cinq jours, c'est beaucoup — tu le lis correctement. C'est exactement ça le point. Quelque chose dans la façon dont ce projet est construit rend ce rythme soutenable, et à un moment il va falloir en parler. Mais c'est le sujet du prochain billet.