下面教程主要介绍如何安装 gemini cli 并且使用第三方 api 提供的模型。
操作系统为 windows 11,安装工具是 nodejs。
1. 安装 node.js
如果使用 node 安装过 claude code cli,那么可以跳过这一步。
到官网下载 node.js 的安装包程序,点击完成安装。都默认配置,下一步完成安装即可。
安装后在终端工具中输入 node -v 和 npm -v 查询 node 和 npm 的版本,检查是否安装成功。如果成功返回版本号就表示安装成功了。
D:\Users\qozi>node -v
v20.19.5
D:\Users\qozi>npm -v
10.8.2
效果图如下:
2. 使用 npm 工具安装 gemini cli
在终端中输入下面的命令,然后等待完成安装:
npm install -g @google/gemini-cli --registry=https://registry.npmmirror.com
--registry=https://registry.npmmirror.com 这个参数是指定下载源,如果有梯子网络比较好,可以不加。
效果图如下:

使用 npm 命令时间比较久,大家耐心等待。如果喜欢研究的可以了解一下 yarn 和 pnpm。
3. 配置第三方 api 站的地址和密钥
完成上面的步骤就已经可以在终端中使用 gemini 命令使用了,会进入到认证页面。因为我们要使用第三方 api,所以没必要现在就启动,先按照下面的步骤完成第三方 api 的配置。
主要两个配置 .env 和 settings.json 两个文件。(我不太喜欢配置系统的环境变量,所以一般都是在配置文件中设置)
首先要注意这两个文件的位置:都是在当前用户目录下的 .gemini 文件夹下面。(安装过 claude code 的可以参照 .claude 文件夹,他们是在同一个层级下)
我的用户目录是 D:\Users\gemini ,对应的这两个文件的位置如下图:

如果用户目录没有 .gemini 文件夹的,就照着手动创建一下。
3.1 .env 文件的内容
#开头的是注释,这个可有可无。 GOOGLE_GEMINI_BASE_URL 填你的 api 的地址,GEMINI_API_KEY 填你的密钥。
gemini cli .env 配置
imyal api
GOOGLE_GEMINI_BASE_URL=https://hk-api.gptbest.vip
GEMINI_API_KEY=sk-xxx
GEMINI_MODEL=gemini-3-pro-preview
3.2 settings.json 文件的配置
security.auth.selectedType 指定认证类型。使用第三方 api,必须这样填。该参数默认是 undefine。
{
"security": {
"auth": {
"selectedType": "gemini-api-key"
}
}
}
settings.json 的配置只写了 api 认证需要的的配置,其他的配置还有很多,大家可以自行探索。文档最后会给出官方的文档地址和他提供的一个示例。
配置好后就可以在终端中输入 gemini 开始使用了。

上面配置后正常是可以用的,如果无法使用可以先确认一下 api 的地址和密钥是否正确,是否支持 gemini 的模型。
4. 参考文档:
https://github.com/google-gemini/gemini-cli/blob/main/docs/get-started/configuration.md
官方提供的一个完整 settings.json 例子(注意仅适用于 v0.3.0 及之后的版本且参数不是全部的):
{
"general": {
"vimMode": true,
"preferredEditor": "code",
"sessionRetention": {
"enabled": true,
"maxAge": "30d",
"maxCount": 100
}
},
"ui": {
"theme": "GitHub",
"hideBanner": true,
"hideTips": false,
"customWittyPhrases": [
"You forget a thousand things every day. Make sure this is one of 'em",
"Connecting to AGI"
]
},
"tools": {
"sandbox": "docker",
"discoveryCommand": "bin/get_tools",
"callCommand": "bin/call_tool",
"exclude": ["write_file"]
},
"mcpServers": {
"mainServer": {
"command": "bin/mcp_server.py"
},
"anotherServer": {
"command": "node",
"args": ["mcp_server.js", "--verbose"]
}
},
"telemetry": {
"enabled": true,
"target": "local",
"otlpEndpoint": "http://localhost:4317",
"logPrompts": true
},
"privacy": {
"usageStatisticsEnabled": true
},
"model": {
"name": "gemini-1.5-pro-latest",
"maxSessionTurns": 10,
"summarizeToolOutput": {
"run_shell_command": {
"tokenBudget": 100
}
}
},
"context": {
"fileName": ["CONTEXT.md", "GEMINI.md"],
"includeDirectories": ["path/to/dir1", "~/path/to/dir2", "../path/to/dir3"],
"loadFromIncludeDirectories": true,
"fileFiltering": {
"respectGitIgnore": false
}
},
"advanced": {
"excludedEnvVars": ["DEBUG", "DEBUG_MODE", "NODE_ENV"]
}
}