tools.toolSearch.
Quando è abilitata per le esecuzioni OpenClaw, il modello riceve per impostazione predefinita uno strumento tool_search_code.
Quello strumento esegue un breve corpo JavaScript in un sottoprocesso Node
isolato con un bridge openclaw.tools:
Come viene eseguito un turno
Al momento della pianificazione, il runner incorporato di OpenClaw crea il catalogo effettivo per l’esecuzione:- Risolve la policy degli strumenti attiva per agente, profilo, sandbox e sessione.
- Elenca gli strumenti OpenClaw e dei plugin idonei.
- Elenca gli strumenti MCP idonei tramite il runtime MCP della sessione.
- Aggiunge gli strumenti client idonei forniti per l’esecuzione corrente.
- Indicizza descrittori compatti per la ricerca.
- Espone al modello il bridge codice di OpenClaw, gli strumenti di fallback strutturati o la superficie directory compatta.
openclaw.tools.call(...) attraversa il bridge tornando nel Gateway, dove continuano ad applicarsi
la normale policy, le approvazioni, gli hook, la registrazione e la gestione dei risultati.
Modalità
tools.toolSearch ha tre modalità visibili al modello:
code: esponetool_search_code, il bridge JavaScript compatto predefinito.tools: esponetool_search,tool_describeetool_callcome semplici strumenti strutturati per i provider che non dovrebbero ricevere codice.directory: esponetool_search,tool_describeetool_callpiù una directory di prompt limitata con nomi e descrizioni degli strumenti disponibili per i provider che dovrebbero vedere i nomi degli strumenti senza ogni schema completo. OpenClaw può anche esporre direttamente un piccolo insieme limitato di schemi di strumenti probabili o richiesti per il turno corrente.
code ripiega su tools prima della compattazione
del catalogo. In modalità directory, gli strumenti forniti dal client restano direttamente visibili
per l’esecuzione corrente, mentre gli strumenti OpenClaw, gli strumenti dei plugin e gli strumenti MCP possono essere
compattati dietro il catalogo directory. Una chiamata diretta a un nome directory nascosto esatto
viene idratata dallo stesso catalogo autorizzato prima dell’esecuzione.
Tutte le modalità sono sperimentali. Preferisci l’esposizione diretta degli strumenti per cataloghi di strumenti OpenClaw
piccoli, e preferisci le superfici stabili native di Codex per le esecuzioni dell’harness Codex.
Non esiste una configurazione separata per la selezione delle origini. Quando Ricerca strumenti è abilitata, il
catalogo include strumenti OpenClaw, MCP e client idonei dopo il normale filtraggio
della policy.
Perché esiste
I cataloghi grandi sono utili ma costosi. Inviare ogni schema di strumento al modello aumenta le dimensioni della richiesta, rallenta la pianificazione e aumenta la selezione accidentale degli strumenti. Ricerca strumenti cambia la forma:- strumenti diretti: il modello vede ogni schema selezionato prima del primo token
- modalità codice di Ricerca strumenti: il modello vede uno strumento codice compatto e un breve contratto API
- modalità strumenti di Ricerca strumenti: il modello vede tre strumenti di fallback strutturati compatti
- modalità directory di Ricerca strumenti: il modello vede una directory limitata più controlli di ricerca/descrizione/chiamata e un piccolo insieme limitato di schemi probabili o richiesti
- durante il turno: il modello può caricare gli schemi rimanenti secondo necessità
API
openclaw.tools.search(query, options?)
Cerca nel catalogo effettivo dell’esecuzione corrente. I risultati sono compatti e sicuri
da reinserire nel contesto del prompt.
openclaw.tools.describe(id)
Carica i metadati completi per un risultato di ricerca, incluso lo schema di input esatto.
openclaw.tools.call(id, args)
Chiama uno strumento selezionato tramite OpenClaw.
tool_searchtool_describetool_call
tool_searchtool_describetool_call
tool_search per trovarle. Se
il modello richiede direttamente il nome esatto di uno strumento directory nascosto, OpenClaw
lo idrata dal catalogo autorizzato prima della normale esecuzione.
I nomi degli strumenti client in modalità directory non devono collidere con i nomi degli strumenti OpenClaw, dei plugin o MCP,
perché il dispatch differito esatto usa quei nomi.
Confine del runtime
Il bridge codice viene eseguito in un sottoprocesso Node di breve durata. Il sottoprocesso parte con la modalità permessi di Node abilitata, un ambiente vuoto, nessuna concessione per filesystem o rete e nessuna concessione per processi figli o worker. OpenClaw applica un timeout wall-clock del processo padre e termina il sottoprocesso al timeout, anche dopo continuazioni asincrone. Il runtime espone solo:console.log,console.warneconsole.erroropenclaw.tools.searchopenclaw.tools.describeopenclaw.tools.call
- policy di autorizzazione e negazione degli strumenti
- restrizioni degli strumenti per agente e per sandbox
- policy degli strumenti del canale/runtime
- hook di approvazione
- hook
before_tool_calldei plugin - identità di sessione, log e telemetria
Configurazione
Abilita Ricerca strumenti per le esecuzioni OpenClaw con il bridge codice predefinito:Prompt e telemetria
Ricerca strumenti registra telemetria sufficiente per confrontarla con l’esposizione diretta degli strumenti:- byte totali serializzati di strumenti e prompt inviati all’harness
- dimensione del catalogo e ripartizione delle origini
- conteggi di ricerca, descrizione e chiamata
- chiamate finali agli strumenti eseguite tramite OpenClaw
- ID e origini degli strumenti selezionati
- quanti schemi di strumenti il modello ha visto in anticipo
- quante operazioni di ricerca e descrizione ha eseguito
- quale strumento finale è stato chiamato
- se il risultato proviene da OpenClaw, MCP o da uno strumento client
Validazione E2E
Lo scenario Gateway di QA Lab dimostra entrambi i percorsi con il runtime OpenClaw:- La modalità diretta può chiamare lo strumento del plugin fittizio.
- Ricerca strumenti può chiamare lo stesso strumento del plugin fittizio.
- La modalità diretta espone direttamente al provider gli schemi degli strumenti del plugin fittizio.
- Ricerca strumenti espone solo il bridge compatto.
- Il payload della richiesta di Ricerca strumenti è più piccolo per il grande catalogo fittizio.
- I log di sessione mostrano i conteggi attesi delle chiamate agli strumenti e la telemetria delle chiamate bridged.
Comportamento in caso di errore
Ricerca strumenti dovrebbe fallire in modo chiuso:- se uno strumento non è nella policy effettiva, la ricerca non dovrebbe restituirlo
- se uno strumento selezionato diventa non disponibile,
tool_calldovrebbe fallire - se la policy o l’approvazione blocca l’esecuzione, il risultato della chiamata dovrebbe segnalare quel blocco invece di aggirarlo
- se il bridge codice non può creare un runtime isolato, usa
mode: "tools"o disabilita Ricerca strumenti per quel deployment