Aller au contenu principal

Référence des outils intégrés

Agent est livré avec un ensemble d'outils intégrés que l'IA appelle automatiquement pendant les conversations. Ces outils sont disponibles par défaut dans les conversations persistantes ; les développeurs de scripts n'ont généralement pas besoin de les appeler directement — l'IA choisit le bon outil en fonction de l'intention de l'utilisateur.

Comprendre ce que ces outils peuvent faire vous aide à écrire de meilleures invites système et de meilleurs outils personnalisés.

Récupération de données Web

web_fetch

Récupère le contenu d'une URL, avec extraction HTML-vers-texte et prise en charge de la synthèse par LLM.

ParamètreTypeObligatoireDescription
urlstringOuiURL cible (http/https uniquement)
promptstringNonInvite de synthèse (lorsqu'elle est fournie, un LLM est utilisé pour distiller le contenu)
max_lengthnumberNonnombre maximal de caractères du contenu

Détails de comportement :

  • Délai d'expiration de la requête : 30 secondes
  • Le contenu HTML extrait automatiquement le texte principal du corps (supprime navigation, barres latérales, etc.)
  • Les réponses JSON sont analysées automatiquement
  • Le texte brut est retourné tel quel
  • Lorsque prompt est fourni, le contenu récupéré est envoyé à un LLM pour synthèse

Valeur de retour :

{
"url": "https://example.com",
"content_type": "text/html",
"content": "Extracted body content...",
"truncated": false,
"final_url": "https://example.com/redirected"
}

Interroge un moteur de recherche et retourne des résultats de recherche structurés.

ParamètreTypeObligatoireDescription
querystringOuiMots-clés de recherche
max_resultsnumberNonNombre maximal de résultats (défaut 5, maximum 10)

Moteurs de recherche pris en charge :

MoteurDescriptionConfiguration requise
DuckDuckGoMoteur par défautAucune
BingMicrosoft Bing SearchClé API requise
BaiduBaidu SearchAucune clé API requise
Google Custom SearchGoogle Custom SearchClé API + ID CSE requis

Les moteurs de recherche sont configurés sur la page de gestion → Agent → Paramètres.

Valeur de retour :

[
{
"title": "Search result title",
"url": "https://example.com/result",
"snippet": "Result summary text..."
}
]

get_tab_content

Lit le contenu rendu d'une page d'un onglet spécifié, converti en Markdown structuré annoté avec des sélecteurs CSS.

ParamètreTypeObligatoireDescription
tab_idnumberOuiID de l'onglet
selectorstringNonSélecteur CSS ; n'extrait que la partie correspondante
promptstringNoninvite de synthèse
max_lengthnumberNonnombre maximal de caractères du contenu

Différence avec web_fetch : get_tab_content lit la page telle qu'elle est déjà rendue par le navigateur (y compris le contenu JS dynamique), alors que web_fetch effectue une nouvelle requête HTTP.

Valeur de retour :

{
"tab_id": 123,
"url": "https://example.com",
"title": "Page title",
"content": "Structured content...",
"truncated": false,
"used_selector": "main"
}

Gestion des onglets

list_tabs

Interroge les onglets ouverts, avec prise en charge de plusieurs conditions de filtre.

ParamètreTypeObligatoireDescription
url_patternstringNonCorrespondance regex d'URL
title_patternstringNonCorrespondance regex de titre
activebooleanNonRetourne uniquement l'onglet actif
window_idnumberNonfenêtre spécifiée
audiblebooleanNonRetourne uniquement les onglets qui jouent actuellement de l'audio

open_tab

Ouvre un nouvel onglet, ou navigue dans un onglet existant.

ParamètreTypeObligatoireDescription
urlstringOuiURL cible
tab_idnumberNonID d'un onglet existant (s'il est fourni, cet onglet navigue ; sinon un nouvel onglet est ouvert)
activebooleanNonIndique s'il faut l'activer (défaut true)
window_idnumberNonfenêtre spécifiée
wait_until_loadedbooleanNonIndique s'il faut attendre la fin du chargement de la page (défaut true)

close_tab

Ferme un onglet.

ParamètreTypeObligatoireDescription
tab_idnumberOuiID de l'onglet

activate_tab

Active un onglet et met la fenêtre qui le contient au premier plan.

ParamètreTypeObligatoireDescription
tab_idnumberOuiID de l'onglet

Système de fichiers (OPFS)

opfs_write

