1. Windows 命令行里跑 Gemini CLI,卡住我的三个地方
Gemini CLI 是 Google 推出的命令行 AI 工具,装好之后你可以在 Windows 的 PowerShell 或终端里直接跟 Gemini 模型对话、让它读本地文件、跑脚本化任务,适合习惯在终端里干活的开发者。但真在 Windows 上装一遍你会发现,它不像npm install那么顺——Node 版本、PowerShell 执行策略、以及模型通道的 Key 配置,三处都可能让你停在半路。
我前后在几台 Windows 机器上装过,最典型的三个坑是:Node 版本低于 20.18.1 导致EBADENGINE警告、PowerShell 默认禁止运行.ps1脚本、以及装完之后不知道怎么把请求接到一个稳定的 API 通道上。前两个是环境问题,第三个是配置问题,而第三个恰恰决定了你装完之后能不能真正用起来。
这篇就按「装 → 配 → 验 → 排」的顺序走一遍,重点交付一份可复制的settings.json骨架,以及用 TaoToken 统一 Key 接入的完整步骤。你跟着敲命令就行,不需要额外查别的文档。
2. 装之前先把 TaoToken 的 Key 和通道准备好
Gemini CLI 本身只是个客户端,它需要往一个模型服务地址发请求。默认它走 Google 官方通道,但很多人在国内环境下会遇到连通性和额度问题。我自己的做法是先把 TaoToken 的 Key 拿到手,让 CLI 从一开始就指向一个统一的 API 入口,省得装完再回头改配置。
TaoToken 在这里的角色是「统一 Key + 统一 API 通道」:你注册后拿到一个 Key,所有模型请求都通过这个 Key 走同一个入口,不用为每个工具单独申请。对 Gemini CLI 来说,你只需要把它的请求地址和认证方式改成 TaoToken 的即可。
具体操作:打开官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,注册登录后进入控制台,在 API Keys 页面创建一个新 Key。创建时给它起个能认出来的名字,比如gemini-cli-win,方便以后区分。Key 只在创建时完整显示一次,复制下来先存到安全的地方。
注意:Key 不要直接写进会提交到 Git 的配置文件里。后面我会用环境变量的方式引用,避免泄露。
拿到 Key 之后,记下两个东西:一个是 Key 本身,一个是 API 基础地址https://taotoken.net/api。这两个就是后面settings.json里最关键的字段。
3. 在 Windows 上安装 Gemini CLI 并配好 settings.json
3.1 先确认 Node 和 npm 版本
Gemini CLI 依赖的底层库要求 Node 不低于 20.18.1。先在 PowerShell 里查一下:
node -v npm -v如果node -v输出的是 v20.13.x 这种,就会在安装时看到EBADENGINE警告。用 NVM for Windows 升级最省事:
nvm install 20.19.0 nvm use 20.19.0 node -v确认输出v20.19.0之后再往下走。npm 建议 10.x 以上,一般跟着 Node 一起就升上去了。
3.2 全局安装 Gemini CLI
npm install -g @google/gemini-cli装完之后先别急着运行,Windows 上大概率会撞到执行策略的报错,下一节处理。
3.3 处理 PowerShell 执行策略
首次运行gemini时,如果看到「无法加载文件 …gemini.ps1,因为在此系统上禁止运行脚本」,说明当前策略是Restricted。临时放开当前会话即可:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass这个改动只对当前窗口生效,关掉就恢复,最安全。如果你本机经常要用,可以改成当前用户级别:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -ForceRemoteSigned允许本地脚本直接跑,远程脚本仍需签名,安全性和便利性比较平衡。
3.4 settings.json 骨架:把请求接到 TaoToken
Gemini CLI 的配置放在用户目录下的.gemini文件夹里。在 PowerShell 里先建目录:
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.gemini"然后创建settings.json,路径是C:\Users\你的用户名\.gemini\settings.json。下面是一份可直接复制的骨架:
{ "apiKey": "${TAOTOKEN_API_KEY}", "baseUrl": "https://taotoken.net/api", "model": "gemini-2.5-pro", "temperature": 0.7, "maxOutputTokens": 8192, "timeout": 60000 }几个字段说明一下。apiKey用${TAOTOKEN_API_KEY}这种占位写法,让 CLI 从环境变量里读,避免明文落盘。baseUrl指向 TaoToken 的 API 入口。model按你实际要用的模型名填,temperature和maxOutputTokens按需调,timeout给到 60 秒,避免长回答被截断。
接着在 PowerShell 里设置环境变量,让当前会话能读到 Key:
$env:TAOTOKEN_API_KEY = "你刚才复制的Key"如果想让它在每次开新窗口时都生效,用系统级设置:
[Environment]::SetEnvironmentVariable("TAOTOKEN_API_KEY", "你的Key", "User")设完之后重开一个 PowerShell 窗口,用echo $env:TAOTOKEN_API_KEY确认能打印出来。
提示:如果你更习惯用命令行参数而不是配置文件,也可以在启动时用
--api-key和--base-url临时指定,但长期用还是配置文件更省事。
4. 验证配置是否真的生效
配置写完不算完,得跑一条真实请求确认通道是通的。先看帮助信息确认 CLI 本身可用:
gemini --help能打印出 Usage 和选项列表,说明安装没问题。接着发一条最简单的对话请求:
gemini "用一句话说明什么是命令行工具"如果配置正确,你会看到模型返回的文本。这一步能跑通,说明 Key、baseUrl、模型名三者都对上了。
再验证一下它能不能读本地文件,这是 Gemini CLI 比较实用的能力:
gemini "读取当前目录下的 package.json,告诉我项目名和依赖数量"成功的话它会返回文件里的具体信息。如果这一步报 401 或 403,多半是 Key 没读到或写错了;如果报连接超时,检查baseUrl是不是写成了带路径的完整地址。
想更直观地对比不同模型在同一个 Key 下的表现,可以到模型对话页面直接试:https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,把同样的 prompt 丢进去看输出差异,比在终端里反复改配置快得多。
5. 装完跑不起来?这几个错我踩过
5.1gemini不是内部或外部命令
说明全局安装的路径没进 PATH。先查全局根目录:
npm root -g把它的上一级(通常是...\npm)加到系统环境变量 Path 里,重开终端再试。另外建议在 PowerShell 里跑,CMD 对.ps1脚本支持不好。
5.2 改了执行策略还是报脚本错误
常见原因是当前窗口是用管理员权限开的,策略没落到实际用户上。换成普通权限重开一个 PowerShell,再执行一次Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass。如果还不行,试试在 VS Code 的集成终端里跑,它的策略继承关系有时更干净。
5.3 请求返回 401 / 认证失败
先确认环境变量在当前会话里真的存在:
echo $env:TAOTOKEN_API_KEY打印为空就是没设上,重设一次。如果打印正常但仍报 401,检查 Key 有没有多余空格,或者是不是在控制台里被禁用/删除了。到 API Keys 页面核对一下:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。
5.4 模型名报 not found
settings.json里的model字段必须和通道实际支持的模型名一致。写错一个字符就会报找不到模型。不确定的话,先在模型对话页面确认可用的模型名,再回填到配置里。
5.5 长回答中途断开
多半是timeout太短。把settings.json里的timeout从 60000 调到 120000 再试。同时确认maxOutputTokens没有设得过小,否则模型会在达到上限时直接截断。
6. 长期在终端里用 AI,配置一次就够
如果你只是偶尔在命令行问一句,上面这套配置已经够用了。但如果你打算把 Gemini CLI 当成日常编码助手,频繁让它读文件、改代码、跑多轮任务,那值得把 Key 和通道固定下来,避免每次开窗口都重设环境变量。
我自己的习惯是把TAOTOKEN_API_KEY设成用户级环境变量,settings.json只留占位引用,这样换机器时只要重新设一次环境变量,配置文件可以直接同步过去。另外,如果你后面要接 Claude Code 或做更重的 Agent 工作流,可以考虑用 Coding Plan 把额度集中管理:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,省得每个工具单独配一遍。
配置文件的完整字段和最新参数,以接入文档为准:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。装完之后先跑通一条gemini "..."请求,再逐步加文件读取和多轮对话,比一上来就堆复杂配置稳得多。