Skip to content

gemini-cli

An open-source AI agent that brings the power of Gemini directly into your terminal.

前置条件

  • Node.js 18 版本以上已经安装

安装

选择进行全局安装:

sh
npm install -g @google/gemini-cli

在 Windows 11 上的安装位置:C:\Users\Lenovo\AppData\Roaming\npm

运行

sh
gemini

主题

选择主题。

登录验证

报错,会让你选择验证方式:

配置

选择第二种登录方式,需要设置 GEMINI_API_KEY 的环境变量。在 PowerShell 的用户配置文件内添加环境变量:

ps1
# Enviromental Variables
$env:GEMINI_API_KEY="YOUR_GEMINI_API_KEY"

重新运行,仍然报错,用户地域不支持 API 调用:

sh
 [API Error: User location is not supported for the API use. (Status: FAILED_PRECONDITION)]

需要配置代理,继续在 PowerShell 的用户配置文件内添加环境变量:

ps1
$env:HTTPS_PROXY="http://127.0.0.1:7890/"
$env:HTTP_PROXY="http://127.0.0.1:7890/"
$env:ALL_PROXY="socks5://127.0.0.1:7890/"

尝试在对话框内输入信息,仍然返回报错信息:

sh
 [API Error: exception TypeError: fetch failed sending request]

设置代理之后,会出现一个不好的副作用,就是往 GitHub 远程仓库的代码无法正常推送了。查询一下什么是 127.0.0.1 地址:

127.0.0.1 是一个非常著名的 回送地址,通常用于网络测试和本地服务运行。它指向本地计算机,允许程序与自己进行通信。以下是关于 127.0.0.1 的一些要点:

  • 回送地址:它是本机的 IP 地址,主要用于测试和进程间通信。
  • 连接问题:如果遇到“127.0.0.1 拒绝连接”的问题,可能是因为它被解析为 IPv6 地址而不是 IPv4 地址。
  • 使用场景:系统管理员和开发人员常用它来测试应用程序。
  • 重要性:在网络中,127.0.0.1 是一个保留地址,确保本地服务的正常运行。

为什么要设定使用 回送地址 配置代理呢?我不明白。只是如此设定不但无法解决当前问题,而且引入新的问题,只好取消上述配置代理的相关代码。

网络上的讨论贴里,有人建议把 npm 的安装路径添加进系统环境变量,默认是在用户环境变量里面。添加后仍然存在同样的报错。

尝试

https://oauth2.googleapis.com/

选择将 https://oauth2.googleapis.com/ 这个地址的登录位置更改为美国?同样报错:

sh
 [API Error: User location is not supported for the API use. (Status: FAILED_PRECONDITION)]

解决方案

https://generativelanguage.googleapis.com/

选择将 https://generativelanguage.googleapis.com/ 这个地址的登录位置更改为美国?成功返回信息!

最近更新