Écrit un fichier dans l'espace de travail.

ParamètreTypeObligatoireDescription
pathstringOuichemin du fichier
contentstringOuiContenu du fichier (URL de données binaires prise en charge)

opfs_read

Lit un fichier depuis l'espace de travail. Par défaut, le type de fichier est détecté automatiquement : les fichiers texte retournent leur contenu, les fichiers binaires retournent une URL de blob.

ParamètreTypeObligatoireDescription
pathstringOuichemin du fichier
modestringNon"text" / "blob" / "auto" (défaut) — force un mode de retour spécifique
offsetnumberNonNuméro de ligne de départ (indexé à partir de 1), mode texte uniquement
limitnumberNonNombre de lignes à lire, mode texte uniquement (la pagination est requise dès que le texte dépasse 200 lignes)

opfs_list

Liste le contenu d'un répertoire.

ParamètreTypeObligatoireDescription
pathstringNonChemin du répertoire (défaut : répertoire racine)

opfs_delete

Supprime un fichier ou un répertoire.

ParamètreTypeObligatoireDescription
pathstringOuiChemin du fichier/répertoire

Interaction utilisateur

ask_user

Pose une question à l'utilisateur, en prenant en charge la saisie libre ou un choix structuré.

ParamètreTypeObligatoireDescription
questionstringOuiLa question
optionsstring[]NonListe de choix (lorsqu'elle est fournie, cela devient une question à choix multiples)
multiplebooleanNonIndique si plusieurs sélections sont autorisées (défaut false)

Délai d'expiration : retourne { answer: null, reason: "timeout" } après 5 minutes sans réponse.

Valeur de retour :

{ "answer": "The user's answer text" }

execute_script

Exécute du code JavaScript dans une page ou un bac à sable.

ParamètreTypeObligatoireDescription
codestringOuiCode JavaScript
targetstringOui"page" ou "sandbox"
tab_idnumberNonOnglet cible lorsque target est page (défaut : onglet actif courant) ; ignoré pour le bac à sable

Comparaison des environnements d'exécution :

EnvironnementDOMJS de la pageURL de blob de l'extensionIdéal pour
target: "page" (toujours monde MAIN)ouiouinonLire/manipuler le DOM, appeler des fonctions de la page, lire des variables de la page
target: "sandbox"nonnonnonCalcul pur

Le mode page s'exécute toujours dans le monde MAIN de la page, partageant window avec la page — il ne peut donc pas accéder aux URL de blob propres à l'extension (par ex. l'adresse que opfs_read retourne en mode blob). Utilisez plutôt un SkillScript lorsque vous devez travailler avec une URL de blob.

Sous-agents

agent

Génère un sous-agent indépendant pour traiter une sous-tâche complexe.

ParamètreTypeObligatoireDescription
promptstringOuiDescription de la sous-tâche
descriptionstringNonUne courte étiquette (quelques mots, pour l'affichage dans l'interface)
typestringNonType de sous-agent (voir ci-dessous), défaut : "general"
tab_idnumberNonID d'onglet à transmettre au sous-agent ; le sous-agent opérera sur cet onglet

Types de sous-agents :

typeDescriptionOutils disponibles
researcherRecherche d'informations (lecture seule)web_search, web_fetch, lecture du contenu de la page
page_operatorAutomatisation du navigateurGestion des onglets, manipulation du DOM, interaction avec la page
generalUsage général (défaut)Tous les outils

Caractéristiques :

  • Un sous-agent a son propre contexte de conversation indépendant
  • Il ne peut pas utiliser ask_user ou agent (pour empêcher la récursion)
  • Les événements d'un sous-agent sont transmis à la conversation parente via sub_agent_event

Gestion des tâches

Ce groupe d'outils gère une liste de tâches temporaire au sein d'une conversation (en mémoire, non persistée).

create_task

ParamètreTypeObligatoireDescription
subjectstringOuiTitre de la tâche
descriptionstringNonDescription détaillée

update_task

ParamètreTypeObligatoireDescription
task_idstringOuiID de la tâche
statusstringNon"pending" / "in_progress" / "completed"
subjectstringNonNouveau titre
descriptionstringNonNouvelle description

list_tasks

Aucun paramètre ; retourne une brève liste de toutes les tâches.

Les outils de gestion des tâches servent principalement à ce que l'IA suive sa propre progression lors du traitement de tâches complexes en plusieurs étapes ; les données des tâches ne sont pas persistées.