📋 前言

  • 🖱 博客主页:在下马农的碎碎念
  • 🤗 欢迎关注🔎点赞👍收藏⭐️留言📝
  • ✍ 本文由在下马农原创,首发于CSDN
  • 📆 首发时间:2025/09/07
  • 📅 最近更新时间:2025/09/07
  • 🤵 此马非凡马,房星本是星。向前敲瘦骨,犹自带铜声。
  • 📇 系列文章目录: 快点我呀,我是目录
  • 🙏作者水平有限,如发现错误,请留言轰炸哦!万分感谢!

一、Gemini CLI简介

Gemini CLI是一个开源的AI Agent,它拥有将Google Gemini能力直接接入你本地控制台的能力,无论是Windows cmd,Windows PowerShell,Linux终端或者是Mac命令行,都能轻松使用。以最直接的方式将控制台接入Google Gemini大模型。

最重要的是,它不需要任何key,只需要登录你的Google账号,就能直接使用,每天最多1000次免费请求,每分钟60次请求上限,对于个人开发者来说,基本上也是够用的。Gemini 2.5 Pro支持1M token的上下文,这意味着你可以保留50-75万个英文单词在你的上下文中,如果你的代码不是那么负责,它差不多能分析5万行代码,你几乎可以将一个中型项目扔给Gemini进行分析。

二、环境安装

2.1 安装Nodejs

下载链接:https://nodejs.org/zh-cn/download
在这里插入图片描述

2.2 安装geminiCLI

npm install -g @google/gemini-cli

如果提示 无法加载文件,试试:

npm install -g @google/gemini-cli

如果提示命令找不到,尝试使用 npm.cmd,我在使用PowerShell配置时使用npm,会提示 npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。 Tab补全后出现了npm.cmd,亲测也可正常使用。

安装geminiCLI的过程可能会持续一会儿,耐心等待…

安装完成后如下图所示:
在这里插入图片描述

三、运行Gemini CLI

在控制台输入gemini即可进入交互界面。推荐在项目目录下进入gemini,这样使用会更加方便。

gemini

注意:如果是使用powershell,提示找不到gemini命令的,尝试一下
gemini.cmd命令

3.1 认证登录

进入交互界面之后首先需要进行认证登录,可以选择谷歌账号登录也可以选择使用Gemini API Key
这里我选择使用Google账号进行登录。

选择谷歌账号登录认证方式后会打开浏览器以登录谷歌账号。
在这里插入图片描述
在这里插入图片描述
登录成功后,会显示这个界面:
在这里插入图片描述
然后返回命令行。看到输入框就表示认证登录成功,就可以使用了!!

提示:如果提示登录失败,请跳转到下文第二节排查解决问题

在这里插入图片描述

3.2 认证登录常见问题及解决方法

3.2.1 问题一:代理问题


第一步:打开你的梯子,确保能正常访问Google

  • 登录认证需要登录Google账号
  • 后续使用也需要访问Google的服务。因此,代理是必不可少的

第二步:在命令行中设置代理

命令行中GeminiCLI不会读取代理设置,因此我们需要在命令行中额外设置一下。这里根据你使用的环境不同,有不同的方式设置环境变量

  • 使用Windows CMD
    set http_proxy=http://127.0.0.1:10808
    set https_proxy=http://127.0.0.1:10808
    
  • 使用Windows PowerShell
    $env:http_proxy="http://127.0.0.1:10808"
    $env:https_proxy="http://127.0.0.1:10808"
    
  • 使用Linux、Macos
    export htt_proxy=http://127.0.0.1:10808
    export https_proxy=http://127.0.0.1:10808
    

3.2.2 问题二:设置GOOGLE_CLOUD_PROJECT环境变量

如果提示:Failed to login. Message: This account requires setting the GOOGLE_CLOUD_PROJECT env var. 则需要设置GOOGLE_CLOUD_PROJECT环境变量
在这里插入图片描述


