Gemini CLI 文件系统工具
Gemini CLI 提供了一套全面的工具,用于与本地文件系统进行交互。这些工具允许 Gemini 模型在您的控制下读取、写入、列出、搜索和修改文件和目录,并且通常会对敏感操作进行确认。
注意: 所有文件系统工具都在一个 rootDirectory
(通常是您启动 CLI 的当前工作目录)内操作,以确保安全。提供给这些工具的路径通常应为绝对路径或相对于此根目录的路径。
目录
1. list_directory
(ReadFolder)
list_directory
列出指定目录路径下文件和子目录的名称。它可以选择性地忽略与提供的 glob 模式匹配的条目。
- 参数:
path
(必需),ignore
(可选),respect_git_ignore
(可选) - 行为: 返回文件和目录名称列表,目录在前,然后按字母顺序排序。
- 确认: 否
2. read_file
(ReadFile)
read_file
读取并返回指定文件的内容。此工具处理文本、图像(PNG、JPG 等)和 PDF 文件。
- 参数:
path
(必需),offset
(可选),limit
(可选) - 行为: 返回文件内容。对于图像和 PDF,返回 base64 编码的数据。
- 确认: 否
3. write_file
(WriteFile)
write_file
将内容写入指定文件。如果文件存在,它将被覆盖。如果文件不存在,它(以及任何必要的父目录)将被创建。
- 参数:
file_path
(必需),content
(必需) - 行为: 将提供的内容写入文件路径。
- 确认: 是。在写入之前显示更改的差异并请求用户批准。
4. glob
(FindFiles)
glob
查找与特定 glob 模式匹配的文件,返回按修改时间(最新优先)排序的绝对路径。
- 参数:
pattern
(必需),path
(可选),case_sensitive
(可选),respect_git_ignore
(可选) - 行为: 搜索与 glob 模式匹配的文件。
- 确认: 否
5. search_file_content
(SearchText)
search_file_content
在指定目录的文件内容中搜索正则表达式模式。返回包含匹配项的行及其文件路径和行号。
- 参数:
pattern
(必需),path
(可选),include
(可选) - 行为: 使用
git grep
或类似工具进行快速搜索。 - 确认: 否
6. replace
(Edit)
replace
替换文件中的文本。此工具设计用于精确、有针对性的更改,并需要围绕 old_string
提供大量上下文以确保修改正确的位置。
- 参数:
file_path
(必需),old_string
(必需),new_string
(必需),expected_replacements
(可选) - 行为: 具有多阶段编辑校正机制以提高可靠性。
- 确认: 是。显示建议更改的差异并请求用户批准。
关键: old_string
必须唯一标识要更改的单个实例。它应至少包含目标文本之前和之后的 3 行上下文,并精确匹配空白和缩进。