tools.toolSearch.
Cuando se habilita para ejecuciones de OpenClaw, el modelo recibe una herramienta tool_search_code de forma predeterminada. Esa herramienta ejecuta un cuerpo breve de JavaScript en un subproceso aislado de Node con un puente openclaw.tools:
Cómo se ejecuta un turno
Durante la planificación, el ejecutor integrado de OpenClaw crea el catálogo efectivo para la ejecució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 a través del 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 de OpenClaw, las herramientas estructuradas de respaldo o la superficie compacta de directorio.
openclaw.tools.call(...) cruza el puente de vuelta al Gateway, donde siguen aplicándose la política, la aprobación, los hooks, el registro y el manejo de resultados normales.
Modos
tools.toolSearch tiene tres modos visibles para el modelo:
code: exponetool_search_code, el puente compacto predeterminado de JavaScript.tools: exponetool_search,tool_describeytool_callcomo herramientas estructuradas simples para proveedores que no deberían recibir código.directory: exponetool_search,tool_describeytool_call, además de un directorio acotado en el prompt con nombres y descripciones de herramientas disponibles para proveedores que deberían ver nombres de herramientas sin todos los esquemas completos. OpenClaw también puede exponer directamente un conjunto pequeño y acotado de esquemas de herramientas probables o requeridos para el turno actual.
code predeterminado vuelve a tools antes de la compactación del catálogo. En el modo directory, las herramientas proporcionadas por el cliente permanecen directamente visibles para la ejecución actual, mientras que las herramientas de OpenClaw, de plugins y MCP pueden compactarse detrás del catálogo de directorio. Una llamada directa a un nombre exacto oculto del directorio se hidrata desde ese mismo catálogo autorizado antes de la ejecución.
Todos los modos son experimentales. Prefiere la exposición directa de herramientas para catálogos pequeños de herramientas de OpenClaw y prefiere las superficies estables nativas de Codex para ejecuciones del arnés 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 de cliente después del filtrado normal de políticas.
Por qué existe
Los catálogos grandes son útiles, pero costosos. Enviar todos los esquemas de herramientas al modelo agranda la solicitud, 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 respaldo
- modo de directorio de Búsqueda de herramientas: el modelo ve un directorio acotado más controles de búsqueda/descripción/llamada y un conjunto pequeño y acotado de esquemas probables o requeridos
- durante el turno: el modelo puede cargar los esquemas restantes según sea necesario
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 metadatos completos para un resultado de búsqueda, incluido el esquema de entrada exacto.
openclaw.tools.call(id, args)
Llama a una herramienta seleccionada a través de OpenClaw.
tool_searchtool_describetool_call
tool_searchtool_describetool_call
tool_search para encontrarlas. Si el modelo solicita directamente un nombre exacto de herramienta oculta del directorio, OpenClaw la hidrata desde el catálogo autorizado antes de la ejecución normal.
Los nombres de herramientas de cliente en modo de directorio no deben colisionar con nombres de herramientas de OpenClaw, plugins o MCP, porque el despacho diferido exacto usa esos nombres.
Límite del runtime
El puente de código se ejecuta en un subproceso de Node de vida corta. El subproceso comienza con el modo de permisos de Node habilitado, un entorno vacío, sin permisos de sistema de archivos ni red, y sin permisos de procesos hijos ni workers. OpenClaw aplica un tiempo de espera de reloj de pared en el proceso padre y mata el subproceso al agotarse el tiempo, incluso después de continuaciones asíncronas. El runtime solo expone: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
- política de herramientas de canal/runtime
- 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 de OpenClaw con el puente de código predeterminado:codeTimeoutMs a 1000-60000, maxSearchLimit a 1-50 y searchDefaultLimit a 1..maxSearchLimit.
Deshabilítala:
Prompt y telemetría
La Búsqueda de herramientas registra suficiente telemetría para compararla con la exposición directa de herramientas:- bytes serializados totales de herramientas y prompt enviados al arnés
- tamaño del catálogo y desglose por fuente
- conteos de búsqueda, descripción y llamada
- llamadas finales de herramientas ejecutadas a través de 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 escenario de Gateway de QA Lab prueba ambas rutas con el runtime de OpenClaw:- El modo directo puede llamar a la herramienta del plugin falso.
- La Búsqueda de herramientas puede llamar a la misma herramienta del plugin falso.
- El modo directo expone directamente al proveedor los esquemas de herramientas del plugin falso.
- La Búsqueda de herramientas expone solo el puente compacto.
- La carga útil de solicitud de la Búsqueda de herramientas es más pequeña 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 debe 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 bloquea la ejecución, el resultado de la llamada debería informar ese bloqueo en lugar 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