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
1.2 安装 Node.js 22
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 等多模态模型。
 
0 件のコメント:
コメントを投稿