近期市面上涌现出各种 AI 编程工具,强大如 Copilot,Cursor,Cline,还有各种国产的有 Trae,通义灵码,都是非常优秀的 AI 编程工具,可以快速生成你想要的代码,这些都离不开大模型的支撑,不过用过的都知道,这些 AI 编码工具费用实在太高了,像我们这些打工仔是付不起的,本文将介绍一款能免费使用 Gemini 大模型协助我们编码的工具:Gemini Cli。
什么是Gemini Cli
Gemini Cli 是一款命令行 AI 代理工具,能直接通过命令行调用 Gemini API。官方默认免费提供每分钟 60 次、每天 1000 次的请求配额,作为开发者的多功能利器,无论是辅助编码、开展研究、生成内容,还是自动化日常任务,都能帮你实现,目前这个额度完全可以满足个人每日的需求了。
Gemini Cli优势
除了免费提供调用额度之外,Gemini Cli 还拥有以下几个大优势:
- 超过100万token的上下文窗口内外查询和编辑大型代码库。
- 利用 Gemini 的多模态能力,从PDF或草图生成新应用。
- 自动化操作任务,例如查询拉取请求或处理复杂的代码库变基。
- 使用工具和MCP服务器连接新功能,包括通过 Imagen、Veo或Lyria 进行媒体生成。
- 借助 Gemini 内置的 Google Search 工具为查询提供依据。
如何安装 Gemini Cli
首先访问 Gemini Cli 的 Github 仓库地址,可以通过 npm 包来安装,也可以通过 docker 来安装。我们选择使用 npm 的方式来安装。
在命令行执行以下命令
npx https://github.com/google-gemini/gemini-cli
或者先全局安装 @google/gemini-cli
包,再启动
npm install -g @google/gemini-cligemini
安装完成之后,我们可以通过命令 gemini
来启动,首次启动选择自己喜欢的主题:
接下来需要进行授权登录验证,这里提供了两个选项:
1. Google 账号登录验证
如果选择 Google 账号验证,会跳转到一个谷歌授权链接,只需要进行登录授权即可。
2. 使用 Gemini API Key 验证
我们先去 "Google AI Studio" 申请一个 "API 密钥"
拿到密钥后,在当前环境变量设置或者全局设置,建议全局设置,这样打开控制台都会有效,不用每次都手动设置,下面以 MAC 为例:
export GEMINI_API_KEY="YOUR_API_KEY"
注意:不同认证方式的限制不一样,个人 Google 账户认证可获得每分钟 60 次模型请求,每天最多 1000 次模型请求的免费额度,并且支持 Gemini 2.5 Pro 模型,拥有 100 万 token 上下文窗口。如果是通过 Gemini API 密钥认证,则每天只有 100 次使用 Gemini 2.5 Pro 模型的免费请求额度。不过,通过付费升级 Gemini API 项目,可以获得更高的速率限制,解锁 Tier 1 速率限制等更多功能。
授权常见问题
网络限制
进行谷歌账号认证的方式,由于访问 Google API 可能会有网络限制,如果没有配置代理,则会一直卡在认证中,没有响应,这时候需要配置相关代理:
Mac配置
export http_proxy=http://127.0.0.1:7890export https_proxy=http://127.0.0.1:7890
代理端口默认为 7890,根据自身情况修改
缺失 GOOGLE_CLOUD_PROJECT 环境变量
Failed to login. Message: This account requires setting the GOOGLE_CLOUD_PROJECT env var. Seehttps://goo.gle/gemini-cli-auth-docs#workspace-gca
我们进入到 Google Cloud Console,右上角【选择项目】 → 【新建项目】,创建完拷贝下项目ID
然后进入左侧菜单 【API 与服务】 > 【库】,搜索 【Generative Language API】 → 点击【启用】
最后把刚刚拷贝的项目ID配置到环境变量里去就可以了,如果要永久的,则配置到 ~/.zshrc
文件里去。
export GOOGLE_CLOUD_PROJECT="oh-gemini-playground-123456"
最后运行 gemini
命令,就可以开始使用了!
Gemini CLI 内置指令
Gemini Cli内置了一些常用的指令,下面整理了所有指令的功能:
斜杠指令(/)
指令 | 功能描述 |
---|---|
/bug |
反馈有关 Gemini CLI 的问题,输入的字符串将成为错误标题。默认在 GitHub 仓库提交问题,可通过配置修改行为。例如:/bug 命令无法正常工作 |
/chat |
管理对话记录,支持保存、恢复和列出对话状态。子命令: - save <tag> :保存当前对话记录- resume <tag> :恢复对话记录- list :列出所有保存的对话标签 |
/clear |
清除终端屏幕内容(快捷键:Ctrl+L),但保留底层会话数据 |
/compress |
将整个聊天内容替换为摘要,节省令牌使用量 |
/editor |
打开对话框选择文本编辑器 |
/help 或 /? |
显示所有可用命令及帮助信息 |
/mcp |
管理 Model Context Protocol (MCP) 服务器。子命令: - desc :显示工具详细描述- nodesc :隐藏工具描述- schema :显示工具参数的 JSON 结构 |
/memory |
管理 AI 指令上下文(从 GEMINI.md 文件加载)。子命令: - add <text> :添加文本到 AI 记忆- show :显示当前加载的所有记忆内容- refresh :重新加载所有 GEMINI.md 文件 |
/restore |
恢复项目文件到执行工具前的状态(需启用检查点功能)。可指定工具调用 ID,如未指定则列出可用检查点 |
/stats |
显示当前会话的统计信息,如令牌使用量、会话时长等 |
/theme |
打开主题选择对话框,更改 CLI 视觉主题 |
/auth |
打开认证方法设置对话框 |
/about |
显示版本信息(反馈问题时建议提供) |
/tools |
显示可用工具列表。子命令: - desc :显示工具详细描述- nodesc :隐藏工具描述 |
/quit 或 /exit |
退出 Gemini CLI |
At 指令(@)
指令 | 功能描述 |
---|---|
@<path_to_file_or_directory> |
将文件或目录内容插入当前提示。支持 git 感知过滤(自动排除 .gitignore 中的文件)。例如: - @README.md 解释这个文件 - @src/ 总结这个目录的代码 路径中的空格需用反斜杠转义(如 @My\ Documents/file.txt ) |
@ (单独使用) |
直接将查询传递给 Gemini 模型,不处理文件路径 |
Shell 指令(!)
指令 | 功能描述 |
---|---|
!<shell_command> |
在系统 shell 中执行命令并返回结果。例如: - !ls -la 查看文件列表- !git status 查看 Git 状态 |
! (单独使用) |
切换到 shell 模式,所有输入将被视为 shell 命令。再次输入 ! 退出 shell 模式 |
配置文件
我们可以通过 gemini init
来初始化配置文件,就会在当前目录下生成一个 GEMINI.md
文件,我们可以在这个文件填写项目的相关信息,包括项目的架构、项目依赖、代码风格等信息,这样 Gemini 模型就能根据这些信息进行更好的回答。
# Gemini Project ConfigurationThis file helps Gemini understand your project better. You can provide instructions, guidelines, and important details here.## Project Overview(Provide a brief description of your project, its purpose, and key technologies used.)## Coding Style & Conventions(Specify any coding style guides, formatting rules, or conventions you follow. For example, "Use Prettier for formatting," "Follow the Google Java Style Guide," etc.)## Important Files(List any critical files or directories that Gemini should be aware of, along with a brief explanation of their roles.)- `packages/admin`: The admin front-end.- `packages/api`: The back-end API.- `packages/front`: The main front-end.## Commands(List any common commands for building, testing, or running your project.)- `pnpm install`: Install dependencies.- `pnpm dev`: Start the development server.- `pnpm build`: Build the project.## General Instructions(Provide any other general instructions or preferences you have.)
实践
Gemini Cli 内置了许多常用的命令还有很多 MCP 工具,例如我们咨询他今天北京天气,他可以调用 Google Search MCP,并返回结果,如下:
我们也可以在工作目录下进行一些文件操作,例如修改文件的后缀
我们还可以从0搭建一个项目,例如让 Gemini 生成一个网页版计算器功能。
Gemini 会帮我们创建对应的项目,生成代码,最后直接可以运行,效果如下:
总结
Gemini Cli 还有很多内置的功能,暂时还没有深入探索,等有空再写一篇文章来介绍下具体的功能!ヾ( ̄▽ ̄)ByeBye