tools.toolSearch.
Para consultar el entorno de ejecución genérico de OpenClaw que expone una superficie QuickJS-WASI exec/wait
en lugar de controles de Tool Search, consulte Modo de código.
Cuando se habilita para las ejecuciones de OpenClaw, el modelo recibe de forma predeterminada una herramienta tool_search_code,
además de cualquier herramienta solo directa cuyos resultados estructurados no puedan atravesar
el puente compacto. La herramienta de código ejecuta un cuerpo JavaScript breve en un subproceso
Node aislado 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 entorno aislado y la sesión.
- Enumerar las herramientas de OpenClaw y de plugins aptas.
- Enumerar las herramientas de MCP aptas mediante el entorno de ejecución de MCP de la sesión.
- Añadir las herramientas del cliente aptas proporcionadas para la ejecución actual.
- Mantener visibles para el modelo las herramientas solo directas e indexar descriptores compactos para las demás herramientas aptas para el catálogo.
- Exponer el puente de código de OpenClaw, las herramientas estructuradas de respaldo o la superficie compacta de directorio junto con esas herramientas solo directas.
openclaw.tools.call(...) atraviesa el puente de vuelta al Gateway, donde se siguen aplicando
la política, la aprobación, los hooks, el registro y el procesamiento de resultados habituales.
Modos
tools.toolSearch tiene tres modos orientados al modelo:
code: exponetool_search_code, el puente JavaScript compacto predeterminado, junto con las herramientas solo directas.tools: exponetool_search,tool_describeytool_callcomo herramientas estructuradas simples para proveedores que no deben recibir código, junto con las herramientas solo directas.directory: exponetool_search,tool_describeytool_call, además de un directorio acotado en el prompt con los nombres y las descripciones de las herramientas disponibles para proveedores que deben ver los nombres de las herramientas sin recibir todos los esquemas completos. OpenClaw también puede exponer directamente un pequeño conjunto acotado de esquemas de herramientas probables o necesarios para el turno actual. Las herramientas solo directas también permanecen visibles en este modo.
catalogMode: "direct-only" permanecen fuera de ese catálogo y
siguen siendo visibles para el modelo. Si el entorno de ejecución actual no puede iniciar el subproceso
Node aislado del modo de código, el modo predeterminado code utiliza tools como alternativa antes de compactar
el 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, las herramientas de plugins y las herramientas de 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 ejecutarse.
Todos los modos son experimentales. Se recomienda la exposición directa de herramientas para catálogos pequeños de herramientas de OpenClaw
y las superficies estables nativas de Codex para las ejecuciones del arnés de Codex.
No existe una configuración independiente de selección de fuentes. Cuando Tool Search está habilitado, el
catálogo incluye las herramientas de OpenClaw, MCP y del cliente aptas para el catálogo después del filtrado
habitual por políticas; las herramientas solo directas se conservan por separado.
Motivo de su existencia
Los catálogos grandes son útiles, pero costosos. Enviar todos los esquemas de herramientas al modelo aumenta el tamaño de la solicitud, ralentiza la planificación e incrementa la selección accidental de herramientas. Tool Search cambia la estructura:- herramientas directas: el modelo ve todos los esquemas seleccionados antes del primer token
- modo de código de Tool Search: el modelo ve una herramienta de código compacta, un contrato de API breve y cualquier herramienta solo directa
- modo de herramientas de Tool Search: el modelo ve tres herramientas estructuradas compactas de respaldo, además de cualquier herramienta solo directa
- modo de directorio de Tool Search: el modelo ve un directorio acotado, además de controles de búsqueda, descripción y llamada, un pequeño conjunto acotado de esquemas probables o necesarios y cualquier herramienta solo directa
- 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 incluirlos en el contexto del prompt. Cada coincidencia incluye una firma acotada
input con estilo de TypeScript, como { id: string; mode?: "drip" | "flood" }, para que el
modelo pueda omitir describe cuando esa firma sea suficiente. Una herramienta de confianza
del núcleo de OpenClaw o de un plugin también puede incluir una indicación compacta output, como
Array<{ id: string; paid: boolean }>. Las declaraciones de esquemas de salida de MCP y del cliente
no se convierten en esta indicación de confianza. Sus esquemas de entrada no fiables también se
difieren como input: "unknown"; utilice describe antes de llamarlas. Los esquemas de salida
abiertos, demasiado grandes o parciales por otros motivos omiten la indicación y siguen
disponibles mediante describe.
openclaw.tools.describe(id)
Carga los metadatos completos de un resultado de búsqueda, incluidos el esquema de entrada exacto y
el outputSchema completo de confianza cuando la herramienta declara uno.
openclaw.tools.call(id, args)
Llama a una herramienta seleccionada mediante OpenClaw y devuelve el sobre { tool, result }
sin procesar. Las herramientas que devuelven JSON normalmente colocan su valor en
result.details. Si una herramienta de confianza declara outputSchema, OpenClaw compila
el esquema antes de la ejecución y valida el details final después de los hooks habituales de la
herramienta y antes de devolver la llamada del catálogo.
outputSchema de la herramienta.
Describe AgentToolResult.details, no bloques de contenido renderizados. Incluya
todas las variantes que no generan excepciones u omítalo para resultados inestables. Consulte
Contratos de salida del modo de código y
Plugins de herramientas.
El modo estructurado de respaldo expone las mismas operaciones como herramientas:
tool_searchtool_describetool_call
tool_searchtool_describetool_call
tool_search para encontrarlas. Si el modelo solicita directamente el nombre exacto de una herramienta
oculta del directorio, OpenClaw la hidrata desde el catálogo autorizado antes de la
ejecución habitual.
Los nombres de herramientas del cliente en el modo de directorio no deben entrar en conflicto con nombres de herramientas de OpenClaw, plugins o MCP,
porque el despacho diferido exacto utiliza esos nombres.
Límite del entorno de ejecución
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 permisos de acceso al sistema de archivos ni a la red y sin permisos para procesos secundarios ni workers. OpenClaw aplica un tiempo de espera de reloj de pared en el proceso principal y termina el subproceso al agotarse el tiempo, incluso después de continuaciones asíncronas. El entorno de ejecución solo expone:console.log,console.warnyconsole.erroropenclaw.tools.searchopenclaw.tools.describeopenclaw.tools.call
- políticas de autorización y denegación de herramientas
- restricciones de herramientas por agente y por entorno aislado
- política de herramientas del canal o entorno de ejecución
- hooks de aprobación
- hooks
before_tool_callde plugins - identidad de sesión, registros y telemetría
Configuración
Habilite Tool Search para las ejecuciones de OpenClaw con el puente de código predeterminado:codeTimeoutMs a 1000-60000, maxSearchLimit a 1-50 y
searchDefaultLimit a 1..maxSearchLimit.
Para deshabilitarlo:
Prompt y telemetría
Tool Search registra telemetría suficiente para compararlo con la exposición directa de herramientas:- total de bytes serializados de herramientas y del prompt enviados al arnés
- tamaño del catálogo y desglose por fuente
- recuentos de búsquedas, descripciones y llamadas
- llamadas finales a herramientas ejecutadas mediante OpenClaw
- identificadores y fuentes de las 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 procedía de OpenClaw, MCP o una herramienta del cliente
Validación E2E
El escenario de Gateway de QA Lab demuestra ambas rutas con el entorno de ejecución de OpenClaw:- El modo directo puede llamar a la herramienta del Plugin ficticio.
- Tool Search puede llamar a la misma herramienta del Plugin ficticio.
- El modo directo expone los esquemas de las herramientas del Plugin ficticio directamente al proveedor.
- Tool Search expone únicamente el puente compacto y cualquier herramienta exclusiva del modo directo.
- La carga útil de la solicitud de Tool Search es menor para el amplio catálogo ficticio.
- Los registros de sesión muestran los recuentos esperados de llamadas a herramientas y la telemetría de las llamadas mediante el puente.
Comportamiento ante fallos
Tool Search debe bloquearse de forma segura:- si una herramienta no está incluida en la política efectiva, la búsqueda no debe devolverla
- si una herramienta seleccionada deja de estar disponible,
tool_calldebe fallar - si la política o la aprobación bloquean la ejecución, el resultado de la llamada debe informar de ese bloqueo en lugar de eludirlo
- si el puente de código no puede crear un entorno de ejecución aislado, use
mode: "tools"o desactive Tool Search para ese despliegue