让我看看,谁还没有用上 Gemini CLI?

-
免费额度:个人 Google 账户可享受每分钟 60 次请求的免费额度,足以满足日常开发中的交互需求。
-
强大的模型支持:由 Gemini 2.5 Pro 模型驱动,拥有高达一百万 token 的上下文窗口,能够处理和理解大型代码库或复杂的文档。
-
内置工具集:集成了多种实用工具,包括使用 Google 搜索来提供有时效性的回答、执行文件系统操作、运行 shell 命令以及获取网页内容。
-
可扩展性:支持模型上下文协议(Model Context Protocol, MCP),为开发者创建自定义工具集成提供了可能。
-
终端优先设计:完全为那些以命令行作为主要工作环境的开发者量身打造。
-
开源许可:项目基于 Apache 2.0 许可证开源,保证了其透明度和社区参与度。
Gemini CLI 部署起来也很容易,用 ServBay 一键安装好 Node.js 20或者更高的版本,直接通过npm就可以安装Gemini CLI。
bash
npm install -g @google/gemini-cli
之所以推荐 ServBay ,是因为它提供了一个隔离的集成开发环境,允许开发者通过图形化界面一键部署和管理包括 Node.js、Rust 在内的多种服务。这种方式避免了使用版本管理器(如 nvm)在系统全局范围内频繁切换的复杂性,也杜绝了传统包管理器(如 Homebrew)可能带来的依赖混乱,干净又卫生。

安装完毕,便可以开始探索 Gemini CLI 的功能。
初始配置:建立与项目的连接
首次在项目中使用 Gemini CLI,需要执行几个基础命令来完成初始化和配置。
-
/init: 在项目根目录执行此命令,是与 Gemini CLI 建立联系的第一步。它会分析项目结构,为后续的交互提供上下文基础。
-
/auth: 此命令用于处理身份验证。首次执行时,它会引导用户完成 Google 账户的登录与授权流程,确保 CLI 拥有访问 AI 服务的权限。
-
/about: 查询当前 Gemini CLI 的版本、所使用的底层模型以及配置的身份验证方法。这个命令有助于了解工具的当前状态。
-
/help & /docs: 遇到疑问时,
/help提供了一个快速的命令列表。而/docs则会在浏览器中打开官方文档,供查阅更详尽的信息。
核心功能:日常工作流中的命令
熟悉基本配置后,以下这些命令将成为日常开发中的得力工具。
-
! (Shell 命令前缀) :这是一个极为实用的功能。在输入框中以
!开头,可以直接执行 shell 命令。更进一步,可以结合自然语言让 Gemini 解释或生成命令,这对于处理那些复杂或不常用的命令尤为有效。 -
/tools: 执行此命令可以列出 Gemini 当前可用的所有工具集。了解其能力边界,有助于提出更精准、更有效的问题。
-
/editor :对于需要输入大段代码或复杂问题的场景,终端的单行输入框显得捉襟见肘。通过
/editor命令配置一个外部文本编辑器(如 VS Code 或 Vim),之后使用Ctrl+X快捷键即可在熟悉的环境中编写提示,完成后保存退出,内容便会自动发送。
会话管理:保存与追溯思路
与 Gemini 的交互是一个连续的对话过程,保留这些上下文对于解决复杂问题非常有价值。
-
/chat :这是一个功能强大的会话管理命令。使用
/chat save <name>可以将当前的对话保存下来,以便日后通过/chat resume <name>继续。它还支持list和delete等操作来管理所有已保存的会话。 -
/clear:当需要开始一个全新的话题时,此命令可以清空当前的对话历史和屏幕,提供一个干净的交互界面。
实际应用场景
下面通过几个具体的例子,展示 Gemini CLI 在实际工作中的应用。
代码重构建议
假设有一个用于数据验证的函数,其逻辑虽然正确但不够简洁。
javascript
// file: validation.js
function checkUserAccess(userObject) {
if (userObject && userObject.isActive && userObject.permissions.level > 1) {
return true;
}
return false;
}
可以向 Gemini CLI 提出请求:
@validation.js Please refactor the checkUserAccess function to be more concise.
Gemini 可能会返回一个更精炼的版本:
ini
// Suggested refactoring
const checkUserAccess = (userObject) =>
!!userObject && userObject.isActive && userObject.permissions.level > 1;
生成 Git 提交信息
编写规范的 Git commit message 是一项耗时的任务。可以借助 Gemini CLI 自动化这个过程。首先,查看暂存区的代码变更:
!git diff --staged
然后,基于这些变更请求生成提交信息:
From the diff above, write a Conventional Commit message.
这将产出一条格式良好、内容准确的提交信息,大大节省了思考和撰写的时间。
解释复杂的 Shell 命令
当遇到一段从网络上复制的、不甚明了的 shell 命令时,直接运行存在风险。可以让 Gemini 先行解释。
kotlin
> Explain this command: awk -F',' '{print $1, $3}' data.csv
Gemini 会提供一个清晰的逐段解释:
vbnet
✦ Certainly. This command uses `awk` to process a CSV file. Here is a breakdown:
* `awk`: This is the command-line utility being invoked, designed for text processing.
* `-F','`: The `-F` option sets the field separator. Here, it's set to a comma (`,`), which means `awk` will treat each line as a series of comma-separated fields.
* `'{print $1, $3}'`: This is the action `awk` will perform on each line of the input. It instructs `awk` to print the first field (`$1`) followed by a space, and then the third field (`$3`).
* `data.csv`: This is the input file for the command.
In summary, the command reads the `data.csv` file, splits each line by commas, and prints the first and third columns from each line to the standard output.
结语
将 Gemini CLI 集成到开发工作流中,让你的开发工作从从容容游刃有余。使用 ServBay 搭建一个可靠的运行环境开始,到熟练运用其核心命令解决编码、代码管理和系统操作中的实际问题,开发者可以获得更流畅、更专注的工作体验。掌握这些工具,你就不会匆匆忙忙连滚带爬。