近期市面上涌现出各种 AI 编程工具,强大如 Copilot,Cursor,Cline,还有各种国产的有 Trae,通义灵码,都是非常优秀的 AI 编程工具,可以快速生成你想要的代码,这些都离不开大模型的支撑,不过用过的都知道,这些 AI 编码工具费用实在太高了,像我们这些打工仔是付不起的,本文将介绍一款能免费使用 Gemini 大模型协助我们编码的工具:Gemini Cli

什么是Gemini Cli

Gemini Cli 是一款命令行 AI 代理工具,能直接通过命令行调用 Gemini API。官方默认免费提供每分钟 60 次、每天 1000 次的请求配额,作为开发者的多功能利器,无论是辅助编码、开展研究、生成内容,还是自动化日常任务,都能帮你实现,目前这个额度完全可以满足个人每日的需求了。

Gemini Cli优势

除了免费提供调用额度之外,Gemini Cli 还拥有以下几个大优势:

  1. 超过100万token的上下文窗口内外查询和编辑大型代码库。
  2. 利用 Gemini 的多模态能力,从PDF或草图生成新应用。
  3. 自动化操作任务,例如查询拉取请求或处理复杂的代码库变基。
  4. 使用工具和MCP服务器连接新功能,包括通过 Imagen、Veo或Lyria 进行媒体生成。
  5. 借助 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-cli
gemini

安装完成之后,我们可以通过命令 gemini 来启动,首次启动选择自己喜欢的主题:

gemini theme

接下来需要进行授权登录验证,这里提供了两个选项:

gemini login

1. Google 账号登录验证

如果选择 Google 账号验证,会跳转到一个谷歌授权链接,只需要进行登录授权即可。

Google Account Login

2. 使用 Gemini API Key 验证

我们先去 "Google AI Studio" 申请一个 "API 密钥"

Google AI Studio

拿到密钥后,在当前环境变量设置或者全局设置,建议全局设置,这样打开控制台都会有效,不用每次都手动设置,下面以 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:7890
export https_proxy=http://127.0.0.1:7890

代理端口默认为 7890,根据自身情况修改

Gemini Login Success

缺失 GOOGLE_CLOUD_PROJECT 环境变量

Failed to login. Message: This account requires setting the GOOGLE_CLOUD_PROJECT env var. See
https://goo.gle/gemini-cli-auth-docs#workspace-gca

我们进入到 Google Cloud Console,右上角【选择项目】 → 【新建项目】,创建完拷贝下项目ID

Google Clount 项目 ID

然后进入左侧菜单 【API 与服务】 > 【库】,搜索 【Generative Language API】 → 点击【启用】

最后把刚刚拷贝的项目ID配置到环境变量里去就可以了,如果要永久的,则配置到 ~/.zshrc 文件里去。

export GOOGLE_CLOUD_PROJECT="oh-gemini-playground-123456"

最后运行 gemini 命令,就可以开始使用了!

GEMINI CLI

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 Configuration
This 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,并返回结果,如下:

GEMINI CLI效果

我们也可以在工作目录下进行一些文件操作,例如修改文件的后缀

Gemini文件命名

我们还可以从0搭建一个项目,例如让 Gemini 生成一个网页版计算器功能。

Gemini创建项目

Gemini 会帮我们创建对应的项目,生成代码,最后直接可以运行,效果如下:

计算器

总结

Gemini Cli 还有很多内置的功能,暂时还没有深入探索,等有空再写一篇文章来介绍下具体的功能!ヾ( ̄▽ ̄)ByeBye