第一步:打开谷歌云控制台

谷歌云控制台链接: https://console.cloud.google.com/

第二步:复制项目ID

在界面左上角找到项目选择按钮(下图①的位置),在弹出的选择项目窗口中复制一个项目ID,如果没有项目就创建一个。

在这里插入图片描述
第三步:设置GOOGLE_CLOUD_PROJECT环境变量

和上文设置代理环境变量一样,设置GOOGLE_CLOUD_PROJECT环境变量

  • 使用Windows CMD
    set GOOGLE_CLOUD_PROJECT=项目ID
    
  • 使用Windows PowerShell
    $env:GOOGLE_CLOUD_PROJECT="项目ID"
    
  • 使用Linux、Macos
    export GOOGLE_CLOUD_PROJECT=项目ID
    

第四步:启用 Gemini for Google Cloud

在搜索框搜索 Gemini for Google Cloud,并点击进去,启用Gemini for Google Cloud在这里插入图片描述
在这里插入图片描述

Tips: 如果还有其他问题无法解决,欢迎打扰咨询。

3.2.3 开始玩啦

一切准备就绪,可以使用啦。

四、GeminiCLI使用指南

4.1 四种使用方式

Gemini CLI支持多种使用方式,下边我们介绍几种常用的方式。

4.1.1 基础对话交互模式

这是最简单也是最常用的一种使用方式,即上文介绍的那样,直接在你项目目录打开命令行,输入gemini会车即可在命令行进入与Gemini交互的界面。输入/quit或者/exit可以退出。

gemini

在这里插入图片描述

4.1.2 单指令运行

直接在控制台输入以下格式的命令,即可让gemini对单词命令进行响应

gemini --prompt "your commnd text"

或者通过管道将命令传递给gemini:

echo "your command text" | gemini

4.2 gemini运行的命令参数

gemini在运行时,可以指定一些参数,在命令行中,我们可以适应gemini --help来查询它都支持哪些命令。
在这里插入图片描述

命令参数 作用 备注 默认值
-m, --model 指定使用的 Gemini 模型 / /
-p, --prompt 非交互模式下指定命令内容。
-i, --prompt-interactive 非交互模式执行给定命令后进入交互模式
-s, --sandbox 在安全的 Docker 沙盒环境中运行工具。
–sandbox-image 指定自定义 Docker 镜像用于沙盒。
-d, --debug 输出详细调试日志
-a, --all-files 递归读取当前目录下所有文件作为上下文。
–show-memory-usage 在状态栏显示内存使用情况
-y, --yolo 自动批准所有工具执行(建议启用沙盒)。
–approval-mode
–telemetry
–telemetry-target
–telemetry-otlp-endpoint
–telemetry-otlp-protocol
–telemetry-log-prompts
-c, --checkpointing
–experimental-acp 以acp模式打开智能体
–allowed-mcp-server-names 允许的mcp服务器名
–allowed-tools 不需要确认直接批准执行的工具名
-e, --extensions 使用工具的列表,如果没有指定,默认使用所有
-l, --list-extensions 列出所有可用扩展后退出
-e, --proxy gemini client代理
-e, --include-directories 添加目录到当期工作区
-e, --screen-reader 启用屏幕阅读器模式以提高可访问性
-v, --version 显示版本信息
-h, --help 显示帮助信息

4.3 交互模式快捷指令

