Skip to content

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

json
{
  "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' 仓库中分配给我的所有开放问题并对它们进行优先级排序"

总访问量
总访问人数 人次