Gemini CLI 实战问题全记录:部署、调用与坑点解析
1 安装 调试
总结一下Windows 11配置 Gemini CLI 开发应用的流程;
**先决条件:**确保您已安装Node.js 18或更高版本。系统安装nodejs 我是用最新版本 免安装的包。
安装完后 运行下面 看是否有版本信息输出,输出了就说明安装成功。
E:\> node -v v22.17.0 E:\> npm -v 10.9.2
**运行 CLI:**在终端中执行以下命令:
npx https://github.com/google-gemini/gemini-cli
或者使用以下命令安装:( 推荐用下面方式 持久安装 Gemini CLI。)
npm install -g @google/gemini-cli
安装完成后
运行 : 输入 gemini 就可以了。运行 gemini 命令,就可以看到 gemini-cli 的欢迎界面。
但是国内可能需要特殊设置下。要不然调用模型访问不了。
运行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
选择获取 Gemini Cloud Assist。
在 Get Gemini Cloud Assist 对话框中,执行以下操作:
选择必需的 API 和推荐的 API 部分中的 expand_more 展开箭头。
确保已启用以下必需的 API:Gemini Cloud Assist API 和 Gemini for Google Cloud API。
在推荐的 API 列表中,选择要启用的 API。
可选:选择通过共享提示和回答,帮助 Google 改进 Cloud Assist。
选择免费启用 Gemini Cloud Assist。
如果还不可以。可以试下下面方法
更换未绑定 Google Cloud 的账号
访问 https://console.cloud.google.com 可以查看你的项目编号,
1.1 网络配置问题
http_proxy 这个国内情况你知道的是什么情况就行,不能过多讨论。 有些地方呢,可能需要开你的工具打开tun模式。 或者全局模式。一般的地方用whitelist 模型就可以。用最新的 gemini cli 。这些模式你可以都试下。
配置好后, /quit 退出之前的gemini cli , 重新运行 gemini 就可以愉快的玩耍了。
Gemini CLI 不仅是效率工具(降低认知负荷、自动化流水线),更是 Google 以 **“终端为战场”**
重构开发者生态的战略载体。其通过开源免费+多模态集成,推动 AI 从“编码助手”升级为“全栈代理” 。
/help #查看可用的命令及其用法
/stats #查看 使用状况(令牌使用情况、缓存令牌节省量(如有)以及会话时长)。
默认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
2 CLI 命令
Gemini CLI 支持多个内置命令,可帮助您管理会话、自定义界面并控制其行为。这些命令以正斜杠 ( /
)、@ 符号 ( @
) 或感叹号 ( !
) 为前缀。
3 斜线命令 ( /
)
斜线命令为 CLI 本身提供元级别控制。
/bug
- **描述:**提交关于 Gemini CLI 的问题。默认情况下,问题会在 Gemini CLI 的 GitHub 仓库中提交。您输入的字符串
/bug
将成为所提交问题的标题。您可以使用文件中的设置/bug
修改默认行为。bugCommand``.gemini/settings.json
- **描述:**提交关于 Gemini CLI 的问题。默认情况下,问题会在 Gemini CLI 的 GitHub 仓库中提交。您输入的字符串
/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>
- **描述:**将以下文本添加到AI的内存中。用法:
show
:- **描述:**显示当前已从所有
GEMINI.md
文件加载的分层内存的完整连接内容。这可让您检查提供给 Gemini 模型的指令上下文。
- **描述:**显示当前已从所有
refresh
:- 描述:
GEMINI.md
从配置位置(全局、项目/祖先和子目录)中找到的所有文件重新加载分层指令内存。此命令将使用最新GEMINI.md
内容更新模型。
- 描述:
- **描述:**管理 AI 的教学上下文(从
/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。
4 关于额度使用问题
4.1 1. Gemini 2.5 Pro 的100次请求限制
“100次请求”限额,通常是指通过 Google AI Studio 生成的 API 密钥来使用时,免费套餐提供的每日请求上限。
- “请求”与“Turn”的区别:一个“请求” (Request) 是指您向 API 发送一次指令。在
gemini-cli
这样的工具中,一次“Turn”可能包含多次请求(例如,为了处理长对话或执行工具调用)。所以100次请求不完全等同于100次对话轮次,但可以看作一个大致的参考。 - 达到上限后:是的,如果您使用的是通过 Google AI Studio 生成的 API 密钥,在达到每天100次 Gemini 2.5 Pro 请求的免费限额后,当天将无法再继续免费使用该模型,需要等到第二天的额度重置。
4.2 2. 每天1,000次请求适用于哪个模型?
每天1,000次请求的慷慨额度,适用于您直接通过 gemini-cli
并使用个人 Google 账户(通过 gcloud auth application-default login
)授权的情况。在这种使用方式下,您同样可以免费使用强大的 Gemini 2.5 Pro 模型。
总结一下两种免费使用方式的区别:
使用方式 | 授权方式 | 模型 | 免费请求速率/日限额 |
---|---|---|---|
gemini-cli (推荐) | 个人 Google 账户 | Gemini 2.5 Pro | 60次/分钟, 1,000次/天 |
Google AI Studio API 密钥 | API 密钥 | Gemini 2.5 Pro | 100次/天 |
4.3 3. 如何切换模型?
在 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
。
4.4 4. 如何最大化利用 Gemini 2.5 Pro?
Gemini 2.5 Pro 最突出的特点是其拥有高达 100万个 Token 的巨大上下文窗口。最大化利用它的关键就在于善用这一特性。
处理长文档/代码:您可以将非常长的文档、报告、书籍章节或者整个代码库一次性提供给它,然后让它进行总结、分析、问答或修改。
- 示例:
cat long_report.txt | gemini-cli -m gemini-2.5-pro "总结这份报告的关键要点"
- 示例:
进行深度上下文对话:在一次对话中,您可以讨论非常复杂的主题,而不用担心模型“忘记”之前的谈话内容。您可以不断地提供新的信息,让模型在完整的上下文中进行推理。
视频内容理解:Gemini 2.5 Pro 具备强大的多模态能力,能够理解视频内容。您可以提供视频文件,让它总结视频内容或回答关于视频的问题(这需要
gemini-cli
支持文件上传功能)。复杂任务的“一次性”解决:对于需要大量背景信息的任务,如“根据我提供的这份长达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