Rendre l’accès web utilisable par Hermès
J’utilise Hermès pour des tâches qui nécessitent de rechercher et lire des pages, notamment sur des places de marché françaises. Lorsqu’une protection anti-bot intervient, l’agent doit choisir entre attendre, changer de moteur ou poursuivre dans un navigateur. J’ai adapté Scrapling, le framework de Karim Shoair, pour organiser ces décisions dans son interface MCP.
Le parseur, les moteurs de récupération et les fonctions de collecte du framework appartiennent à l’amont. Mon travail porte sur la couche proposée aux agents : stratégie progressive, presets, états de réponse, interactions et outils d’exploitation.
Passer de la récupération à l’interaction
L’outil smart_fetch commence par une requête peu coûteuse, puis utilise un navigateur dynamique ou une configuration renforcée si nécessaire. Il examine la réponse et renvoie un état explicite : contenu obtenu, quota, challenge, erreur ou interaction requise. L’agent peut ainsi distinguer une page utile d’un écran de blocage.
Lorsque l’extraction automatique ne suffit plus, le serveur conserve une page ouverte et transmet ses identifiants. L’agent peut observer son arbre d’accessibilité, cliquer, saisir, attendre ou faire défiler, puis extraire le contenu pertinent. Ce passage de relais évite de repartir de zéro alors qu’une session existe déjà. Les actions de l’agent prolongent le travail préparé par le service.
Adapter les tentatives au domaine
J’ai ajouté une mémoire opérationnelle par domaine, appelée DomainBrain. Elle conserve pendant la vie du serveur les niveaux qui ont fonctionné et règle concurrence, délais et pauses. Un succès peut réduire l’attente ; une limitation ou des challenges répétés l’augmentent. Ces décisions suivent des règles et des résultats observés.
Les profils et les cookies répondent à une autre question : retrouver un contexte de navigation entre plusieurs parcours. Les presets regroupent des réglages récurrents, tout en laissant les arguments explicites prioritaires. J’ai conservé la politique d’escalade dans la couche MCP afin de garder les moteurs Python centrés sur la récupération des pages.
Exploiter et maintenir la capacité web
Le fork comprend des contrôles du contrat MCP, des procédures pour les profils bloqués et la récupération des navigateurs orphelins. Il prévoit un affichage virtuel pour les configurations navigateur qui en ont besoin sur un serveur sans écran. Les guides donnent aussi un cycle d’usage : ouvrir, naviguer, interagir, extraire puis fermer.
J’ai maintenu ces ajouts lors des mises à jour du framework et documenté les frontières entre les composants. Les protections des sites évoluent, ce qui donne une place importante au diagnostic et aux réponses d’échec. Le code de mon adaptation est privé ; le projet original et sa documentation permettent d’examiner le socle sur lequel elle repose.