Outils de l'agent

August 12, 2026 · View on GitHub

WebBrain sépare le niveau du modèle du mode de conversation.

  • Niveau (compact, mid, full) est un réglage par fournisseur. Il contrôle le nombre d'outils navigateur normaux que le modèle voit.
  • Mode (ask, act, dev) est choisi par conversation. Il contrôle le type de tâche que l'utilisateur autorise.
ModeCe qu'il autorise
AskLecture seule. Pas de clic, de saisie, de navigation ni de téléchargement.
ActLes outils navigateur normaux du niveau sélectionné.
DevExige un fournisseur Mid ou Full. Ajoute une annexe source/style/debug, y compris une inspection DOM/frame plus profonde pour les exécutions Dev en Mid. Le mode Dev en Compact est bloqué avant l'envoi d'une requête au LLM.
NiveauClasse de modèle viséeSurface d'outils normaux
compacttrès petits modèles locauxPrompt le plus court et petit ensemble d'outils Act normaux. Pas de planification, d'iframe, de téléchargement de ressource ni de repli DOM/UI avancé.
midmodèles locaux capablesOutils de tâche courants : téléchargements, planification, outils iframe, vérification de formulaires. Sans les replis avancés réservés à Full.
fullmodèles frontière/cloud ou grands modèles locauxTout, y compris hover, drag-drop, frames et shadow DOM.

Les valeurs par défaut et les règles de résolution des niveaux sont documentées dans fournisseurs et modèles.

Lecture complète d'un fil Gmail

Le premier résultat d'accessibilité d'un fil Gmail expose le conversationRootRefId fiable de la conversation active. Une lecture complète doit paginer uniquement ce sous-arbre ancré avec filter:"all", maxDepth:15 et chaque continuationArgs exact jusqu'à hasMore:false. Les pages 2 et suivantes de la racine du document contiennent des lignes de boîte de réception sans rapport et ne comptent pas. Collapse all doit aussi confirmer séparément que Gmail a développé la conversation.

Matrice des outils

Légende : Oui = disponible · - = indisponible · C = Chrome uniquement · Dev = module Dev (fournisseurs Mid/Full ; pas Compact).

OutilAskCompactMidFullDev
get_accessibility_treeOuiOuiOuiOui-
read_pageOuiOuiOuiOui-
read_pdfOuiNonOuiOui-
list_webmcp_toolsCNonCC-
execute_webmcp_toolNonNonCC-
read_page_sourceNonNonNonNonOui
get_window_infoOuiOuiOuiOui-
get_interactive_elementsOuiNonOuiOui-
scrollOuiOuiOuiOui-
extract_dataOuiOuiOuiOui-
inspect_element_stylesNonNonNonNonOui
wait_for_stableOuiNonOuiOui-
get_selectionOuiOuiOuiOui-
doneOuiOuiOuiOui-
clarifyNonOuiOuiOui-
fetch_urlOuiOuiOuiOui-
research_urlOuiNonOuiOui-
list_downloadsOuiNonOuiOui-
click_axNonOuiOuiOui-
type_axNonOuiOuiOui-
set_fieldNonOuiOuiOui-
resize_windowNonNonNonOui-
clickNonOuiOuiOui-
type_textNonOuiOuiOui-
press_keysNonOuiOuiOui-
navigateNonOuiOuiOui-
wait_for_elementNonOuiOuiOui-
new_tabNonOuiOuiOui-
promote_iframeNonNonOuiOui-
scratchpad_writeNonOuiOuiOui-
progress_updateNonOuiOuiOui-
progress_readNonOuiOuiOui-
download_social_mediaNonNonOuiOui-
solve_captchaNonNonOuiOui-
go_backNonNonOuiOui-
go_forwardNonNonOuiOui-
schedule_resumeNonNonOuiOui-
schedule_taskNonNonOuiOui-
iframe_readNonNonOuiOui-
iframe_clickNonNonOuiOui-
iframe_typeNonNonOuiOui-
read_downloaded_fileNonNonOuiOui-
download_filesNonNonOuiOui-
download_resource_from_pageNonNonOuiOui-
upload_fileNonNonOuiOui-
verify_formNonNonOuiOui-
hoverNonNonNonOui-
drag_dropNonNonNonOui-
get_shadow_domNonNonNonOuiOui
shadow_dom_queryNonNonNonCC
get_framesNonNonNonOuiOui
inject_cssNonNonNonNonC
remove_injected_cssNonNonNonNonC
patch_elementNonNonNonNonC
revert_patchNonNonNonNonC
execute_jsNonNonNonNonOui
read_consoleNonNonNonNonC
inspect_network_requestsNonNonNonNonC
inspect_event_listenersNonNonNonNonC
highlight_elementNonNonNonNonC

