tools.toolSearch.
Quando habilitada para execuções do OpenClaw, o modelo recebe uma ferramenta tool_search_code por padrão, além de quaisquer ferramentas somente diretas cujos resultados estruturados não possam atravessar a ponte compacta. A ferramenta de código executa um pequeno corpo JavaScript em um subprocesso Node isolado com uma ponte openclaw.tools:
Como um turno é executado
Durante o planejamento, o executor incorporado do OpenClaw cria o catálogo efetivo para a execução:- Resolve a política de ferramentas ativa para o agente, o perfil, o sandbox e a sessão.
- Lista as ferramentas qualificadas do OpenClaw e dos plugins.
- Lista as ferramentas MCP qualificadas por meio do runtime MCP da sessão.
- Adiciona as ferramentas qualificadas do cliente fornecidas para a execução atual.
- Mantém as ferramentas somente diretas visíveis para o modelo e indexa descritores compactos para as demais ferramentas qualificadas para o catálogo.
- Expõe a ponte de código do OpenClaw, as ferramentas estruturadas de contingência ou a superfície compacta de diretório junto dessas ferramentas somente diretas.
openclaw.tools.call(...) atravessa a ponte de volta para o Gateway, onde continuam sendo aplicados os procedimentos normais de política, aprovação, hooks, registro em logs e tratamento de resultados.
Modos
tools.toolSearch tem três modos voltados ao modelo:
code: expõetool_search_code, a ponte JavaScript compacta padrão, junto das ferramentas somente diretas.tools: expõetool_search,tool_describeetool_callcomo ferramentas estruturadas simples para provedores que não devem receber código, junto das ferramentas somente diretas.directory: expõetool_search,tool_describeetool_call, além de um diretório limitado no prompt com os nomes e as descrições das ferramentas disponíveis, para provedores que devem ver os nomes das ferramentas sem receber todos os esquemas completos. O OpenClaw também pode expor diretamente um pequeno conjunto limitado de esquemas de ferramentas prováveis ou obrigatórias para o turno atual. As ferramentas somente diretas também permanecem visíveis nesse modo.
catalogMode: "direct-only" permanecem fora desse catálogo e visíveis para o modelo. Se o runtime atual não puder iniciar o processo filho isolado do Node para o modo de código, o modo code padrão recorre a tools antes da Compaction do catálogo. No modo directory, as ferramentas fornecidas pelo cliente permanecem diretamente visíveis para a execução atual, enquanto as ferramentas do OpenClaw, dos plugins e do MCP podem ser compactadas por trás do catálogo do diretório. Uma chamada direta para o nome exato de uma ferramenta oculta do diretório é preenchida a partir desse mesmo catálogo autorizado antes da execução.
Todos os modos são experimentais. Prefira a exposição direta de ferramentas para catálogos pequenos de ferramentas do OpenClaw e as superfícies estáveis nativas do Codex para execuções do harness do Codex.
Não há uma configuração separada para seleção de fontes. Quando a Pesquisa de Ferramentas está habilitada, o catálogo inclui as ferramentas do OpenClaw, do MCP e do cliente qualificadas para o catálogo após a filtragem normal por políticas; as ferramentas somente diretas são mantidas separadamente.
Por que isso existe
Catálogos grandes são úteis, mas têm um custo elevado. Enviar todos os esquemas de ferramentas ao modelo aumenta o tamanho da solicitação, torna o planejamento mais lento e aumenta a seleção acidental de ferramentas. A Pesquisa de Ferramentas altera esse formato:- ferramentas diretas: o modelo vê todos os esquemas selecionados antes do primeiro token
- modo de código da Pesquisa de Ferramentas: o modelo vê uma ferramenta de código compacta, um contrato curto de API e quaisquer ferramentas somente diretas
- modo de ferramentas da Pesquisa de Ferramentas: o modelo vê três ferramentas estruturadas compactas de contingência, além de quaisquer ferramentas somente diretas
- modo de diretório da Pesquisa de Ferramentas: o modelo vê um diretório limitado, controles de pesquisa/descrição/chamada e um pequeno conjunto limitado de esquemas prováveis ou obrigatórios, além de quaisquer ferramentas somente diretas
- durante o turno: o modelo pode carregar os esquemas restantes conforme necessário
API
openclaw.tools.search(query, options?)
Pesquisa o catálogo efetivo da execução atual. Os resultados são compactos e seguros para serem reinseridos no contexto do prompt.
openclaw.tools.describe(id)
Carrega os metadados completos de um resultado de pesquisa, incluindo o esquema de entrada exato.
openclaw.tools.call(id, args)
Chama uma ferramenta selecionada por meio do OpenClaw.
tool_searchtool_describetool_call
tool_searchtool_describetool_call
tool_search para encontrá-las. Se o modelo solicitar diretamente o nome exato de uma ferramenta oculta do diretório, o OpenClaw a preenche a partir do catálogo autorizado antes da execução normal.
Os nomes das ferramentas do cliente no modo de diretório não podem entrar em conflito com os nomes de ferramentas do OpenClaw, dos plugins ou do MCP, pois o despacho adiado exato usa esses nomes.
Limite do runtime
A ponte de código é executada em um subprocesso Node de curta duração. O subprocesso é iniciado com o modo de permissões do Node habilitado, um ambiente vazio, sem permissões de sistema de arquivos ou rede e sem permissões para processos filhos ou workers. O OpenClaw impõe um tempo-limite decorrido no processo pai e encerra o subprocesso quando esse limite é atingido, inclusive após continuações assíncronas. O runtime expõe apenas:console.log,console.warneconsole.erroropenclaw.tools.searchopenclaw.tools.describeopenclaw.tools.call
- políticas de permissão e negação de ferramentas
- restrições de ferramentas por agente e por sandbox
- política de ferramentas do canal/runtime
- hooks de aprovação
- hooks
before_tool_callde plugins - identidade da sessão, logs e telemetria
Configuração
Habilite a Pesquisa de Ferramentas para execuções do OpenClaw com a ponte de código padrão:codeTimeoutMs ao intervalo de 1000 a 60000, maxSearchLimit ao intervalo de 1 a 50 e searchDefaultLimit ao intervalo de 1 a maxSearchLimit.
Desabilite:
Prompt e telemetria
A Pesquisa de Ferramentas registra telemetria suficiente para compará-la à exposição direta de ferramentas:- total de bytes serializados de ferramentas e do prompt enviados ao harness
- tamanho do catálogo e divisão por fonte
- contagens de pesquisas, descrições e chamadas
- chamadas finais de ferramentas executadas por meio do OpenClaw
- IDs e fontes das ferramentas selecionadas
- quantos esquemas de ferramentas o modelo viu antecipadamente
- quantas operações de pesquisa e descrição ele realizou
- qual ferramenta final foi chamada
- se o resultado veio do OpenClaw, do MCP ou de uma ferramenta do cliente
Validação E2E
O cenário de Gateway do QA Lab comprova os dois caminhos com o runtime do OpenClaw:- O modo direto consegue chamar a ferramenta do plugin falso.
- A Pesquisa de Ferramentas consegue chamar a mesma ferramenta do plugin falso.
- O modo direto expõe os esquemas das ferramentas do plugin falso diretamente ao provedor.
- A Pesquisa de Ferramentas expõe apenas a ponte compacta e quaisquer ferramentas somente diretas.
- O payload da solicitação da Pesquisa de Ferramentas é menor para o grande catálogo falso.
- Os logs da sessão mostram as contagens esperadas de chamadas de ferramentas e a telemetria das chamadas realizadas pela ponte.
Comportamento em caso de falha
A Pesquisa de Ferramentas deve falhar de forma restritiva:- se uma ferramenta não estiver na política efetiva, a pesquisa não deverá retorná-la
- se uma ferramenta selecionada ficar indisponível,
tool_calldeverá falhar - se a política ou a aprovação bloquear a execução, o resultado da chamada deverá relatar esse bloqueio em vez de contorná-lo
- se a ponte de código não puder criar um runtime isolado, use
mode: "tools"ou desabilite a Pesquisa de Ferramentas nessa implantação