自学内容网 自学内容网

Gemini CLI安装及使用

一、Gemini CLI 概述

Gemini CLI 是一个开源的 AI 代理工具,由 Google 开发,旨在将 Gemini 模型的强大功能直接集成到开发者的终端中。它支持多种任务,包括代码生成、调试、测试用例生成等,特别适合处理复杂的编程需求。

个人开发者想要免费使用 Gemini CLI,只需使用个人 Google 账户登录即可获得免费的 Gemini Code Assist 许可证。该免费许可证允许您访问 Gemini 2.5 Pro 及其庞大的 100 万个token 上下文窗口,同时提供了业界最高的限额:每分钟 60 个模型请求,每天 1000 个请求。

二、Gemini CLI 与 网页版 的区别

Gemini-cli 是谷歌推出的终端版 AI 工具,与网页版 Gemini 主要区别在于使用场景和交互方式:

区别Gemini CLIGemini 网页版
客户端类型‌命令行界面工具,需通过终端运行基于浏览器的 AI 服务,通过网页直接使用
‌功能定位‌强调代码编写、调试及自动化开发流程,支持自然语言命令直接调用代码工具暂未明确功能范围,但可能侧重问答、内容生成等场景

三、Gemini CLI 安装

3.1 GitHub地址

https://Github.com/google-gemini/gemini-cli

3.2 NodeJS下载及安装

确保已安装Node.js 18或更高版本。
在这里插入图片描述
下载完毕后,进行安装,建议不要安装到系统盘。笔者安装路径:D:\Program Files\nodejs
可通过 node -v 判断Node.js是否正确安装。

注意:
要下载最新版本,否则会遇到版本问题

3.3 修改npm默认下载位置

修改 npm 的全局安装路径可以通过以下步骤完成,确保全局包(使用-g安装的模块)和缓存文件存储到自定义路径。

3.3.1 自定义目录

在目标路径(D:\Program Files\nodejs)下创建两个文件夹,分别用于存储全局模块和缓存文件:
在这里插入图片描述

3.3.2 配置npm的全局路径和缓存路径

# 设置全局路径
npm config set prefix "D:\Program Files\nodejs\npm_global"
# 设置缓存路径
npm config set cache "D:\Program Files\nodejs\npm_cache"

3.3.3 确认npm配置是否生效

# 查看全局路径
npm config get prefix
# 查看缓存路径
npm config get cache

3.4 下载Gemini-CLI

在终端中执行以下命令:

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

或者使用以下命令安装:

npm install -g @google/gemini-cli

如果出现以下这种情况,则说明已经安装成功。
在这里插入图片描述

3.5 主题设置

在控制窗口(cmd)中,输入:gemini
在这里插入图片描述
使用Tab键对Select ThemeApply To进行切换,使用上下(↑↓)键进行选择,按Enter键,则设置选中。

3.6 生成 Gemini API 密钥

再次点击Enter后,出现Select Auth Method,授权方式分为Login with Google,Gemini API Key (AI Studio),Vertex AI三种,笔者使用Gemini API Key (AI Studio)。使用上下键选择“Gemini API Key(Ai Studio)”,点击Enter键。
在这里插入图片描述
操作此步骤,需要使用Google账号,从Google AI Studio创建密钥,否则,无法进行下一步。
在这里插入图片描述

3.7 设置环境变量

3.7.1 配置环境变量GEMINI_API_KEY

用于身份验证和授权调用 Google Gemini 模型服务。该密钥是申请 API 访问权限的凭证,通过 Google Cloud 平台创建后用于配置环境变量,确保 API 调用的合法性。 ‌

GEMINI_API_KEY='[API密钥]'

Windows电脑可通过环境变量进行配置。
在这里插入图片描述

3.7.2 配置环境变量GOOGLE_CLOUD_PROJECT

项目身份标识,代表用户在 Google Cloud 平台上的项目配置,需在 Google Cloud 控制台创建项目并启用 Vertex AI 服务。该参数关联项目权限、支付方式(如信用卡)及 API 调用配额分配。

GOOGLE_CLOUD_PROJECT='[项目ID]'


项目ID获取方式:
在这里插入图片描述

3.7.3 配置代理

由于地区限制,无法访问Google Gemini API,可通过配置代理解决此问题。

HTTP_PROXY=http://127.0.0.1:[代理端口]
HTTPS_PROXY=http://127.0.0.1:[代理端口]

代理需要配置的用户变量中。
在这里插入图片描述
代理端口获取方式:
代理端口的获取方式根据软件而定。
在这里插入图片描述
配置代理的原因:
如果不配置代码,将会出现:connect ETIMEDOUT(网络连接超时错误)

