直接工具

session.tool(name, args)(以及 glob、grep、readFile 等类型化辅助方法)会直接运行宿主工具,循环中不发起任何模型调用。它们适用于测试、迁移以及宿主驱动的工作流——你需要确定性结果,而不是一次智能体回合。

直接调用是宿主控制面调用:会话视宿主为已批准这些调用,因此 permissionPolicy 和确认提示 都不适用。调用前请先执行你的产品授权逻辑;如果某个由宿主协调的调用仍需经过会话的权限与 确认关卡,请改用 governedTool / governed_tool / GovernedTool。

Rust
Node.js
Python
Go

直接工具在 session 工作区下执行,应视为宿主侧的特权操作。大多数调用(read、glob、grep)是纯确定性的;generate_object 是个例外——它仍会调用模型来填充经过 schema 校验的 JSON 对象,但由你显式驱动,而非通过自由形式的智能体回合。

grep / Grep 以 grep 模式运行 search 工具。它返回匹配的行,末尾附一行 N match(es) in M file(s) 汇总;没有匹配时返回 No matches found for pattern: ...。 示例打印的就是最后这一行。

readFile / read_file / ReadFile 返回 read 工具的视图:每行都带有右对齐的行号和一个 制表符前缀,长文件末尾还会附带续读提示。解析文件内容前请先去掉该前缀。

可运行版本位于 sdk/node/examples/basic/test_generate_object.ts (Python:sdk/python/examples/test_generate_object.py)。Go 的直接 工具契约由 sdk/go/session_test.go 覆盖。