Gemini CLI支持多个内置命令,以帮助您管理会话、自定义界面并控制其行为。这些命令以斜杠(/)、at符号(@)或感叹号(!)为前缀。

  • /bug

    • 描述: 提交关于Gemini CLI的问题。默认情况下,该问题会在Gemini CLI的GitHub存储库中提交。您在/bug后输入的字符串将成为提交的错误的标题。默认的/bug行为可以通过您.gemini/settings.json文件中的advanced.bugCommand设置进行修改。
  • /chat

    • 描述: 保存和恢复对话历史,以便交互式地分支对话状态,或从后续会话中恢复以前的状态。
    • 子命令:
      • save
        • 描述: 保存当前的对话历史。您必须添加一个来标识对话状态。
        • 使用: /chat save <tag>
        • 检查点位置的详细信息: 默认回话历史保存位于:
          • Linux/macOS: ~/.gemini/tmp/<project_hash>/
          • Windows: C:\Users\<YourUsername>\.gemini\tmp\<project_hash>\
          • 当运行 /chat list, CLI只会在这些特定目录下检测可用的tag
      • resume
        • 描述: 从之前的保存中恢复对话.
        • Usage: /chat resume <tag>
      • list
        • 描述: 列出可用于会话恢复的可用标签。
      • delete
        • 描述: 删除已保存的对话检查点。
        • Usage: /chat delete <tag>
  • /clear

    • 描述: 清除终端屏幕,包括可见的会话历史和CLI中的滚动记录。具体实现可能会保留底层会话数据(用于历史回忆),但视觉显示会被清除。
    • 快捷键: 按 Ctrl+L 进行清除操作。
  • /compress

    • 描述: 用摘要替换整个聊天上下文。这可以节省未来任务使用的令牌,同时保留对发生过的事情的高级摘要。
  • /copy

    • 描述: 将GeminiCLI最近一次输出保存到剪切板,以便分享和复用。
    • 备注: 此命令需要安装特定于平台的剪贴板工具。
      • 在Linux上,它需要xclip或xsel。通常可以通过系统的包管理器安装它们。
      • 在macOS上,它需要pbcopy,而在Windows上,它需要clip。这些工具通常在各自的系统上预安装
  • /directory (or /dir)

    • 描述: 管理工作区目录以支持多目录。
    • 子命令:
      • add:
        • 描述: 将目录添加到工作区。路径可以是绝对路径或相对于当前工作目录的相对路径。此外,还支持从家庭目录的引用。
        • 使用: /directory add <path1>,<path2>
        • 备注: 在限制性沙盒配置文件中禁用。如果您正在使用该配置文件,请在启动会话时改用
      • show:
        • 描述: 显示通过/directory add和–include-directories添加的所有目录。
        • 使用: /directory show
  • /editor

    • 描述: 打开一个对话框以选择支持的编辑器。
  • /extensions

    • 描述: 列出当前Gemini CLI会话中的所有活动扩展
  • /help (or /?)

    • 描述: 显示有关Gemini CLI的帮助信息,包括可用命令及其用法。
  • /mcp

    • 描述: 列出配置的模型上下文协议(MCP)服务器、它们的连接状态、服务器详细信息和可用工具
    • 子命令:
      • desc or descriptions:
        • 描述: 显示MCP服务器和工具的详细描述。
      • nodesc or nodescriptions:
        • 描述: 隐藏工具描述,仅显示工具名称。
      • schema:
        • 描述: 显示工具配置参数的完整JSON架构。
    • 快捷键 按 Ctrl+T 切换显示和隐藏工具描述。
  • /memory

    • 描述: 管理AI的指导上下文。
    • Sub-commands:
      • add:
        • 描述: 将以下文本添加到AI的记忆中。用法:/memory add <要记住的文本>。
      • show:
        • 描述: 显示当前从所有 GEMINI.md 文件加载的层次记忆的完整拼接内容。这使您可以检查提供给Gemini模型的指导上下文。
      • refresh:
        • 描述: 从配置的位置(全局、项目/祖先和子目录)中重新加载所有 GEMINI.md 文件的层次指导记忆。此命令使用最新的 GEMINI.md 内容更新模型。
  • /restore

    • 描述: 将项目文件恢复到工具执行前的状态。这对于撤销工具所做的文件编辑特别有用。如果在没有工具调用ID的情况下运行,将列出可恢复的检查点。
    • 使用: /restore [tool_call_id]
    • 备注: 仅在使用 --checkpointing 选项调用CLI或通过 settings 配置时可用。
  • /settings

    • 描述: 打开设置编辑器以查看和修改Gemini CLI设置
    • 细节: 此命令提供了一个用户友好的界面,用于更改控制Gemini CLI行为和外观的设置。它相当于手动编辑 .gemini/settings.json 文件,但具有验证和指导以防止错误。
    • 使用: 只需运行 /settings,编辑器将打开。您可以浏览或搜索特定设置,查看其当前值,并根据需要进行修改。某些设置的更改会立即生效,而其他设置则需要重新启动。
  • /stats

    • 描述: 显示当前Gemini CLI会话的详细统计信息,包括令牌使用情况、缓存令牌节省(如果可用)和会话持续时间。注意:仅在使用缓存令牌时显示缓存令牌信息,这在API密钥认证时发生,但在此时不适用于OAuth认证。
  • /theme

    • 描述: 打开一个对话框,让您更改Gemini CLI的视觉主题。
  • /auth

    • 描述: 打开一个对话框,让您更改身份验证方法。
  • /about

    • 描述: 显示版本信息。在提交问题时请分享此信息。
  • /tools

    • 描述: 显示当前在Gemini CLI中可用的工具列表。
    • 使用: /tools [desc]
    • 子命令:
      • desc or descriptions:
        • 描述: 显示每个工具的详细描述,包括每个工具的名称及其提供给模型的完整描述。
      • nodesc or nodescriptions:
        • 描述: 隐藏工具描述,仅显示工具名称。
  • /privacy

    • 描述: 显示隐私通知,并允许用户选择是否同意出于服务改进目的收集他们的数据。
  • /quit (or /exit)

    • 描述: 退出Gemini CLI.
  • /vim

    • 描述: 切换vim模式开或关。当启用vim模式时,输入区域支持在NORMAL和INSERT模式下使用vim风格的导航和编辑命令。
    • 功能:
      • NORMAL mode: 使用h、j、k、l进行导航;使用w、b、e按词跳转;使用0、$、^到行的开始/结束;使用G(或gg到第一行)到特定行
      • INSERT mode: 标准文本输入,按Esc返回NORMAL模式
      • Editing commands: 使用x删除,使用c更改,使用i、a、o、O插入;复杂操作如dd、cc、dw、cw
      • Count support: 用数字前缀命令(例如,3h、5w、10G)
      • Repeat last command: 使用.重复最后一次编辑操作
      • Persistent setting: Vim模式偏好设置保存在~/.gemini/settings.json中,并在会话之间恢复
    • Status indicator: 启用时,在底部显示[NORMAL]或[INSERT]
  • /init

    • 描述: 为了帮助用户轻松创建GEMINI.md文件,此命令分析当前目录并生成定制的上下文文件,使他们能够更简单地向Gemini代理提供项目特定的说明。

总结

  本文探索如何快速配置和使用 Gemini CLI,一个强大的开源 AI Agent,轻松将 Google Gemini 的能力接入你的命令行环境!无论是 Windows、Linux 还是 Mac,Gemini CLI 让你无需 API 密钥,只需登录 Google 账号,即可享受每天最多 1000 次的免费请求,完美支持中型项目的代码分析。

本文详细介绍了从安装 Node.js 到执行命令的每一步,包括常见问题的解决方案和最佳实践。你将了解如何通过简单的命令进入交互界面,利用多种使用方式和快捷指令提升工作效率。

立即点击,掌握如何优化你的开发流程,让 Gemini CLI 帮助你高效工作!

使用搭建配置过程中,有任何问题,欢迎咨询交流

在这里插入图片描述

Logo

一座年轻的奋斗人之城,一个温馨的开发者之家。在这里,代码改变人生,开发创造未来!

更多推荐