谷歌开源神器Gemini CLI
Gemini CLI 是 Google 推出的一款免费、开源的 AI 命令行助手,基于 Gemini 2.5 Pro 模型,支持百万 Token 超长上下文,每天 1000 次调用额度,集成文本、图像(Imagen)、视频(Veo)多模态能力,支持 MCP协议 连接外部工具,可以极大提升开发和自动化效率。
注意与其他 UI 形式的 Agent 不同,它是一个命令行的 Agent。
1 前置条件
- 操作系统:支持 Windows、macOS、Linux
- Node.js:需安装 20 版本或更高(如果你本地有其他 node 需求,可以使用 nvm 管理 Node 版本)
1.1 使用 nvm 安装 Node(以 macOS/Linux 为例)
安装 nvm(Node 版本管理器)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
source ~/.nvm/nvm.sh
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
source ~/.nvm/nvm.sh
1.2 安装 Node.js 22
nvm install 22
# 验证 Node.js 和 npm 版本
node -v # 应输出 v22.x.x
npm -v
nvm install 22
# 验证 Node.js 和 npm 版本
node -v # 应输出 v22.x.x
npm -v
2 安装 Gemini CLI
使用 npm( Node.js 的包管理器,用于安装、管理和共享 Node.js 的代码包)全局安装(“-g” 代表全局安装,意味着安装后该工具在系统的任何目录下都可使用) “@google/gemini-cli” 的软件包
npm install -g @google/gemini-cli
3 启动和认证
选择主题:根据提示选择喜欢的终端主题。
登录方式:
推荐【Google 账号登录】,免费额度高(60次/分钟,1000次/天)。
也可使用 API Key,通过环境变量设置:export GEMINI_API_KEY="你的_API_KEY"
浏览器认证:首次登录会自动弹出浏览器,完成 Google 账号授权。
认证过程的常见问题(如果没有遇到忽略):
网络问题,解决办法:
- 因为默认情况下终端可能没有走代理软件,因此需要复制你代理软件的命令,让终端的网络请求也走代理(命令视代理软件决定)
- 比如我本地的使用
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
- 也可以把这个放在 shell 的初始化文件中,比如我使用的是
zsh
,那么把上面这段代理命令放到~./zshrc
中,可以避免每次启动都需要输出。 某些情况下可能需要指定
GOOGLE_CLOUD_PROJECT
,解决办法:搜索 Gemini API 开启 API 调用功能;
打开 Google Cloud 平台,创建项目(可能之前已经创建过了,则不需要重新创建);
3. 将项目 ID 指定到环境变量中。
export GOOGLE_CLOUD_PROJECT="xxxx"
4 三大操作符
Gemini CLI 的三大操作符是 /
、!
、@
,分别对应会话控制、Shell 交互、文件注入功能。以下是详细解析:
4.1 / 内置功能
用于管理 CLI 的交互行为和设置。
/help
:显示所有可用命令的说明。/chat save/resume/list
:保存、恢复或列出对话历史(支持标签管理)。/memory show/refresh
:查看或重新加载GEMINI.md
中的自定义规则记忆。/theme
:切换终端主题(如暗黑/亮色模式)。/stats
:查看当前会话的 Token 消耗和时长统计。/clear
(快捷键Ctrl+L
):清空终端屏幕。适用场景:管理长对话、优化 Token 使用(如/compress
可压缩上下文节省资源)。
4.2 ! shell 命令
执行系统命令。
- 单条命令:如
!git status
或!ls -la
。 - Shell 模式:输入
!
进入临时 Shell 环境(提示符变色),再次输入!
返回对话。 - 自动化整合:例如
git diff | gemini "总结代码变更"
通过管道符结合 AI 分析。
典型用途:快速执行脚本、检查文件系统状态或启动服务。
4.3 @ 引用文件
将本地文件内容作为上下文注入对话,支持精准分析或修改:
@文件名
:注入单个文件(如@src/utils.js
优化代码)。@目录名
:递归注入目录下所有文本文件(忽略.gitignore
配置)。- 结合提问:例如
@report.md 总结这份文档的核心观点
,AI 会基于文件内容生成回答。
5 使用场景示例
5.1 文件批处理
1.创建文件
2.文件重命令
* 文件操作:“创建一个名为 src 的目录,并把所有 .js 文件移动进去。” 或 “把所有以 .txt 结尾的文件后缀名改为 .md。”
* 运行脚本:“运行测试。” 或 “启动开发服务器。”
* 使用系统工具:“查找当前目录下所有大于 1MB 的文件。” 或 “使用 pip 安装 requests 库。”
* 自动化流程:“读取 users.csv 文件中的数据,为每个用户创建一个以其名字命名的文件夹。”
5.2 解释和优化代码
* 解释代码:“解释一下 create_site 这个函数是做什么的。”
* 总结文件:“总结 main.py 这个文件的主要功能。”
* 查找代码:“get_auth_token 函数是在哪个文件里定义的?” 或 “查找所有引用了 requests 库的文件。”
* 项目探索:“列出 tests/ 目录下的所有测试文件。”
* 编写新代码:“创建一个 Python 函数,输入一个数字列表,返回它们的平均值。”
* 添加新功能:“为我的 Express 服务器添加一个处理 /api/users POST 请求的新接口。”
* 重构代码:“将这个函数从使用 Promise 改为使用 async/await。”
* 修复 Bug:“utils.js 里的代码抛出了一个 TypeError,帮我找到并修复它。”
* 编写测试:“为 billing.py 文件里的 calculate_discount 函数编写单元测试。”
5.3 阅读和总结网页内容
5.4 信息检索
Gemini CLI 内置了 Goolge Search,让 Gemini 能够访问并搜索互联网,以获取最新的信息。当我们咨询一些具有时效性的问题时能够有效解答。
5.5 MCP 扩展
Gemini CLI 可以通过 MCP Server 集成 Imagen、Veo、Lyria 等多模态模型。
6 总结
Gemini CLI 像是一个安装在电脑终端里的、拥有超强能力的 AI 开发助手。在交互形式上确实有点“新”。除了需要走代理访问,有点点慢,其他表现还是比较超预期。
コメント
コメントを投稿