内置工具
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.mdlist_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