目录

Gemini CLI 实战问题全记录:部署、调用与坑点解析

总结一下Windows 11配置 Gemini CLI 开发应用的流程;

  1. **先决条件:**确保您已安装Node.js 18或更高版本。系统安装nodejs 我是用最新版本 免安装的包。

    安装完后 运行下面 看是否有版本信息输出,输出了就说明安装成功。

    E:\> node -v
    v22.17.0
    
    E:\> npm -v
    10.9.2
  2. **运行 CLI:**在终端中执行以下命令:

    npx https://github.com/google-gemini/gemini-cli

    或者使用以下命令安装:( 推荐用下面方式 持久安装 Gemini CLI。)

    npm install -g @google/gemini-cli

    安装完成后

  3. 运行 : 输入 gemini 就可以了。运行 gemini 命令,就可以看到 gemini-cli 的欢迎界面。

    image-20250705121550850

    但是国内可能需要特殊设置下。要不然调用模型访问不了。

    运行gemini后 它会问你认证方式:

    Login with Google
    Gemini API Key
    Vertex AI

    如果想首先尝下鲜,快速使用下建议使用Gemini API Key认证。

    Login with Google这种认证有点繁琐, 需要为项目设置开启 Gemini Cloud Assist 和设置Gemini Cloud Assist 所需的 IAM 角色。

    一般人选择 Gemini API Key 。GEMINI_API_KEY 你要到 google aistudio中去申请key。

    用Gemini API Key 认证,很容易遇到下面问题 。

    ✕ [API Error: exception TypeError: fetch failed sending request]

    解决方法:不要在你当前的目录下在CMD使用API配置命令 set GEMINI_API_KEY=“YOUR_GEMINI_API_KEY” 来设置,要不会报上面的错:

    你需要在你的项目根目录下 新建.env

    http_proxy=http://127.0.0.1:10089
    https_proxy=http://127.0.0.1:10089
    all_proxy=socks5://127.0.0.1:10089
    GEMINI_API_KEY="你的GEMINI_API_KEY"  #用Login with Google认证 此行要注释掉
    #GOOGLE_CLOUD_PROJECT="你的项目编号"  #用GEMINI_API_KEY认证 此行要注释掉

    使用 Login with Google 认证:

    碰到的问题:

    提示: Authentication timed out. Please try again.

    提示:Login Failed: "Ensure your Google account is not a Workspace account"

    解决方法:开启 Gemini Cloud Assist

    1. 选择获取 Gemini Cloud Assist

    2. Get Gemini Cloud Assist 对话框中,执行以下操作:

      1. 选择必需的 API 和推荐的 API 部分中的 expand_more 展开箭头。

      2. 确保已启用以下必需的 API:Gemini Cloud Assist APIGemini for Google Cloud API

      3. 推荐的 API 列表中,选择要启用的 API。

      4. 可选:选择通过共享提示和回答,帮助 Google 改进 Cloud Assist

      5. 选择免费启用 Gemini Cloud Assist

如果还不可以。可以试下下面方法

  1. 更换未绑定 Google Cloud 的账号

  2. 访问 https://console.cloud.google.com 可以查看你的项目编号,

    image-20250705114105847

http_proxy 这个国内情况你知道的是什么情况就行,不能过多讨论。 有些地方呢,可能需要开你的工具打开tun模式。 或者全局模式。一般的地方用whitelist 模型就可以。用最新的 gemini cli 。这些模式你可以都试下。

配置好后, /quit 退出之前的gemini cli , 重新运行 gemini 就可以愉快的玩耍了。

Gemini CLI 不仅是效率工具(降低认知负荷、自动化流水线),更是 Google 以 **“终端为战场”**
重构开发者生态的战略载体。其通过开源免费+多模态集成,推动 AI 从“编码助手”升级为“全栈代理” 。

image-20250705103602460

/help #查看可用的命令及其用法

/stats #查看 使用状况(令牌使用情况、缓存令牌节省量(如有)以及会话时长)。

