自定义工具
工具是模型作用于世界的途径。除了内置工具,tool() 还能让你用一个 Zod schema 定义自己的工具——一个模型可以调用的类型化函数。schema 会在你的代码运行前校验每次调用,因此 handler 只会看到格式合法的入参。自定义工具追加在内置工具之后,同样经过权限闸门和 allowedTools / disallowedTools 过滤。
定义工具
tool() 签名
ToolContext
handler 的第二个参数携带内核提供的逐次调用服务:
安全元数据
opts.security 声明工具能触及的范围,类型为 ToolSecurity:
宿主可以检查这份元数据,选择工具并组合权限策略。它是能力声明,不是隔离边界;进程内 JavaScript 工具属于可信宿主代码。见部署组合。
另请参阅
- 内置工具——SDK 自带的工具集。
- 权限——用 allow / ask / deny 规则门控自定义与内置工具。
- Agent SDK 概览——自定义工具在组装好的 agent 中的位置。
- CLI 示例——一个端到端接入自定义工具的完整 agent。