enabled 决定工具是否暴露给模型,permission_policy 决定模型调用工具时如何评估。用它们禁用写文件、执行命令、调用外部服务等可能改变外部状态的工具。
两个配置字段
两个字段都适用于内置工具集(
agent_toolset)和 MCP 工具集(mcp_toolset),并且都可以在两个层级上设置:
- 工具集级:在工具声明的
default_config中设置,作为该工具集内所有工具的默认值; - 单工具级:在
configs中对某个具体工具设置同名字段,覆盖工具集级默认值。
always_allow 评估——模型调用该工具时会直接执行。每次工具调用的评估结果都会通过 agent.tool_use 事件的 evaluated_permission 字段下发给客户端;当前该字段的值只会是 always_allow。
配置工具权限
在 创建智能体 时,通过工具声明携带这两个字段。已有智能体也可以修改这两个配置:更新智能体 时传入tools 字段即可(tools 会整体替换当前工具声明),更新会生成新的智能体版本,无需重建。下面的示例为内置工具集设置默认自动放行,并把其中的写文件工具单独禁用:
MCP 工具集
MCP 工具集同样在default_config 和 configs 中设置 enabled 与 permission_policy。mcp_server_name 必须引用同一智能体 mcp_servers 中已声明的服务;configs[].name 使用该 MCP 服务实际提供的工具名。
configs 的生效规则见 接入 MCP。
下一步
工具
了解内置工具集与 MCP 工具的声明方式。
订阅事件流
实时接收工具调用与会话状态事件。