

























@@ -16,9 +16,9 @@ search or dynamic-tools surface. Codex-native code mode, tool search, deferred
1616dynamic tools, and nested tool calls are stable Codex harness surfaces and do
1717not depend on `tools.toolSearch`.
181819-When enabled for OpenClaw runs, the model receives one `tool_search_code` tool by default.
20-That tool runs a short JavaScript body in an isolated Node subprocess with an
21-`openclaw.tools` bridge:
19+When enabled for OpenClaw runs, the model receives one `tool_search_code` tool
20+by default. That tool runs a short JavaScript body in an isolated Node
21+subprocess with an `openclaw.tools` bridge:
22222323```js
2424const hits = await openclaw.tools.search("create a GitHub issue");
49493. List eligible MCP tools through the session MCP runtime.
50504. Add eligible client tools supplied for the current run.
51515. Index compact descriptors for search.
52-6. Expose either the OpenClaw code bridge or the structured fallback tools to the
53- model.
52+6. Expose the OpenClaw code bridge, the structured fallback tools, or the
53+compact directory surface to the model.
54545555At execution time every real tool call returns to OpenClaw. The isolated Node
5656runtime does not hold plugin implementations, MCP client objects, or secrets.
@@ -59,18 +59,26 @@ normal policy, approval, hook, logging, and result handling still apply.
59596060## Modes
616162-`tools.toolSearch` has two model-facing modes:
62+`tools.toolSearch` has three model-facing modes:
63636464- `code`: exposes `tool_search_code`, the default compact JavaScript bridge.
6565- `tools`: exposes `tool_search`, `tool_describe`, and `tool_call` as plain
6666 structured tools for providers that should not receive code.
67-68-Both modes use the same catalog and execution path. The only difference is the
69-shape the model sees. If the current runtime cannot launch the isolated Node
70-code-mode child process, the default `code` mode falls back to `tools` before
71-catalog compaction.
72-73-Both modes are experimental. Prefer direct tool exposure for small OpenClaw tool
67+- `directory`: exposes `tool_search`, `tool_describe`, and `tool_call` plus a
68+ bounded prompt directory of available tool names and descriptions for
69+ providers that should see tool names without every full schema. OpenClaw can
70+ also expose a small bounded set of likely or required tool schemas directly
71+ for the current turn.
72+73+All modes use the same policy-filtered catalog and normal OpenClaw execution
74+path. If the current runtime cannot launch the isolated Node code-mode child
75+process, the default `code` mode falls back to `tools` before catalog
76+compaction. In `directory` mode, client-provided tools stay directly visible
77+for the current run while OpenClaw tools, plugin tools, and MCP tools can be
78+compacted behind the directory catalog. A direct call to an exact hidden
79+directory name is hydrated from that same authorized catalog before execution.
80+81+All modes are experimental. Prefer direct tool exposure for small OpenClaw tool
7482catalogs, and prefer the Codex-native stable surfaces for Codex harness runs.
75837684There is no separate source-selection config. When Tool Search is enabled, the
@@ -90,7 +98,10 @@ Tool Search changes the shape:
9098 contract
9199- Tool Search tools mode: the model sees three compact structured fallback
92100 tools
93-- during the turn: the model loads only the tool schemas it actually needs
101+- Tool Search directory mode: the model sees a bounded directory plus
102+ search/describe/call controls and a small bounded set of likely or required
103+ schemas
104+- during the turn: the model can load remaining schemas as needed
9410595106Direct tool exposure is still the right default for small catalogs. Tool Search
96107is best when one run can see many tools, especially from MCP servers or
@@ -132,6 +143,20 @@ The structured fallback mode exposes the same operations as tools:
132143- `tool_describe`
133144- `tool_call`
134145146+Directory mode exposes:
147+148+- `tool_search`
149+- `tool_describe`
150+- `tool_call`
151+152+It also keeps client-provided tools directly visible and may expose a small
153+bounded set of likely or required catalog tool schemas directly for the current
154+turn. If the bounded directory omits entries, use `tool_search` to find them. If
155+the model requests an exact hidden directory tool name directly, OpenClaw
156+hydrates it from the authorized catalog before normal execution.
157+Directory-mode client tool names must not collide with OpenClaw, plugin, or MCP
158+tool names because exact deferred dispatch uses those names.
159+135160## Runtime boundary
136161137162The code bridge runs in a short-lived Node subprocess. The subprocess starts
@@ -186,6 +211,18 @@ Use the structured fallback tools instead for OpenClaw runs:
186211}
187212```
188213214+Use the compact directory surface instead for OpenClaw runs:
215+216+```json5
217+{
218+ tools: {
219+ toolSearch: {
220+ mode: "directory",
221+ },
222+ },
223+}
224+```
225+189226Tune code-mode timeout and search result limits:
190227191228```json5
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。