
Pourquoi un skill tout neuf renvoie zéro résultat dans une recherche
Une recherche de skills sans filtre est servie par un index central reconstruit périodiquement, si bien qu’un skill publié il y a quelques minutes peut manquer alors même qu’il existe. Les changements du 16 au 18 septembre comblent l’écart : un échec de l’index interroge désormais à nouveau skills.sh, ClawHub, LobeHub et des endpoints bien connus dans un budget de 8 secondes, et la construction de l’index ne laisse plus tomber silencieusement des skills quand un shard expire.
Lire la suite
Piloter son agent depuis un train : guide de terrain du WebUI communautaire
Hermes WebUI est un projet communautaire d’environ 18K étoiles qui transpose les capacités de la CLI dans un navigateur : du Python et du JavaScript vanilla, aucune étape de build, un service lié à localhost par défaut, avec tunnel SSH ou Tailscale pour l’accès depuis un téléphone et, en option, une connexion par mot de passe, passkey ou OIDC. Voici comment l’installer, l’exposer sans risque, et où se situent ses limites.
Lire la suite
Pourquoi l'ouverture d'une liste déroulante vous coûte trois secondes
Un spinner dans le sélecteur de modèle, un `hermes plugins list` qui reste figé, un panneau Profiles qui perd des frames — trois blocages d'apparence indépendants avec une seule cause : le chemin de lecture faisait discrètement des sondages réseau et des parcours du système de fichiers. Les PR #114994, #114811 et #114879 ont sorti le cache, la mémoire des échecs et les refresh de ce chemin.
Lire la suite
Hermes ne récupère plus n'importe quelle URL qu'on lui tend
Des URL d'images renvoyées par un provider de génération, des images de référence fournies par un modèle, les manifests et spritesheets du pet store, des entrées de sitemap skills.sh — aucune de ces URL ne vient de vous. La PR #114887 fait passer sept points de récupération par le garde-fou SSRF déjà présent dans le dépôt : contrôle avant la requête, recontrôle à la connexion TCP (ce qui ferme la fenêtre de DNS rebinding), recontrôle à chaque saut de redirection, et échec en mode fermé sur un 3xx sans en-tête Location.
Lire la suite
La clé API que vous avez affichée une seule fois ne doit pas finir dans un journal de conversation
Deux correctifs ont atterri le même jour pour fermer deux fuites de secrets : la PR #114839 masque intégralement les clés sk- contenant des points et les clés id.secret sans préfixe de Zhipu dans la sortie des outils, et la PR #114789 impose le masquage sur chaque voie de livraison des cron — chat, miroir de session, nom de job, chat de bot — en échouant en mode fermé plutôt qu'en expédiant le texte brut.
Lire la suite
Votre provider de mémoire a quitté le core — la mise à jour le remet en place
Les providers de mémoire intégrés migrent vers les dépôts de leurs mainteneurs et vers le catalogue de plugins. La PR #114569 ajoute deux hooks : hermes update et l'init de l'agent repèrent chacun un provider configuré dont le code a disparu et le réinstallent au pin revu du catalogue. Le nom, la config memory.<name>, le répertoire de données et les noms d'outils ne changent pas.
Lire la suite
1,393 subagents, 19 heures, un seul ordinateur : comment Nous a refactorisé un million de lignes avec Hermes
Un /goal, 19 heures et 1,393 subagents ont retiré 34.4% des lignes de source du propre dépôt de Hermes. Voici les mesures officielles, les neuf choses qui cassent à cette échelle, et la marche à suivre pour reproduire l'opération dans votre propre base de code.
Lire la suite
Un script de 16 KB a gelé un gateway pendant 23 secondes : l'autopsie du scan de commandes
Confiez à Hermes un heredoc de quelques centaines de lignes et votre bot Telegram cesse de répondre — une regex synchrone retient la boucle d'événements. L'issue #113535 et la PR #114208 expliquent le chemin O(n³) et pourquoi la version corrigée aboutit à des verdicts identiques.
Lire la suite
Cessez de laisser les images dévorer votre quota : les deux réglages de vision qui valent la peine
Les images intégrées nativement sont renvoyées à chaque appel API ultérieur, et l'ancienne politique de retrait pouvait réécrire 120 000 tokens d'historique juste pour écarter une image. Les PR #113953 et #113817 ont corrigé les deux et ajouté vision.embed_target_bytes et max_calls_per_image.
Lire la suite
Le second modèle que vous n'avez jamais configuré : la voie d'appel auxiliaire de Hermes
Des titres de session qui deviennent des fragments JSON, des approbations qui cessent d'être intelligentes, une compression interminable avec un modèle local — le coupable n'est souvent pas votre modèle principal, mais l'une des 13 tâches auxiliaires nommées. Voici la forme de la config, les réglages globaux et les correctifs de défaillances silencieuses fusionnés le 17 septembre.
Lire la suite
Votre agent peut réduire en bouillie binaire une base SQLite en service — désormais Hermes refuse l'écriture
write_file et patch lisaient un fichier annexe .db-wal comme du texte ordinaire et réécrivaient la bouillie ainsi obtenue, détruisant en silence une base SQLite en service. La PR #114220 ajoute un garde-fou sur l'écriture des fichiers annexes, au niveau de l'outil. Voici comment les dégâts se sont produits, ce qui a changé, et si votre version dispose du correctif.
Lire la suite
hermes doctor et un gros WAL : un avertissement enfin honnête
hermes doctor vous envoyait vers --fix pour un WAL de plus de 50 MB sans vérifier qui détenait la base. Le PR #113055 rend cet avertissement honnête.
Lire la suite
Pourquoi la mémoire Honcho d'Hermes atterrit ailleurs
Les titres automatiques neutralisaient sessionStrategy et la mémoire se résolvait depuis le dossier de lancement du backend. PR #112602 corrige les deux.
Lire la suite
Renommer un profile Hermes laissait un fantôme
Renommer un profile laissait la state DB sur l'ancien nom. PR #112653 migre l'identité, ajoute une commande de reprise et bloque les profiles supprimés.
Lire la suite
Multiplexage des profils : le gateway activé par défaut
gateway.multiplex_profiles est activé par défaut, mais une garde au démarrage tranche les valeurs non définies : un gateway sert alors tous les profils.
Lire la suite
Pourquoi state.db se corrompt dans les montages Docker Desktop, OrbStack et WSL2
Montez votre répertoire de données en bind mount dans un container et virtiofs ou 9p ne peut plus donner à SQLite WAL le verrou partagé dont il a besoin : deux écrivains corrompent alors state.db en silence, pendant que tous les contrôles d'intégrité passent. Depuis la PR #111433, Hermes le dit au démarrage et dans hermes doctor, avec deux correctifs concrets.
Lire la suite