La Recherche d’outils est une fonctionnalité expérimentale d’agent PI d’OpenClaw. Elle donne aux agents PI un moyen compact de découvrir et d’appeler de grands catalogues d’outils. Elle est utile lorsque l’exécution dispose de nombreux outils disponibles, mais que le modèle n’a probablement besoin que de quelques-uns d’entre eux. Cette page documente la Recherche d’outils PI d’OpenClaw. Il ne s’agit pas de la recherche d’outils native de Codex ni de la surface d’outils dynamiques. Le mode code natif de Codex, la recherche d’outils, les outils dynamiques différés et les appels d’outils imbriqués sont des surfaces stables du harnais Codex et ne dépendent pas deDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
tools.toolSearch.
Lorsqu’elle est activée pour PI, le modèle reçoit par défaut un outil tool_search_code. Cet outil exécute un court corps JavaScript dans un sous-processus Node isolé avec un pont openclaw.tools :
Déroulement d’un tour
Au moment de la planification, l’exécuteur intégré PI construit le catalogue effectif pour l’exécution :- Résoudre la politique d’outils active pour l’agent, le profil, le sandbox et la session.
- Lister les outils OpenClaw et de Plugin éligibles.
- Lister les outils MCP éligibles via le runtime MCP de la session.
- Ajouter les outils client éligibles fournis pour l’exécution actuelle.
- Indexer les descripteurs compacts pour la recherche.
- Exposer au modèle soit le pont de code PI, soit les outils de secours structurés.
openclaw.tools.call(...) traverse le pont pour revenir dans le Gateway, où la politique, l’approbation, les hooks, la journalisation et le traitement des résultats habituels s’appliquent toujours.
Modes
tools.toolSearch dispose de deux modes visibles par le modèle :
code: exposetool_search_code, le pont JavaScript compact par défaut.tools: exposetool_search,tool_describeettool_callcomme outils structurés simples pour les fournisseurs qui ne doivent pas recevoir de code.
code par défaut bascule vers tools avant la Compaction du catalogue.
Les deux modes sont expérimentaux. Préférez l’exposition directe des outils pour les petits catalogues d’outils PI, et préférez les surfaces stables natives de Codex pour les exécutions du harnais Codex.
Il n’existe pas de configuration distincte de sélection des sources. Lorsque la Recherche d’outils est activée, le catalogue inclut les outils OpenClaw, MCP et client éligibles après le filtrage normal par politique.
Pourquoi cela existe
Les grands catalogues sont utiles, mais coûteux. Envoyer chaque schéma d’outil au modèle augmente la taille de la requête, ralentit la planification et accroît les risques de sélection accidentelle d’outils. La Recherche d’outils modifie la forme :- outils directs : le modèle voit chaque schéma sélectionné avant le premier jeton
- mode code de la Recherche d’outils : le modèle voit un outil de code compact et un court contrat d’API
- mode outils de la Recherche d’outils : le modèle voit trois outils de secours structurés compacts
- pendant le tour : le modèle ne charge que les schémas d’outils dont il a réellement besoin
API
openclaw.tools.search(query, options?)
Recherche dans le catalogue effectif de l’exécution actuelle. Les résultats sont compacts et peuvent être réinjectés sans risque dans le contexte de prompt.
openclaw.tools.describe(id)
Charge les métadonnées complètes d’un résultat de recherche, y compris le schéma d’entrée exact.
openclaw.tools.call(id, args)
Appelle un outil sélectionné via OpenClaw.
tool_searchtool_describetool_call
Frontière d’exécution
Le pont de code s’exécute dans un sous-processus Node de courte durée. Le sous-processus démarre avec le mode permissions de Node activé, un environnement vide, aucune autorisation de système de fichiers ou de réseau, et aucune autorisation de processus enfant ou de worker. OpenClaw applique un délai d’expiration en temps réel côté processus parent et tue le sous-processus en cas de dépassement, y compris après les continuations asynchrones. Le runtime expose uniquement :console.log,console.warnetconsole.erroropenclaw.tools.searchopenclaw.tools.describeopenclaw.tools.call
- politiques d’autorisation et de refus des outils
- restrictions d’outils par agent et par sandbox
- filtrage réservé au propriétaire
- hooks d’approbation
- hooks
before_tool_callde Plugin - identité de session, journaux et télémétrie
Configuration
Activez la Recherche d’outils pour les exécutions PI avec le pont de code par défaut :Prompt et télémétrie
La Recherche d’outils enregistre suffisamment de télémétrie pour la comparer à l’exposition directe des outils :- nombre total d’octets sérialisés d’outils et de prompt envoyés au harnais
- taille du catalogue et répartition par source
- nombres de recherches, de descriptions et d’appels
- appels d’outils finaux exécutés via OpenClaw
- identifiants et sources des outils sélectionnés
- combien de schémas d’outils le modèle a vus dès le départ
- combien d’opérations de recherche et de description il a effectuées
- quel outil final a été appelé
- si le résultat provenait d’OpenClaw, de MCP ou d’un outil client
Validation E2E
L’exécuteur E2E du Gateway vérifie les deux chemins avec le harnais PI :- Le mode direct peut appeler le faux outil de Plugin.
- La Recherche d’outils peut appeler le même faux outil de Plugin.
- Le mode direct expose directement les schémas du faux outil de Plugin au fournisseur.
- La Recherche d’outils expose uniquement le pont compact.
- La charge utile de requête de la Recherche d’outils est plus petite pour le grand faux catalogue.
- Les journaux de session affichent les nombres d’appels d’outils attendus et la télémétrie des appels via le pont.
Comportement en cas d’échec
La Recherche d’outils doit échouer de manière fermée :- si un outil ne figure pas dans la politique effective, la recherche ne doit pas le retourner
- si un outil sélectionné devient indisponible,
tool_calldoit échouer - si la politique ou l’approbation bloque l’exécution, le résultat de l’appel doit signaler ce blocage au lieu de le contourner
- si le pont de code ne peut pas créer un runtime isolé, utilisez
mode: "tools"ou désactivez la Recherche d’outils pour ce déploiement