Skip to content

工具

Zed 的内置代理可以访问这些工具来读取、搜索和编辑您的代码库。这些工具在 Agent Panel 中与 AI 代理对话时使用。

您可以为工具操作配置权限,包括自动批准、自动拒绝或需要您逐个确认的情况。有关权限限制工具的列表和详细信息,请参阅 Tool Permissions

若要添加这些内置工具之外的自定义工具,请参阅 MCP servers

读取与搜索工具

diagnostics

获取特定文件或整个项目的错误和警告,在编辑后确定是否需要进一步更改。当提供路径时,显示该特定文件的所有诊断信息。未提供路径时,显示项目中所有文件的错误和警告计数摘要。

示例: 编辑 src/parser.rs 后,使用该路径调用 diagnostics 以立即检查类型错误。在涉及多个文件的大型重构后,不带路径调用它,以在决定下一步修复内容之前查看项目范围的错误计数。

fetch

获取 URL 并将内容作为 Markdown 返回。用于提供文档作为上下文。

示例: 获取库的变更日志页面,在编写集成代码之前检查最近版本中是否引入了破坏性的 API 更改。

find_path

通过匹配 glob 模式(如 "*/.js")快速查找文件,按字母顺序返回匹配的文件路径。

grep

使用正则表达式在项目范围内搜索文件内容,适合在不知道确切文件路径的情况下查找代码中的符号。

示例: 重命名函数前,查找其所有调用点,搜索 parse_config\( —— 正则表达式匹配函数名后跟左括号,过滤掉恰好包含该字符串的注释或变量名。

list_directory

列出给定路径中的文件和目录,提供文件系统内容的概览。

now

返回当前日期和时间。

open

使用用户操作系统上关联的默认应用程序打开文件或 URL。

read_file

读取项目中指定文件的内容,允许访问文件内容。

thinking

允许代理在不执行操作的情况下解决问题、集思广益或制定计划,适用于复杂问题解决。

搜索网络信息,提供来自相关网页的摘要和链接,适合访问实时信息。

示例: 查看已知依赖项中的错误是否已在最新版本中修复,或在本地文档过时的情况下查找第三方库的当前 API 签名。

编辑工具

copy_path

在项目中递归复制文件或目录,在重复内容时比手动读写文件更高效。

create_directory

在项目内的指定路径创建新目录,创建所有必要的父目录(类似于 mkdir -p)。

delete_path

删除指定路径的文件或目录(包括递归内容)并确认删除。

edit_file

通过用新内容替换特定文本来编辑文件。

示例: 更新函数签名 —— 代理识别出需要替换的确切行并提供更新后的版本,保留周围代码不变。对于大规模重命名,它会与 grep 配合使用,先找到所有出现的位置。

move_path

在项目中移动或重命名文件或目录,如果仅文件名不同则执行重命名操作。

restore_file_from_disk

通过从磁盘重新加载文件内容,放弃打开缓冲区中未保存的更改。在重试编辑前,用于将文件重置为磁盘状态。

save_file

保存有未保存更改的文件。在进行进一步编辑前需要保存文件时使用。

terminal

执行 shell 命令并返回合并的输出,每次调用都创建一个新的 shell 进程。

示例: 编辑 Rust 文件后,运行 cargo test --package my_crate 2>&1 | tail -30 以确认更改未破坏现有测试。或运行 git diff --stat 以在完成任务前查看修改了哪些文件。

其他工具

spawn_agent

生成具有自己上下文窗口的子代理以执行委派任务。适合运行并行调查、完成独立任务或仅关注结果的研究。每个子代理都可以访问与父代理相同的工具。

示例: 重构身份验证模块时,生成一个子代理来调查代码库中其他地方如何验证会话令牌。父代理继续工作并在子代理完成后审查其发现——使两个上下文窗口都专注于单一任务。