image-20250705103718011

默认gemini-2.5-pro 每天100次。 允许您使用 Gemini 每分钟最多 60 个模型请求,每天最多 1,000 个模型请求。

可以指定模型: gemini-cli -m gemini-2.5-fas “你的问题”

gemini-2.5-pro  #默认模型, 用完额度会自动降级
gemini-2.5-fash
gemini-2.5-flash-preview-04-17
gemini-2.5-fash-lite-preview-06-17

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

斜线命令为 CLI 本身提供元级别控制。

  • /bug
    • **描述:**提交关于 Gemini CLI 的问题。默认情况下,问题会在 Gemini CLI 的 GitHub 仓库中提交。您输入的字符串/bug将成为所提交问题的标题。您可以使用文件中的设置/bug修改默认行为。bugCommand``.gemini/settings.json
  • /chat
    • **描述:**保存并恢复对话历史记录,以便以交互方式分支对话状态,或从稍后的会话恢复先前的状态。
    • 子命令:
      • save
        • **描述:**保存当前对话历史记录。您必须添加一个<tag>用于标识对话状态。
        • 用法: /chat save <tag>
      • resume
        • **描述:**从之前保存的内容恢复对话。
        • 用法: /chat resume <tag>
      • list
        • **描述:**列出可用于恢复聊天状态的标签。
  • /clear
    • **描述:**清除终端屏幕,包括 CLI 中可见的会话历史记录和回滚内容。底层会话数据(用于历史记录调用)可能会根据具体实现保留,但视觉显示会被清除。
    • 键盘快捷键:随时按Ctrl+L执行清除操作。
  • /compress
    • **描述:**用摘要替换整个聊天上下文。这可以节省用于未来任务的令牌,同时保留已发生事件的概要。
  • /editor
    • **描述:**打开一个对话框来选择支持的编辑器。
  • /help(或者**/?**)
    • **描述:**显示有关 Gemini CLI 的帮助信息,包括可用的命令及其用法。
  • /mcp
    • **描述:**列出已配置的模型上下文协议 (MCP) 服务器、它们的连接状态、服务器详细信息和可用工具。
    • 子命令:
      • desc或者descriptions
        • **描述:**显示 MCP 服务器和工具的详细描述。
      • nodesc或者nodescriptions
        • **描述:**隐藏工具描述,仅显示工具名称。
      • schema
        • **描述:**显示该工具配置参数的完整 JSON 模式。
    • 键盘快捷键:随时按Ctrl+T可在显示和隐藏工具描述之间切换。
  • /memory
    • **描述:**管理 AI 的教学上下文(从GEMINI.md文件加载的分层内存)。
    • 子命令:
      • add
        • **描述:**将以下文本添加到AI的内存中。用法:/memory add <text to remember>
      • show
        • **描述:**显示当前已从所有GEMINI.md文件加载的分层内存的完整连接内容。这可让您检查提供给 Gemini 模型的指令上下文。
      • refresh
        • 描述:GEMINI.md从配置位置(全局、项目/祖先和子目录)中找到的所有文件重新加载分层指令内存。此命令将使用最新GEMINI.md内容更新模型。
  • /restore
    • **描述:**将项目文件恢复到工具执行之前的状态。这对于撤消工具所做的文件编辑尤其有用。如果运行时没有指定工具调用 ID,它将列出可供恢复的检查点。
    • 用法: /restore [tool_call_id]
    • **注意:**仅当使用选项调用 CLI--checkpointing或通过设置进行配置时才可用。
  • /stats
    • **描述:**显示当前 Gemini CLI 会话的详细统计信息,包括令牌使用情况、缓存令牌节省量(如有)以及会话时长。注意:仅在使用缓存令牌时才会显示缓存令牌信息,这种情况在 API 密钥身份验证中出现,但目前在 OAuth 身份验证中不显示。
  • /theme
    • **描述:**打开一个对话框,让您更改 Gemini CLI 的视觉主题。
  • /auth
    • **描述:**打开一个对话框,让您更改身份验证方法。
  • /about
    • **描述:**显示版本信息。请在提交问题时提供此信息。
  • /tools
    • **描述:**显示 Gemini CLI 中当前可用的工具列表。
    • 子命令:
      • desc或者descriptions
        • **描述:**显示每个工具的详细描述,包括每个工具的名称及其提供给模型的完整描述。
      • nodesc或者nodescriptions
        • **描述:**隐藏工具描述,仅显示工具名称。
  • /quit(或者**/exit**)
    • **描述:**退出 Gemini CLI。

