跳到正文
W Winse Blog
ai dev 1 min read

Gemini CLI 体验,实测编写脚本能力

这几天头条上刷到的铺天盖地的都是Gemini CLI的文章,那这个它到底是个啥,体验怎么样呢?程序员一个优点就是永远保持对新事物的好奇心^_^。

# Gemini CLI是什么?

官方介绍 https://github.com/google-gemini/gemini-cli ,翻译过来:

一款命令行 AI 工作流工具,可连接到您的工具,理解您的代码并加速您的工作流程。 使用 Gemini CLI,您可以: * 在 Gemini 的 1M 令牌上下文窗口内外查询和编辑大型代码库。 * 使用 Gemini 的多模态功能,从 PDF 或草图生成新的应用。 * 自动执行操作任务,例如查询拉取请求或处理复杂的 rebase。 * 使用工具和 MCP 服务器连接新功能,包括使用 Imagen、Veo 或 Lyria 生成媒体文件。 * 使用 Gemini 内置的 Google 搜索工具来完善您的查询。

Google推出的命令行AI工具,基于Gemini大模型,支持长上下文(1M token),能写代码,出图,联网查询以及自动化任务,主要是它能直接操作本地的文件和给你改代码。

# 安装(Windows)

# 安装 Node.js

下载地址:https://nodejs.org/zh-cn/download ,咱不是搞nodejs开发,就简单用用,就用文档中说的20版本,直接下载zip解压然后配置环境变量就行了。

# 安装 Gemini CLI

  • * 临时使用(放临时文件夹):

临时程序下载在 C:\Users\P16\AppData\Local\npm-cache\_npx 。

* 全局安装:

如果长期使用,安装的方式是比较好的。

C:\Users\P16\geminicli>set PATH=D:\node-v20.13.1-win-x64;%PATH% C:\Users\P16\geminicli>npm install -g @google/gemini-cli

安装版本程序目录放在nodejs:

C:\Users\P16\geminicli>where gemini D:\node-v20.13.1-win-x64\gemini D:\node-v20.13.1-win-x64\gemini.cmd C:\Users\P16\geminicli>dir D:\node-v20.13.1-win-x64\node_modules\@google  驱动器 D 中的卷是 Software  卷的序列号是 825C-7BA4  D:\node-v20.13.1-win-x64\node_modules\@google 的目录 2025/07/12  08:22    <DIR>          . 2025/07/12  08:22    <DIR>          .. 2025/07/12  08:22    <DIR>          gemini-cli                0 个文件              0 字节                3 个目录 53,489,565,696 可用字节

# 配置Gemini CLI:登录Google账号

选择Google账号登录:

跟网上文章的选择google账号就登上去不同,我这里登录失败。错误提示:需要设置 GOOGLE_CLOUD_PROJECT 环境变量。

打开错误提示的链接 https://goo.gle/gemini-cli-auth-docs#workspace-gca ,跳转到 https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/authentication.md#workspace-gca

没看出个所以然,回到刚刚登录成功的页面 https://developers.google.com/gemini-code-assist/auth/auth\_success\_gemini ,搜索 GOOGLE_CLOUD_PROJECT 。

看到这 新建项目 页面,好熟悉,这不是原来部署免费梯子python程序的google GAE嘛,里面还有原来建的两个工程。

创建好 winse-gemini-cli 项目,然后再登录,又提示项目没有添加Gemini for Google Cloud API

错误信息提示还是很准确且到位的,直接按照提示打开链接,添加api功能。

添加成功后,就可以正常使用了。

虽然不能说很厉害,但能根据基本的需求初步确定使用的工具,然后与环境情况匹配进行调整。

#  实践:给个具体任务

为了完整的记录过程,下面的都是截图了。

前面咱写了一个使用硬链接去重微信中聊天文件的小工具,就让它去计算一下去重后这个目录实际占用空间。

让它继续算,同一个硬链接只能算一次:

看代码思路和方向是对的,让它再确认其中的细节步骤:

尽管折腾来折腾去,还是没算对,但已经超越90%的初级的程序员了。在感觉自己算的不对的情况下,会去用print调试打印中间过程。在遇到问题时会回溯重试。

一起来看看它输出的文件,代码整体都是蛮好的,感觉就只差最后一哆嗦了。咱也来配合改一下,调试运行。

修改一下匹配规则:

然后反馈给gemini,让它继续完善。

它尽然找到了终极问题所在:字符编码问题导致的不匹配!不匹配中文了,直接只匹配fileID。牛的,厉害!!!

最后完美的完成了这个小小的任务。下面目录产生的文件,以及最终的成品:

对比下du和Gemini写的脚本,计算结果是对的:

# 想想

想想,这个小命令行工具和网页版Chat有什么不同呢,后端都是大量知识储备的大模型。

我们和chat聊天,它给我们建议和步骤。而跟cli,看起来我们还是聊天,这里我们把聊天内容描述为指令,它是能理解我们的指令并转换为能执行的任务去执行的。这好比chat是一个咨询顾问,而cli这一类的agent则是身旁的一个助理。

在 GitHub 上讨论

欢迎通过 GitHub Issue 留言或反馈。每条讨论都会关联到对应文章的源文件路径。

2025-07-12-Gemini-CLI-体验,实测编写脚本能力.md

Related posts