La Búsqueda de herramientas es una función experimental de agente PI de OpenClaw. Ofrece a los agentes PI una forma compacta de descubrir y llamar grandes catálogos de herramientas. Es útil cuando la ejecución tiene muchas herramientas disponibles, pero es probable que el modelo necesite solo unas pocas. Esta página documenta la Búsqueda de herramientas PI de OpenClaw. No es la búsqueda de herramientas nativa de Codex ni la superficie de herramientas dinámicas. El modo de código nativo de Codex, la búsqueda de herramientas, las herramientas dinámicas diferidas y las llamadas de herramientas anidadas son superficies estables del harness de Codex y no dependen 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.
Cuando está habilitada para PI, el modelo recibe una herramienta tool_search_code de forma predeterminada.
Esa herramienta ejecuta un cuerpo JavaScript breve en un subproceso Node aislado con un
puente openclaw.tools:
Cómo se ejecuta un turno
En el momento de planificación, el ejecutor PI integrado construye el catálogo efectivo para la ejución:- Resolver la política de herramientas activa para el agente, el perfil, el sandbox y la sesión.
- Enumerar las herramientas de OpenClaw y de plugins elegibles.
- Enumerar las herramientas MCP elegibles mediante el runtime MCP de la sesión.
- Agregar las herramientas de cliente elegibles suministradas para la ejecución actual.
- Indexar descriptores compactos para la búsqueda.
- Exponer al modelo el puente de código PI o las herramientas estructuradas de reserva.
openclaw.tools.call(...) cruza el puente de vuelta al Gateway, donde la
política, la aprobación, el hook, el registro y el manejo de resultados normales siguen aplicándose.
Modos
tools.toolSearch tiene dos modos visibles para el modelo:
code: exponetool_search_code, el puente JavaScript compacto predeterminado.tools: exponetool_search,tool_describeytool_callcomo herramientas estructuradas simples para proveedores que no deberían recibir código.
code predeterminado recurre a tools antes de
la compactación del catálogo.
Ambos modos son experimentales. Prefiere la exposición directa de herramientas para catálogos pequeños de herramientas PI
y prefiere las superficies estables nativas de Codex para ejecuciones del harness de Codex.
No hay una configuración separada de selección de fuentes. Cuando la Búsqueda de herramientas está habilitada, el
catálogo incluye herramientas elegibles de OpenClaw, MCP y cliente tras el filtrado normal de políticas.
Por qué existe
Los catálogos grandes son útiles, pero costosos. Enviar todos los esquemas de herramientas al modelo hace que la solicitud sea más grande, ralentiza la planificación y aumenta la selección accidental de herramientas. La Búsqueda de herramientas cambia la forma:- herramientas directas: el modelo ve todos los esquemas seleccionados antes del primer token
- modo de código de Búsqueda de herramientas: el modelo ve una herramienta de código compacta y un contrato de API breve
- modo de herramientas de Búsqueda de herramientas: el modelo ve tres herramientas estructuradas compactas de reserva
- durante el turno: el modelo carga solo los esquemas de herramientas que realmente necesita
API
openclaw.tools.search(query, options?)
Busca en el catálogo efectivo de la ejecución actual. Los resultados son compactos y seguros
para volver a colocarlos en el contexto del prompt.
openclaw.tools.describe(id)
Carga los metadatos completos de un resultado de búsqueda, incluido el esquema de entrada exacto.
openclaw.tools.call(id, args)
Llama una herramienta seleccionada mediante OpenClaw.
tool_searchtool_describetool_call
Límite del runtime
El puente de código se ejecuta en un subproceso Node de corta duración. El subproceso se inicia con el modo de permisos de Node habilitado, un entorno vacío, sin concesiones de sistema de archivos ni red, y sin concesiones de procesos hijos ni workers. OpenClaw aplica un tiempo de espera de reloj de pared en el proceso padre y elimina el subproceso al agotarse el tiempo de espera, incluso después de continuaciones asíncronas. El runtime expone solo:console.log,console.warnyconsole.erroropenclaw.tools.searchopenclaw.tools.describeopenclaw.tools.call
- políticas de permitir y denegar herramientas
- restricciones de herramientas por agente y por sandbox
- control de acceso solo para propietarios
- hooks de aprobación
- hooks
before_tool_callde plugins - identidad de sesión, registros y telemetría
Configuración
Habilita la Búsqueda de herramientas para ejecuciones PI con el puente de código predeterminado:Prompt y telemetría
La Búsqueda de herramientas registra suficiente telemetría para compararla con la exposición directa de herramientas:- total de bytes serializados de herramientas y prompt enviados al harness
- tamaño del catálogo y desglose por fuente
- conteos de búsquedas, descripciones y llamadas
- llamadas finales de herramientas ejecutadas mediante OpenClaw
- ids y fuentes de herramientas seleccionadas
- cuántos esquemas de herramientas vio el modelo por adelantado
- cuántas operaciones de búsqueda y descripción realizó
- qué herramienta final se llamó
- si el resultado provino de OpenClaw, MCP o una herramienta de cliente
Validación E2E
El ejecutor E2E del Gateway prueba ambas rutas con el harness PI:- El modo directo puede llamar la herramienta del plugin falso.
- La Búsqueda de herramientas puede llamar la misma herramienta del plugin falso.
- El modo directo expone los esquemas de herramientas del plugin falso directamente al proveedor.
- La Búsqueda de herramientas expone solo el puente compacto.
- La carga útil de solicitud de la Búsqueda de herramientas es menor para el catálogo falso grande.
- Los registros de sesión muestran los conteos esperados de llamadas de herramientas y la telemetría de llamadas puenteadas.
Comportamiento ante fallos
La Búsqueda de herramientas debería fallar de forma cerrada:- si una herramienta no está en la política efectiva, la búsqueda no debería devolverla
- si una herramienta seleccionada deja de estar disponible,
tool_calldebería fallar - si la política o la aprobación bloquean la ejecución, el resultado de la llamada debería informar ese bloqueo en vez de omitirlo
- si el puente de código no puede crear un runtime aislado, usa
mode: "tools"o deshabilita la Búsqueda de herramientas para ese despliegue