“100次请求”限额,通常是指通过 Google AI Studio 生成的 API 密钥来使用时,免费套餐提供的每日请求上限。

  • “请求”与“Turn”的区别:一个“请求” (Request) 是指您向 API 发送一次指令。在 gemini-cli 这样的工具中,一次“Turn”可能包含多次请求(例如,为了处理长对话或执行工具调用)。所以100次请求不完全等同于100次对话轮次,但可以看作一个大致的参考。
  • 达到上限后:是的,如果您使用的是通过 Google AI Studio 生成的 API 密钥,在达到每天100次 Gemini 2.5 Pro 请求的免费限额后,当天将无法再继续免费使用该模型,需要等到第二天的额度重置。

每天1,000次请求的慷慨额度,适用于您直接通过 gemini-cli 并使用个人 Google 账户(通过 gcloud auth application-default login)授权的情况。在这种使用方式下,您同样可以免费使用强大的 Gemini 2.5 Pro 模型。

总结一下两种免费使用方式的区别:

使用方式授权方式模型免费请求速率/日限额
gemini-cli (推荐)个人 Google 账户Gemini 2.5 Pro60次/分钟, 1,000次/天
Google AI Studio API 密钥API 密钥Gemini 2.5 Pro100次/天

gemini-cli 中切换模型非常简单,您可以通过 -m--model 参数来指定使用的模型。

  • 使用 Gemini 2.5 Pro (最新、能力最强):
    gemini-cli -m gemini-2.5-pro "你的问题"
  • 使用 Gemini 1.0 Pro (旧版):
    gemini-cli -m gemini-1.0-pro "你的问题"

如果您不指定模型,gemini-cli 可能会默认使用 gemini-1.0-pro。为了确保使用到最新、最强大的模型,建议您在执行命令时明确添加 -m gemini-2.5-pro

Gemini 2.5 Pro 最突出的特点是其拥有高达 100万个 Token 的巨大上下文窗口。最大化利用它的关键就在于善用这一特性。

  1. 处理长文档/代码:您可以将非常长的文档、报告、书籍章节或者整个代码库一次性提供给它,然后让它进行总结、分析、问答或修改。

    • 示例: cat long_report.txt | gemini-cli -m gemini-2.5-pro "总结这份报告的关键要点"
  2. 进行深度上下文对话:在一次对话中,您可以讨论非常复杂的主题,而不用担心模型“忘记”之前的谈话内容。您可以不断地提供新的信息,让模型在完整的上下文中进行推理。

  3. 视频内容理解:Gemini 2.5 Pro 具备强大的多模态能力,能够理解视频内容。您可以提供视频文件,让它总结视频内容或回答关于视频的问题(这需要 gemini-cli 支持文件上传功能)。

  4. 复杂任务的“一次性”解决:对于需要大量背景信息的任务,如“根据我提供的这份长达300页的需求文档,草拟一份项目开发计划”,Gemini 2.5 Pro 可以一次性处理,而无需您手动拆分文档。

核心建议:转变您与AI的互动方式,不要害怕提供大量信息。在处理复杂问题时,尽可能将所有相关背景、数据、代码和要求一次性交给 Gemini 2.5 Pro,这样最能发挥其长上下文窗口的威力。

​ 参考:https://github.com/google-gemini/gemini-cli/blob/main/docs

​ https://cloud.google.com/gemini/docs/cloud-assist/set-up-gemini?hl=zh-cn

相关内容