Error flushing log events: AggregateError[ETIMEDOUT]:
at internalConnectMultiple(node: net: 1134: 18)
at afterConnectMultiple(node: net: 1715: 7) {
code: 'ETIMEDOUT',
[errors]: [
Error: connect ETIMEDOUT 216.239 .36 .223: 443
at createConnectionError(node: net: 1678: 14)
at Timeout.internalConnectMultipleTimeout(node: net: 1737: 38)
at listOnTimeout(node: internal / timers: 610: 11)
at process.processTimers(node: internal / timers: 543: 7) {
errno: -4039,
code: 'ETIMEDOUT',
syscall: 'connect',
address: '216.239.36.223',
port: 443
},
Error: connect ETIMEDOUT 216.239 .32 .223: 443
at createConnectionError(node: net: 1678: 14)
at Timeout.internalConnectMultipleTimeout(node: net: 1737: 38)
at listOnTimeout(node: internal / timers: 610: 11)
at process.processTimers(node: internal / timers: 543: 7) {
errno: -4039,
code: 'ETIMEDOUT',
syscall: 'connect',
address: '216.239.32.223',
port: 443
},
Error: connect ETIMEDOUT 216.239 .38 .223: 443
at createConnectionError(node: net: 1678: 14)
at Timeout.internalConnectMultipleTimeout(node: net: 1737: 38)
at listOnTimeout(node: internal / timers: 610: 11)
at process.processTimers(node: internal / timers: 543: 7) {
errno: -4039,
code: 'ETIMEDOUT',
syscall: 'connect',
address: '216.239.38.223',
port: 443
},
Error: connect ETIMEDOUT 216.239 .34 .223: 443
at createConnectionError(node: net: 1678: 14)
at afterConnectMultiple(node: net: 1708: 16) {
errno: -4039,
code: 'ETIMEDOUT',
syscall: 'connect',
address: '216.239.34.223',
port: 443
}
]
}

macOS解决方式

注意:分环境

Base 需要写到.bash xxx文件
zsh  需要写到.zshrc 文件

也可以直接写成环境变量:
# 代理设置
export HTTP_PROXY="http://127.0.0.1:[代理端口]"
export HTTPS_PROXY="http://127.0.0.1:[代理端口]"
export ALL_PROXY="http://127.0.0.1:[代理端口]"

在这里插入图片描述

四、Gemini CLI 使用

4.1 代码生成方式

Gemini CLI 可以通过自然语言提示(prompt)生成代码,支持以下主要方式:

1.直接生成代码
用户可以在终端输入自然语言描述,Gemini CLI 会根据描述生成相应的代码片段。

2.基于上下文的生成
Gemini CLI 可以利用当前项目目录中的代码文件作为上下文,生成更符合项目需求的代码。例如,切换到项目目录后运行:

cd my-project/
gemini

CLI 会分析项目中的相关文件(如.py .js文件),生成与项目风格一致的代码。

3.多模态生成
Gemini CLI 支持多模态输入(例如PDF草图),可以根据非代码输入生成代码。

4.2 代码生成步骤

1.进入项目目录(可选):如果需要基于现有代码库生成代码,切换到项目目录:

cd D:\Software\AIs\CasRel_RE\data

目录结构如下:
在这里插入图片描述

2.输入提示:在终端中输入自然语言提示,描述所需的代码。

请分析当前目录中的数据文件,并使用casrel算法,完成关系的抽取模型,包括数据处理、模型、模型训练、模型评估以及模型预测。

Gemini CLI 将返回生成的过程片段,例如:
在这里插入图片描述
3.接受或编辑代码:生成的代码会以文本形式显示在终端中。用户可以手动将其复制到代码文件中,或者使用 CLI 的文件操作功能直接插入(需要配置)。
在这里插入图片描述
4.上下文管理:如果需要更精确的代码生成,可以通过以下方式提供更多上下文:
在项目根目录中创建.gemini/styleguide.md文件,指定代码风格(如命名规范、文档格式)。
使用.aiexclude.gitignore文件排除不相关的文件,以优化上下文。

5.生成代码结果:生成的代码质量非常高。
在这里插入图片描述

五、与 IDE 集成的代码生成

Gemini CLI 的功能也可以通过 Gemini Code Assist 在支持的 IDE(如 VS Code、JetBrains IDE、Android Studio)中使用。
在这里插入图片描述

六、限制与注意事项

非确定性:AI 生成的代码可能不完全符合预期,可能需要多次提示或手动调整。

上下文限制:尽管支持 100 万 token 上下文窗口,但大型代码库可能需要通过 .aiexclude文件优化上下文。

仅限 Python 执行:Gemini CLI 的代码执行功能(例如运行生成的代码以验证结果)仅支持 Python,且不支持文件 I/O 或非文本输出(如数据图)。

依赖外部工具:某些功能(如多模态生成)可能需要额外的工具或服务(如 Imagen、Veo)。

免费额度限制:免费用户每天有 1000 次请求限制,超出后需升级到付费计划(如 Google AI Studio 或 Vertex AI)。


原文地址:https://blog.csdn.net/mh942408056/article/details/149124403

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!