内置工具

Gemini CLI 提供的强大内置工具完整参考

文件系统Shell 命令Web 工具

工具类别

按功能分类的内置工具,帮助您完成各种任务

文件系统工具

用于读取、写入和管理文件和目录的工具

read_file

读取文件内容

参数:
path(string)必需

要读取的文件路径

返回值:

string - 文件内容

使用示例:
AI: 我来为您读取 package.json 文件。

工具调用: read_file
参数: {"path": "./package.json"}

结果: {
  "name": "my-project",
  "version": "1.0.0",
  "dependencies": {
    "express": "^4.18.0"
  }
}

write_file

将内容写入文件

参数:
path(string)必需

写入文件的路径

content(string)必需

要写入文件的内容

返回值:

string - 成功确认

使用示例:
AI: 我来为您创建一个新的 README 文件。

工具调用: write_file
参数: {
  "path": "./README.md",
  "content": "# 我的项目\n\n这是一个示例项目。"
}

结果: 文件已成功写入 ./README.md

list_files

列出指定路径中的文件和目录

参数:
path(string)必需

要列出的目录路径

recursive(boolean)

是否递归列出

返回值:

array - 文件和目录列表

使用示例:
AI: 让我列出 src 目录中的文件。

工具调用: list_files
参数: {"path": "./src", "recursive": false}

结果: [
  "index.js",
  "utils.js",
  "components/",
  "styles/"
]

Shell 工具

用于执行 Shell 命令和脚本的工具

run_shell_command

执行 Shell 命令

参数:
command(string)必需

要执行的 Shell 命令

cwd(string)

命令的工作目录

返回值:

object - 包含 stdout、stderr 和退出代码的命令结果

使用示例:
AI: 我来检查当前的 Git 状态。

工具调用: run_shell_command
参数: {"command": "git status --porcelain"}

结果: {
  "stdout": " M src/index.js\n?? new-file.txt",
  "stderr": "",
  "exitCode": 0
}

run_script

执行脚本文件

参数:
script_path(string)必需

脚本文件的路径

args(array)

传递给脚本的参数

返回值:

object - 脚本执行结果

使用示例:
AI: 我来运行带有生产标志的构建脚本。

工具调用: run_script
参数: {
  "script_path": "./scripts/build.sh",
  "args": ["--production"]
}

结果: {
  "stdout": "正在为生产环境构建...\n构建成功完成!",
  "stderr": "",
  "exitCode": 0
}

Web 工具

用于 Web 请求、搜索和在线内容的工具

web_fetch

从 URL 获取内容

参数:
url(string)必需

要获取的 URL

headers(object)

请求头

返回值:

object - 包含内容、状态和头部的响应

使用示例:
AI: 我来获取 API 端点的数据。

工具调用: web_fetch
参数: {"url": "https://api.github.com/repos/google-gemini/gemini-cli"}

结果: {
  "status": 200,
  "content": "{\"name\": \"gemini-cli\", \"description\": \"...\"}"
}

web_search

在网络上搜索信息

参数:
query(string)必需

搜索查询

num_results(number)

返回的结果数量

返回值:

array - 搜索结果列表

使用示例:
AI: 我来搜索关于 Gemini CLI 的信息。

工具调用: web_search
参数: {"query": "Gemini CLI documentation", "num_results": 5}

结果: [
  {
    "title": "Gemini CLI 官方文档",
    "url": "https://docs.geminicli.cloud",
    "snippet": "Gemini CLI 的完整文档..."
  }
]

内存工具

用于存储和检索会话信息的工具

remember

存储信息以供后续使用

参数:
key(string)必需

存储信息的键

value(string)必需

要存储的值

返回值:

string - 存储确认

使用示例:
AI: 我来记住您的偏好设置。

工具调用: remember
参数: {"key": "user_preference", "value": "使用 TypeScript 进行开发"}

结果: 信息已存储在键 'user_preference' 下

recall

检索之前存储的信息

参数:
key(string)必需

要检索信息的键

返回值:

string - 存储的值

使用示例:
AI: 让我检索您的偏好设置。

工具调用: recall
参数: {"key": "user_preference"}

结果: "使用 TypeScript 进行开发"

目录工具

用于目录操作和导航的工具

create_directory

创建新目录

参数:
path(string)必需

要创建的目录路径

recursive(boolean)

是否递归创建父目录

返回值:

string - 创建确认

使用示例:
AI: 我来创建一个新的项目目录。

工具调用: create_directory
参数: {"path": "./src/components", "recursive": true}

结果: 目录 './src/components' 创建成功

get_current_directory

获取当前工作目录

参数:

无参数

返回值:

string - 当前目录路径

使用示例:
AI: 让我检查当前工作目录。

工具调用: get_current_directory
参数: {}

结果: "/Users/username/projects/my-app"

工具配置

配置工具行为和权限

启用/禁用工具

gemini config set tools-enabled truegemini config set file-tools-enabled falsegemini config set web-tools-enabled true

工具超时设置

gemini config set tool-timeout 30gemini config set web-timeout 10gemini config set shell-timeout 60

相关资源

了解更多关于工具和自定义的信息