6a. Web Intelligence : Navigation & Recherche Souveraine

Le module Web Intelligence permet à ECHO d'interagir avec le Web de manière humaine, via une instance Chromium pilotée, un retour visuel en temps réel (HUD), et d'effectuer des recherches sémantiques profondes sans traceur (tracker).

Architecture du Moteur (navigation_engine_tool.py)

Le moteur repose sur une séparation stricte entre le client ECHO et le browser-agent (container Docker isolé). Les communications se font via des requêtes HTTP internes.

Fonctions de Pilotage

Fonction Description Technique
web_browse_navigate Charge une URL, génère une capture d'écran et renvoie la Map du DOM (éléments interactifs indexés).
web_browse_interact Exécute des actions : click, type, scroll, hover, press. Supporte le ciblage par index numérique (recommandé) ou sélecteur CSS.
get_web_object_url Résout les URLs absolues (src/href) à partir des index du DOM détectés. Essentiel pour extraire des images ou des liens profonds.
web_browse_reset Réinitialisation matérielle (Hard Reset) de l'instance Playwright. Supprime cookies et sessions en cas de blocage.

Mémoire Visuelle & Proof Protocol

À chaque interaction réussie, le moteur capture une frame (PNG) et la scelle dans le Vault. La fonction get_browser_frames_history permet au modèle de consulter les IDs des étapes passées pour reconstruire une chronologie visuelle.

Le Replay Visuel (web_navigation_replay_action.py)

Il s'agit d'une interface HUD avancée (Cockpit JS) injectée côté client, permettant à l'utilisateur de "rejouer" la navigation de l'IA.

Fonctionnalités du Replay HUD

Spécifications du DOM Map

ECHO ne lit pas le HTML brut par défaut. Il utilise une fonction de "Highlight" qui transforme le DOM complexe en une liste d'objets simplifiés :

{
  "index": 42,
  "tagName": "BUTTON",
  "text": "Valider le Panier",
  "coordinates": { "x": 120, "y": 450, "w": 80, "h": 30 }
}

Cette abstraction réduit drastiquement la consommation de tokens et améliore la précision du clic.

Recherche Web Souveraine (sovereign_web_search.py)

ECHO n'utilise pas de moteurs de recherche commerciaux traçants. Il s'appuie sur une instance locale de SearxNG et l'API DuckDuckGo.

Outil Moteur Usage Optimal
search_instant_answer DuckDuckGo Faits, définitions, Wikipédia. Réponse ultra-rapide (millisecondes).
search_deep_web SearxNG Actualités, tutoriels, recherches multicritères. Agrège Google, Bing, Brave, etc., sans pistage. Supporte les filtres temporels (day, week, month, year).

Sécurité & Anonymat

Toutes les requêtes web sortantes utilisent le ECHO_USER_AGENT personnalisé. SearxNG agit comme un proxy, empêchant les moteurs tiers d'identifier l'utilisateur final ou l'infrastructure ECHO.