内置工具
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 true
gemini config set file-tools-enabled false
gemini config set web-tools-enabled true
工具超时设置
gemini config set tool-timeout 30
gemini config set web-timeout 10
gemini config set shell-timeout 60