工具参考
工具是模型在任务中可以调用的函数。实际可用的工具取决于提示词配置(Standard 或 Lite)、当前模式、功能开关、服务商能力和任务权限。下表中的“条件”列只列出该工具特有的前提;所有工具都还受审批设置约束。
| 工具 | 作用 | 条件 |
|---|---|---|
read_file | 读取文件内容,可指定行范围 | Standard、Lite |
write_to_file | 创建新文件,必要时创建目录 | Standard、Lite |
replace_in_file | 用按行匹配的 SEARCH/REPLACE 块编辑已有文件 | Standard、Lite |
search_files | 在目录中按正则表达式搜索文件内容 | Standard、Lite |
list_files | 列出目录内容,可递归 | Standard、Lite |
list_code_definition_names | 列出源代码的顶层定义 | Standard、Lite |
apply_patch | 按补丁格式新增、删除、移动或编辑代码 | 仅 Standard |
find_references | 通过 IDE 语言服务查找符号引用 | 仅 Standard;需要 VS Code |
rename | 通过 IDE 语言服务重命名符号,支持预览 | 仅 Standard;需要 VS Code |
replace_text | 在匹配 glob 的文件中批量替换文本,支持预览 | 仅 Standard |
replace_in_file 的匹配方式
Section titled “replace_in_file 的匹配方式”- 每个 SEARCH 行匹配文件中的整行或该行的行首部分。行首缩进可以省略,SEARCH 行绝不会从文件行的中间开始匹配。
- 一个 SEARCH 块必须在整个文件中只匹配一处。匹配到多处的块会被拒绝,结果会列出候选行号。
- 被匹配的每一行都会整行替换。REPLACE 原样写入,因此替换行必须带上自己的缩进。
- 形如
....... SKIP(点的数量与分隔符长度相同)的 SEARCH 行表示 SKIP 区间。此时该块覆盖从首段到最近匹配尾段之间的所有行,这些行全部由 REPLACE 替换。 - 编辑成功后,结果会报告每个块替换的原始行范围,以及 SKIP 区间删除了多少行。
replace_text 是独立的工具,不受上述规则影响。
命令、浏览器与网络
Section titled “命令、浏览器与网络”| 工具 | 作用 | 条件 |
|---|---|---|
execute_command | 执行 shell 命令 | Standard、Lite |
kill_command | 终止由 execute_command 启动的命令 | Standard、Lite |
browser_action | 操作由 Puppeteer 控制的浏览器 | 仅 Standard;模型支持浏览器操作,且未在浏览器设置中禁用 |
web_fetch | 抓取并分析指定 URL | 仅 Standard;开启 Web Tools |
web_search | 搜索网页,返回标题和链接 | 仅 Standard;开启 Web Tools |
generate_image | 通过已配置的图像来源生成或编辑图片 | 开启 Enable Image Generation,且有可用的图像模型 |
| 工具 | 作用 | 条件 |
|---|---|---|
ask_followup_question | 向用户提出一个必须回答的问题 | Standard、Lite |
qna_respond | 回答用户的提问 | Standard、Lite |
make_plan | 提交完整的实施或设计计划 | Standard、Lite |
working_respond | 说明下一次工具调用要做什么、为什么,回复排队或执行中收到的用户消息,或确认用户的纠正,然后继续工作。不结束当前轮次,之后必须跟一个实际工作的工具。Plan 和 Act 模式使用同一个工具;以旧名 act_mode_respond 发起的调用仍会执行它 | Standard、Lite |
phase_report | 汇报一个已完成的阶段:完成了什么、验证结果、下一阶段。不结束当前轮次;设置 requires_acknowledgment 时会等待用户确认或停止。Plan 和 Act 模式均可用;以旧名 status_update 发起的调用仍会执行它 | Standard、Lite |
generate_report | 提交结构化报告供用户审阅 | Standard、Lite |
attempt_completion | 提交任务的最终结果 | Standard、Lite |
change_todo_list | 请求用户批准替换当前的待办清单 | 仅 Standard;开启 Focus Chain |
| 工具 | 作用 | 条件 |
|---|---|---|
load_skill | 加载一个技能的完整说明 | 仅 Standard;存在可用技能 |
load_workflow | 加载一个工作流的步骤 | 仅 Standard |
load_mcp | 加载某个 MCP 工具的元数据,不执行它 | 仅 Standard;有已连接的 MCP 服务器 |
use_mcp_tool | 执行 MCP 服务器提供的工具 | 仅 Standard;有已连接的 MCP 服务器 |
access_mcp_resource | 读取 MCP 服务器提供的资源 | 仅 Standard;有已连接的 MCP 服务器 |
load_mcp_documentation | 加载创建和安装 MCP 服务器的指南 | 仅 Standard;有已连接的 MCP 服务器 |
use_subagent / use_subagents | 运行一个或一批子代理 | 仅 Standard;启用子代理功能,且当前不在子代理中 |
spawn_task | 启动一个独立运行的新任务,创建前需要用户批准 | 仅 Standard;当前不在子代理或派生任务中 |
Strict Plan Mode
Section titled “Strict Plan Mode”在 Settings → Features 中开启 Strict Plan Mode 后,Plan 模式下会拒绝 write_to_file、replace_in_file 和 apply_patch,以及 /newrule 使用的规则创建工具。
MCP 工具
Section titled “MCP 工具”除上表中的内置工具外,已连接的 MCP 服务器提供的工具也会作为可调用工具出现。MCP 服务器配置来自全局文件 <documents-root>/settings/mcp_settings.json 和工作区目录 .agents/mcp/。详见 MCP。