Snapshots navigateur plafonnés à 15 000 caractères ? Hermes rend le budget configurable — et supprime le coût caché des résumés LLM


Vous demandez à Hermes de lire une longue page de documentation en ligne, et il ne voit que les premiers paragraphes — le reste a été coupé par le budget de snapshot. Ou l’inverse : la page n’est même pas si grande, mais Hermes a discrètement lancé un appel à un « modèle de résumé » pour compresser la page à votre place, ajoutant une ligne à la facture de tokens que vous n’avez jamais remarquée. Deux PR fusionnés le 25 août corrigent les deux problèmes d’un coup : le PR #94453 transforme le budget de caractères des snapshots navigateur en option de configuration, et le PR #94401 retire entièrement le chemin « appeler un LLM auxiliaire pour résumer les snapshots ».

Contexte : ce qu’est un snapshot navigateur et pourquoi le budget existe

Quand Hermes « regarde » une page web, il ne fourre pas une capture d’écran complète dans le modèle — c’est lent et coûteux. Il convertit plutôt l’arbre d’accessibilité de la page (une description standardisée de la structure de la page) en snapshot texte que le modèle peut lire. Un snapshot plus grand = une plus grande partie de la page visible par le modèle, mais aussi plus de contexte (tokens) consommé. C’est pourquoi Hermes donne aux snapshots un budget de caractères : tout ce qui dépasse le budget est tronqué.

Ce budget était auparavant une constante codée en dur (15 000 caractères) — non réglable par l’utilisateur. Le PR #94453 en fait browser.snapshot_threshold :

# vérifier la valeur actuelle
hermes config get browser.snapshot_threshold
# l'augmenter : garder plus de contenu des longues pages de documentation
hermes config set browser.snapshot_threshold 30000
# la baisser : économiser de l'espace de contexte
hermes config set browser.snapshot_threshold 8000

Le défaut reste 15 000, avec un plancher de 1 000. Dans config.yaml, il se trouve sous la section browser :

browser:
  snapshot_threshold: 30000

Les valeurs invalides (par ex. 0 ou négatives) retombent sur le défaut au lieu de planter. Les chemins de snapshot de Camofox respectent le même réglage.

Le changement majeur : les snapshots ne paient plus de résumés LLM

Le PR #94401 corrige un gaspillage silencieux. Auparavant, lorsqu’un snapshot de page dépassait le budget, Hermes empruntait un emplacement de modèle auxiliaire appelé auxiliary.web_extract — l’option « Web extract » que vous voyez dans hermes model — pour générer un résumé. En d’autres termes, chaque page trop grande pouvait déclencher un appel LLM supplémentaire, et l’entrée du sélecteur était même trompeusement nommée « Web extract » : elle semblait être une fonctionnalité de scraping, mais ne servait qu’aux résumés de snapshots navigateur, et le texte d’origine était de toute façon tronqué.

Après le changement, les snapshots utilisent une stratégie uniforme tronquer-et-stocker : tout ce qui dépasse le budget est coupé aux limites de ligne, et le snapshot complet est conservé dans le cache local — quand le modèle a besoin de tout le contenu, il le parcourt page par page avec read_file. C’est le même schéma déterministe que web_extract utilise déjà. Résultats :

  • Zéro appel LLM supplémentaire : la troncature est un traitement de texte déterministe — aucun token dépensé ;
  • Rien n’est perdu : le snapshot complet reste sur le disque, paginable à tout moment ;
  • L’emplacement mort disparaît : auxiliary.web_extract est retiré de la liste des tâches auxiliaires de hermes model, du dashboard et des réglages desktop.

Si vous aviez précédemment configuré auxiliary.web_extract dans config.yaml, laissez-le — les valeurs obsolètes sont ignorées sans risque.

Ce que cela signifie concrètement

Scénario Avant Après
La page dépasse le budget de snapshot Un appel de résumé LLM auxiliaire (tokens dépensés) Troncature déterministe ; snapshot complet stocké et paginable
Vouloir voir plus d’une longue page Impossible — 15 000 codés en dur Réglez librement browser.snapshot_threshold
Tâches auxiliaires de hermes model Un emplacement web_extract trompeur Supprimé ; surface plus propre

Résumé

Un ajout, un retrait : l’ajout, c’est la liberté de configuration (browser.snapshot_threshold, défaut 15 000, plancher 1 000) ; le retrait, c’est le coût caché (les résumés de snapshots n’appellent plus de LLM). Le workflow global de l’outil navigateur est inchangé, mais la lecture des longues pages est plus contrôlable et la facture plus propre. Pour une vue complète des outils navigateur de Hermes, voir quand browser-use est devenu le défaut et l’aperçu de lecture desktop ; d’autres astuces pour économiser des tokens se trouvent dans notre récapitulatif de quatre astuces cachées. Les opérations de configuration sont couvertes par la référence de la commande hermes config.