tools.toolSearch ab.
Wenn sie für OpenClaw-Läufe aktiviert ist, erhält das Modell standardmäßig ein tool_search_code-Tool.
Dieses Tool führt einen kurzen JavaScript-Body in einem isolierten Node-Unterprozess
mit einer openclaw.tools-Bridge aus:
Wie ein Turn abläuft
Zur Planungszeit baut der eingebettete OpenClaw-Runner den effektiven Katalog für den Lauf auf:- Die aktive Tool-Policy für Agent, Profil, Sandbox und Sitzung auflösen.
- Berechtigte OpenClaw- und Plugin-Tools auflisten.
- Berechtigte MCP-Tools über die Sitzungs-MCP-Laufzeit auflisten.
- Berechtigte Client-Tools hinzufügen, die für den aktuellen Lauf bereitgestellt wurden.
- Kompakte Deskriptoren für die Suche indexieren.
- Dem Modell die OpenClaw-Code-Bridge, die strukturierten Fallback-Tools oder die kompakte Verzeichnisoberfläche bereitstellen.
openclaw.tools.call(...) überquert die Bridge zurück in den Gateway, wo die
normale Policy-, Freigabe-, Hook-, Logging- und Ergebnisverarbeitung weiterhin gilt.
Modi
tools.toolSearch hat drei modellseitige Modi:
code: stellttool_search_codebereit, die standardmäßige kompakte JavaScript-Bridge.tools: stellttool_search,tool_describeundtool_callals einfache strukturierte Tools für Provider bereit, die keinen Code erhalten sollen.directory: stellttool_search,tool_describeundtool_callsowie ein begrenztes Prompt-Verzeichnis verfügbarer Tool-Namen und Beschreibungen für Provider bereit, die Tool-Namen ohne jedes vollständige Schema sehen sollen. OpenClaw kann außerdem eine kleine begrenzte Menge wahrscheinlich benötigter oder erforderlicher Tool-Schemata direkt für den aktuellen Turn bereitstellen.
code vor der Katalog-Compaction auf tools zurück. Im Modus
directory bleiben vom Client bereitgestellte Tools für den aktuellen Lauf direkt sichtbar,
während OpenClaw-Tools, Plugin-Tools und MCP-Tools hinter dem Verzeichniskatalog
kompaktiert werden können. Ein direkter Aufruf eines exakten verborgenen
Verzeichnisnamens wird vor der Ausführung aus demselben autorisierten Katalog hydriert.
Alle Modi sind experimentell. Bevorzugen Sie direkte Tool-Bereitstellung für kleine OpenClaw-Tool-
Kataloge und die Codex-nativen stabilen Oberflächen für Codex-Harness-Läufe.
Es gibt keine separate Quellenauswahlkonfiguration. Wenn die Werkzeugsuche aktiviert ist, enthält der
Katalog berechtigte OpenClaw-, MCP- und Client-Tools nach normaler Policy-
Filterung.
Warum dies existiert
Große Kataloge sind nützlich, aber teuer. Jedes Tool-Schema an das Modell zu senden, macht die Anfrage größer, verlangsamt die Planung und erhöht die Wahrscheinlichkeit versehentlicher Tool-Auswahl. Die Werkzeugsuche ändert die Form:- direkte Tools: Das Modell sieht jedes ausgewählte Schema vor dem ersten Token
- Code-Modus der Werkzeugsuche: Das Modell sieht ein kompaktes Code-Tool und einen kurzen API- Vertrag
- Tools-Modus der Werkzeugsuche: Das Modell sieht drei kompakte strukturierte Fallback- Tools
- Verzeichnismodus der Werkzeugsuche: Das Modell sieht ein begrenztes Verzeichnis sowie Such-/Beschreibungs-/Aufruf-Steuerelemente und eine kleine begrenzte Menge wahrscheinlicher oder erforderlicher Schemata
- während des Turns: Das Modell kann verbleibende Schemata bei Bedarf laden
API
openclaw.tools.search(query, options?)
Durchsucht den effektiven Katalog für den aktuellen Lauf. Ergebnisse sind kompakt und sicher
zurück in den Prompt-Kontext zu geben.
openclaw.tools.describe(id)
Lädt vollständige Metadaten für ein Suchergebnis, einschließlich des exakten Eingabeschemas.
openclaw.tools.call(id, args)
Ruft ein ausgewähltes Tool über OpenClaw auf.
tool_searchtool_describetool_call
tool_searchtool_describetool_call
tool_search, um sie zu finden. Wenn
das Modell einen exakten verborgenen Verzeichnis-Tool-Namen direkt anfordert, hydriert OpenClaw
ihn vor der normalen Ausführung aus dem autorisierten Katalog.
Tool-Namen von Client-Tools im Verzeichnismodus dürfen nicht mit OpenClaw-, Plugin- oder MCP-
Tool-Namen kollidieren, weil der exakte verzögerte Dispatch diese Namen verwendet.
Laufzeitgrenze
Die Code-Bridge läuft in einem kurzlebigen Node-Unterprozess. Der Unterprozess startet mit aktiviertem Node-Berechtigungsmodus, einer leeren Umgebung, ohne Dateisystem- oder Netzwerkfreigaben und ohne Kindprozess- oder Worker-Freigaben. OpenClaw erzwingt einen Wall-Clock-Timeout im Elternprozess und beendet den Unterprozess bei Timeout, einschließlich nach asynchronen Fortsetzungen. Die Laufzeit stellt nur bereit:console.log,console.warnundconsole.erroropenclaw.tools.searchopenclaw.tools.describeopenclaw.tools.call
- Tool-Allow- und Deny-Policies
- Tool-Einschränkungen pro Agent und pro Sandbox
- Channel-/Laufzeit-Tool-Policy
- Freigabe-Hooks
- Plugin-
before_tool_call-Hooks - Sitzungsidentität, Logs und Telemetrie
Konfiguration
Aktivieren Sie die Werkzeugsuche für OpenClaw-Läufe mit der standardmäßigen Code-Bridge:Prompt und Telemetrie
Die Werkzeugsuche zeichnet genug Telemetrie auf, um sie mit direkter Tool-Bereitstellung zu vergleichen:- insgesamt serialisierte Tool- und Prompt-Bytes, die an den Harness gesendet wurden
- Kataloggröße und Quellenaufschlüsselung
- Such-, Beschreibungs- und Aufrufanzahlen
- finale Tool-Aufrufe, die über OpenClaw ausgeführt wurden
- ausgewählte Tool-IDs und Quellen
- wie viele Tool-Schemata das Modell vorab gesehen hat
- wie viele Such- und Beschreibungsoperationen es ausgeführt hat
- welches finale Tool aufgerufen wurde
- ob das Ergebnis von OpenClaw, MCP oder einem Client-Tool kam
E2E-Validierung
Das Gateway-Szenario im QA Lab beweist beide Pfade mit der OpenClaw-Laufzeit:- Der direkte Modus kann das gefälschte Plugin-Tool aufrufen.
- Die Werkzeugsuche kann dasselbe gefälschte Plugin-Tool aufrufen.
- Der direkte Modus stellt die Schemata des gefälschten Plugin-Tools direkt dem Provider bereit.
- Die Werkzeugsuche stellt nur die kompakte Bridge bereit.
- Die Request-Payload der Werkzeugsuche ist für den großen gefälschten Katalog kleiner.
- Sitzungslogs zeigen die erwarteten Tool-Aufrufanzahlen und die Telemetrie für gebridgte Aufrufe.
Fehlerverhalten
Die Werkzeugsuche sollte fail-closed sein:- Wenn ein Tool nicht in der effektiven Policy enthalten ist, sollte die Suche es nicht zurückgeben
- Wenn ein ausgewähltes Tool nicht mehr verfügbar ist, sollte
tool_callfehlschlagen - Wenn Policy oder Freigabe die Ausführung blockieren, sollte das Aufrufergebnis diese Blockierung melden, statt sie zu umgehen
- Wenn die Code-Bridge keine isolierte Laufzeit erstellen kann, verwenden Sie
mode: "tools"oder deaktivieren Sie die Werkzeugsuche für diese Bereitstellung