tools.toolSearch.
Po włączeniu dla uruchomień OpenClaw model domyślnie otrzymuje jedno narzędzie tool_search_code.
To narzędzie uruchamia krótki kod JavaScript w izolowanym podprocesie Node
z mostkiem openclaw.tools:
Jak przebiega tura
W czasie planowania osadzony runner OpenClaw buduje efektywny katalog dla uruchomienia:- Rozwiązuje aktywną politykę narzędzi dla agenta, profilu, sandboxa i sesji.
- Wyświetla kwalifikujące się narzędzia OpenClaw i Plugin.
- Wyświetla kwalifikujące się narzędzia MCP przez środowisko uruchomieniowe MCP sesji.
- Dodaje kwalifikujące się narzędzia klienta dostarczone dla bieżącego uruchomienia.
- Indeksuje kompaktowe deskryptory do wyszukiwania.
- Udostępnia modelowi mostek kodu OpenClaw, strukturalne narzędzia awaryjne albo kompaktową powierzchnię katalogu.
openclaw.tools.call(...) przechodzi przez mostek z powrotem do Gateway, gdzie
nadal obowiązuje normalna polityka, zatwierdzanie, haki, logowanie i obsługa wyników.
Tryby
tools.toolSearch ma trzy tryby widoczne dla modelu:
code: udostępniatool_search_code, domyślny kompaktowy mostek JavaScript.tools: udostępniatool_search,tool_describeitool_calljako zwykłe narzędzia strukturalne dla dostawców, którzy nie powinni otrzymywać kodu.directory: udostępniatool_search,tool_describeitool_calloraz ograniczony katalog promptu z nazwami i opisami dostępnych narzędzi dla dostawców, którzy powinni widzieć nazwy narzędzi bez każdego pełnego schematu. OpenClaw może także bezpośrednio udostępnić mały ograniczony zestaw prawdopodobnych lub wymaganych schematów narzędzi dla bieżącej tury.
code przechodzi awaryjnie na tools przed
kompaktowaniem katalogu. W trybie directory narzędzia dostarczone przez klienta pozostają bezpośrednio widoczne
dla bieżącego uruchomienia, podczas gdy narzędzia OpenClaw, narzędzia Plugin i narzędzia MCP mogą być
skompaktowane za katalogiem. Bezpośrednie wywołanie dokładnej ukrytej
nazwy katalogowej jest przed wykonaniem hydratowane z tego samego autoryzowanego katalogu.
Wszystkie tryby są eksperymentalne. Preferuj bezpośrednie udostępnianie narzędzi dla małych katalogów narzędzi OpenClaw
i preferuj natywne stabilne powierzchnie Codex dla uruchomień środowiska Codex.
Nie ma osobnej konfiguracji wyboru źródeł. Gdy wyszukiwanie narzędzi jest włączone,
katalog obejmuje kwalifikujące się narzędzia OpenClaw, MCP i klienta po normalnym
filtrowaniu przez politykę.
Dlaczego to istnieje
Duże katalogi są użyteczne, ale kosztowne. Wysyłanie każdego schematu narzędzia do modelu powiększa żądanie, spowalnia planowanie i zwiększa ryzyko przypadkowego wyboru narzędzia. Wyszukiwanie narzędzi zmienia kształt:- narzędzia bezpośrednie: model widzi każdy wybrany schemat przed pierwszym tokenem
- tryb kodu wyszukiwania narzędzi: model widzi jedno kompaktowe narzędzie kodu i krótką umowę API
- tryb narzędzi wyszukiwania narzędzi: model widzi trzy kompaktowe strukturalne narzędzia awaryjne
- tryb katalogu wyszukiwania narzędzi: model widzi ograniczony katalog oraz kontrolki wyszukiwania/opisu/wywołania i mały ograniczony zestaw prawdopodobnych lub wymaganych schematów
- podczas tury: model może ładować pozostałe schematy w razie potrzeby
API
openclaw.tools.search(query, options?)
Przeszukuje efektywny katalog dla bieżącego uruchomienia. Wyniki są kompaktowe i bezpieczne
do ponownego umieszczenia w kontekście promptu.
openclaw.tools.describe(id)
Ładuje pełne metadane dla jednego wyniku wyszukiwania, w tym dokładny schemat wejściowy.
openclaw.tools.call(id, args)
Wywołuje wybrane narzędzie przez OpenClaw.
tool_searchtool_describetool_call
tool_searchtool_describetool_call
tool_search, aby je znaleźć. Jeśli
model zażąda bezpośrednio dokładnej ukrytej nazwy narzędzia katalogowego, OpenClaw
hydratuje je z autoryzowanego katalogu przed normalnym wykonaniem.
Nazwy narzędzi klienta w trybie katalogu nie mogą kolidować z nazwami narzędzi OpenClaw, Plugin ani MCP,
ponieważ dokładne odroczone przekierowanie używa tych nazw.
Granica środowiska uruchomieniowego
Mostek kodu działa w krótkotrwałym podprocesie Node. Podproces startuje z włączonym trybem uprawnień Node, pustym środowiskiem, bez uprawnień do systemu plików ani sieci oraz bez uprawnień do procesów potomnych lub workerów. OpenClaw wymusza limit czasu zegarowego procesu nadrzędnego i zabija podproces po przekroczeniu limitu, także po asynchronicznych kontynuacjach. Środowisko uruchomieniowe udostępnia tylko:console.log,console.warniconsole.erroropenclaw.tools.searchopenclaw.tools.describeopenclaw.tools.call
- polityki dopuszczania i blokowania narzędzi
- ograniczenia narzędzi na agenta i sandbox
- polityka narzędzi kanału/środowiska uruchomieniowego
- haki zatwierdzania
- haki Plugin
before_tool_call - tożsamość sesji, logi i telemetria
Konfiguracja
Włącz wyszukiwanie narzędzi dla uruchomień OpenClaw z domyślnym mostkiem kodu:Prompt i telemetria
Wyszukiwanie narzędzi rejestruje wystarczającą telemetrię, aby porównać je z bezpośrednim udostępnianiem narzędzi:- łączna liczba zserializowanych bajtów narzędzi i promptu wysłanych do środowiska
- rozmiar katalogu i podział według źródeł
- liczby wyszukiwań, opisów i wywołań
- końcowe wywołania narzędzi wykonane przez OpenClaw
- wybrane identyfikatory narzędzi i źródła
- ile schematów narzędzi model zobaczył z góry
- ile operacji wyszukiwania i opisu wykonał
- które końcowe narzędzie zostało wywołane
- czy wynik pochodził z OpenClaw, MCP, czy narzędzia klienta
Walidacja E2E
Scenariusz Gateway w QA Lab potwierdza obie ścieżki ze środowiskiem uruchomieniowym OpenClaw:- Tryb bezpośredni może wywołać narzędzie fałszywego Plugin.
- Wyszukiwanie narzędzi może wywołać to samo narzędzie fałszywego Plugin.
- Tryb bezpośredni udostępnia schematy narzędzi fałszywego Plugin bezpośrednio dostawcy.
- Wyszukiwanie narzędzi udostępnia tylko kompaktowy mostek.
- Ładunek żądania wyszukiwania narzędzi jest mniejszy dla dużego fałszywego katalogu.
- Logi sesji pokazują oczekiwane liczby wywołań narzędzi i telemetrię wywołań przez mostek.
Zachowanie w razie błędu
Wyszukiwanie narzędzi powinno kończyć się w sposób zamknięty:- jeśli narzędzia nie ma w efektywnej polityce, wyszukiwanie nie powinno go zwracać
- jeśli wybrane narzędzie przestanie być dostępne,
tool_callpowinno się nie powieść - jeśli polityka lub zatwierdzanie blokuje wykonanie, wynik wywołania powinien zgłosić tę blokadę zamiast ją omijać
- jeśli mostek kodu nie może utworzyć izolowanego środowiska uruchomieniowego, użyj
mode: "tools"albo wyłącz wyszukiwanie narzędzi dla tego wdrożenia