promote_iframe est un outil Act normal des niveaux Mid/Full, et non un module réservé au mode Dev. Les sessions Dev avec un fournisseur Mid ou Full l'héritent du niveau Act sélectionné. Voir le ciblage des iframes pour le flux de travail en page autonome et les contrôles de sécurité.

Note Shadow DOM : L'arbre d'accessibilité ne traverse que le light DOM. Sur les pages riches en Web Components (Stripe, Salesforce, Shopify), utilisez d'abord get_interactive_elements ; en Full Act ou Dev, utilisez get_shadow_dom / shadow_dom_query pour des lectures ciblées.

Outils absents du tableau

Outils de compétence. Les compétences chargées peuvent ajouter des schémas d'outils pour l'exécution en cours. La compétence FreeSkillz.xyz intégrée, par exemple, peut exposer read_youtube_transcript ainsi que resolve_public_media / download_public_media. Ces outils ne sont pas codés en dur : avant le chargement de la compétence (ou si elle est retirée), ils sont absents. Le mode Ask filtre toujours les outils de mutation et de téléchargement, même lorsque la compétence propriétaire est chargée. Voir compétences.

WebMCP (expérimental, sur activation). Les lignes list_webmcp_tools / execute_webmcp_tool ne s'appliquent que lorsque WebMCP expérimental est activé dans Paramètres → Général → Avancé. Le réglage est désactivé par défaut ; tant qu'il l'est, les outils et leurs consignes de prompt sont omis des requêtes au modèle. Les annotations WebMCP telles que readOnly sont des indications écrites par la page, pas une frontière de sécurité. Chaque invocation exige Act ou Dev, une confirmation fraîche à chaque appel, et la permission normale capacité × origine de la frame d'enregistrement. WebMCP nécessite actuellement un build/une configuration de page Chrome compatible ; Firefox n'expose pas ces outils.

Édition et diagnostics en mode Dev

Les outils Dev ne sont exposés qu'en mode Dev, et le mode Dev est bloqué pour les fournisseurs de niveau Compact. Les outils d'édition réversible de Chrome renvoient des patch IDs : inject_css va avec remove_injected_css, et patch_element avec revert_patch.

  • inject_css / remove_injected_css appliquent et annulent du CSS temporaire par patchId. Chaque patch est unique et lié au document exact de la page, et ses métadonnées sont conservées en session storage pour qu'un redémarrage du service worker ne perde pas la poignée d'annulation. La navigation invalide l'ancienne poignée au lieu de la laisser affecter une page de remplacement.
  • patch_element / revert_patch effectuent des modifications structurées de styles inline, de classes et d'attributs avec des valeurs avant/après exactes. Les noms de styles et d'attributs HTML équivalents sont canonicalisés avant la création de l'enregistrement d'annulation, les opérations set/remove contradictoires sont rejetées, et les attributs d'URL exécutables rejettent les valeurs javascript: (y compris action de formulaire). highlight_element fournit une surcouche de cible temporaire transparente aux pointeurs ; comme elle insère du DOM vivant, elle utilise la permission de patch Dev temporaire.
  • execute_js exécute un corps de fonction JavaScript asynchrone dans le monde principal de la page. Chrome utilise CDP Runtime.evaluate avec une limite d'exécution de 15 secondes ; Firefox utilise son évaluateur de script de contenu MV2. L'outil est soumis à une permission d'hôte et reçoit une confirmation de soumission fraîche.
  • read_console, inspect_network_requests, inspect_event_listeners fournissent des diagnostics bornés sur Chrome. La capture démarre avant les exécutions Dev streamées ou non, et s'arrête quand l'onglet quitte le mode Dev ou que sa conversation est effacée ; quitter Dev vide tous les onglets ayant une capture active même si le panneau a changé d'onglet, retire les gestionnaires et les tampons, et désactive les domaines CDP correspondants. L'inspection des écouteurs ajoute et restaure brièvement un attribut de cible interne, suit les hôtes shadow ouverts lors de la collecte des ancêtres, et utilise donc la même permission d'hôte que les patchs Dev temporaires. Les en-têtes et corps réseau sont omis par défaut, les noms d'en-têtes sensibles (y compris les variantes courantes de clés d'API/d'abonnement) sont caviardés avant la mise en tampon, et la sortie de diagnostic issue de la page est traitée comme du contenu non fiable.

Voir aussi