Gemini CLI
本文全面介绍了 Google 开源的 AI 智能体命令行终端 Gemini CLI。内容涵盖了其安装与启动方法、核心命令(/、@、!)的使用、配置文件结构、常用快捷键、与 VS Code 等 IDE 的集成,以及如何通过上下文文件(GEMINI.md)和设置 MCP Servers 来定制和扩展其功能,为开发者提供了一个使用指南。
Gemini CLI 是 Google 于2025年6月26日 正式开源的 AI 智能体命令行终端,支持 1M上下文的 gemini-2.5-pro 高级模型,个人 Google 账户免费 60 次请求/分钟, 1,000 次请求/天。它内置了谷歌实时搜索、文件操作、shell 命令、网页抓取等工具,还支持集成自定义MCP Servers。
安装并启动 Gemini CLI
brew install gemini-cli
gemini选择使用谷歌账号登录(选择Gemini API Key的话,每天仅能发送 100 个请求)
Gemini CLI 调用命令
Gemini CLI 中可以使用/,@,!来调用命令:
/: 内置命令/chat保存和恢复对话历史,用于交互式分支对话状态,或从后续会话中恢复之前的状态。/compress用摘要替换整个聊天上下文。这节省了未来任务使用的令牌消耗,同时保留了发生事情的高级摘要。/copy将 Gemini CLI 产生的最后输出复制到剪贴板,便于分享或重用。/directory管理工作区目录以支持多目录。/editor打开选择支持编辑器的对话框。/mcp列出配置的模型上下文协议(MCP)服务器、它们的连接状态、服务器详情和可用工具。/memory管理 AI 的指令上下文(从GEMINI.md文件加载的分层内存)。/settings打开设置编辑器以查看和修改 Gemini CLI 设置。/stats显示当前 Gemini CLI 会话的详细统计信息,包括令牌使用量、缓存令牌节省(如果可用)和会话持续时间。/quit或/exit退出Gemini CLI。/init为了帮助用户轻松创建GEMINI.md文件,此命令分析当前目录并生成定制的上下文文件,使他们更容易向 Gemini 代理提供项目特定的指令。/vim启用 vim 模式。/tools显示 Gemini CLI 中当前可用的工具列表。
@: 引用文件或目录的内容!: 调用系统的 shell 命令
配置文件位置
- 系统默认文件:
/etc/gemini-cli/system-defaults.json(Linux)、C:\ProgramData\gemini-cli\system-defaults.json(Windows)或/Library/Application Support/GeminiCli/system-defaults.json(macOS)。 - 用户设置文件: 位于
~/.gemini/settings.json - 项目设置文件: 位于项目根目录中的
.gemini/settings.json - 系统设置文件:位于
/etc/gemini-cli/settings.json(Linux)、C:\ProgramData\gemini-cli\settings.json(Windows)或/Library/Application Support/GeminiCli/settings.json(macOS)。
Gemini CLI 常用快捷键
| 快捷键 | 描述 |
|---|---|
Esc | 关闭对话框和建议。 |
Ctrl+C | 取消正在进行的请求并清除输入。按两次可退出应用程序。 |
Ctrl+D | 如果输入为空则退出应用程序。按两次确认。 |
Ctrl+L | 清除屏幕。 |
Ctrl+O | 切换调试控制台的显示。 |
Ctrl+S | 允许长响应完全打印,禁用截断。使用终端的回滚功能查看完整输出。 |
Ctrl+T | 切换工具描述的显示。 |
Ctrl+Y | 切换所有工具调用的自动批准(YOLO 模式)。 |
\(在行末)+ Enter | 插入换行符。 |
Ctrl+G | 查看 CLI 从 IDE 接收到的上下文 |
查看更多 Gemini CLI 键盘快捷键
IDE 集成
Gemini CLI 支持与 VS Code 及其分支IDE(如Trae、Kiro)进行集成,在你的 IDE 中安装 Gemini Code Assist 插件,或者从 VS Code 市场 手动安装。
在命令面板就可以找到 Gemini CLI 功能。
Gemini CLI: Run:在集成终端中启动新的 Gemini CLI 会话。Gemini CLI: Accept Diff:接受活动差异编辑器中的更改。Gemini CLI: Close Diff Editor:拒绝更改并关闭活动差异编辑器。Gemini CLI: View Third-Party Notices:显示扩展的第三方声明。
在Gemini CLI 中控制 IDE集成:
# 查看连接状态
/ide status
# 启用与IDE的连接
/ide enable
# 禁用连接
/ide disable上下文文件
上下文文件(默认为 GEMINI.md,但可通过 context.fileName 设置配置)配置提供给 Gemini 模型的 指令上下文(也称为"内存")至关重要。这个强大的功能允许您向 AI 提供项目特定的指令、编码风格指南或任何相关的背景信息,使其响应更加定制化和准确地满足您的需求。
示例:
# 项目:我的出色 TypeScript 库
## 一般指令:
- 生成新 TypeScript 代码时,请遵循现有编码风格。
- 确保所有新函数和类都有 JSDoc 注释。
- 在适当的地方优先使用函数式编程范式。
- 所有代码都应与 TypeScript 5.0 和 Node.js 20+ 兼容。
## 编码风格:
- 使用 2 个空格进行缩进。
- 接口名称应以 `I` 为前缀(例如 `IUserService`)。
- 私有类成员应以下划线(`_`)为前缀。
- 始终使用严格相等(`===` 和 `!==`)。
## 特定组件:`src/api/client.ts`
- 此文件处理所有出站 API 请求。
- 添加新的 API 调用函数时,确保它们包含强大的错误处理和日志记录。
- 对所有 GET 请求使用现有的 `fetchWithRetry` 实用程序。
## 关于依赖项:
- 除非绝对必要,否则避免引入新的外部依赖项。
- 如果需要新的依赖项,请说明原因。设置 MCP Servers
GitHub MCP Server
编辑 .gemini/settings.json,在 mcpServer 下添加 github 块
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
}
}
}
}这里的${GITHUB_PERSONAL_ACCESS_TOKEN} 是在环境变量中存储的 GitHub PAT(个人访问令牌)
启动 Gemini CLI 并验证连接
"获取 'foo/bar' 仓库中分配给我的所有开放问题并对它们进行优先级排序"