资讯动态

把 Gemini CLI 的 Base URL 改到 TaoToken,多模态输入和 shell 脚本才连得上

发布时间:2026/9/20 10:39:10 来源:尧图企业网站定制
1. 换台机器就翻车Gemini CLI 的凭证与 Base URL 之痛Gemini CLI 是 Google 推出的终端 AI Agent 工具能在命令行里用自然语言写代码、跑部署、管理代理还支持多模态输入、函数调用并且能像乐高一样嵌进 shell 脚本和 CI/CD 流水线。它适合谁适合那些已经把终端当主战场、希望把模型调用沉淀成脚本资产的开发者。但真正用起来之后你会发现一个很现实的问题这套东西在单机上跑得挺顺一旦换机器、换脚本环境、换 CI Runner就得重新折腾一遍官方账号凭证和散落在各处的模型调用配置。我踩过的坑是这样的本地~/.gemini/下有一份登录态某个 shell 脚本里又硬编码了一段凭证引用CI 里还有另一套环境变量。三处配置互不相认换台机器就要重新走一遍登录流程脚本里的 Base URL 和 Key 还得手动对齐。多代理会话场景更麻烦每个 Agent 进程读到的配置可能都不一样上下文记忆串联到一半就断了。这篇要解决的就是这一段把 Gemini CLI 的 Base URL 改到 TaoToken让多模态输入和 shell 脚本真正连得上。TaoToken 在这条链路里只负责给出 Key 和 Base URL自然语言解析、多模态理解和脚本编排仍然由 Gemini CLI 自己完成。换句话说它不替代 Gemini CLI 的任何能力只把「模型调用入口」这一层统一掉。2. 前置准备拿到 Key 和 Base URL在动手改配置之前先把两样东西准备好一把 API Key一个 Base URL。打开 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 注册账号进入控制台创建一把 Key。创建完成后先复制保存页面刷新后通常不再完整显示。Base URL 固定填https://taotoken.net/api。这里有两个细节要注意第一不要在后面加/v1Gemini CLI 会自己拼接路径第二不要带任何 UTM 参数Base URL 是给程序读的带上查询串会导致请求路径异常。注意Key 只创建一次就够用但如果你要换机器或加新环境回到 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 重新创建一把即可不要在不同环境之间复制同一把 Key 硬扛。拿到这两样之后先别急着改脚本。建议先在终端里用环境变量方式验证一次确认链路通了再往脚本和 CI 里铺。export TAOTOKEN_API_KEY你刚创建的那把Key export TAOTOKEN_BASE_URLhttps://taotoken.net/api这两行是后面所有配置的源头。脚本里原来散落的凭证引用最终都要改成读取这两个变量而不是各自维护一份。3. 可复制配置把 Gemini CLI 指向 TaoTokenGemini CLI 的配置入口通常有两层一层是 CLI 自身的环境变量一层是项目或用户级的配置文件。推荐的做法是环境变量优先配置文件兜底这样在 CI 里只需要注入环境变量就能覆盖。3.1 环境变量方式Gemini CLI 支持通过环境变量指定 API 端点和密钥。在~/.bashrc或~/.zshrc里加入export GEMINI_API_KEY$TAOTOKEN_API_KEY export GEMINI_API_BASE_URL$TAOTOKEN_BASE_URL如果你用的是 fish shell写法对应改成set -gx。加完之后source一下或者重开终端。3.2 配置文件方式Gemini CLI 的用户级配置一般放在~/.gemini/settings.json。如果你希望配置持久化、不依赖 shell 环境可以在这里写入{ apiKey: 你的Key, baseUrl: https://taotoken.net/api }注意配置文件里的 Key 是明文如果这台机器是共享环境优先用环境变量方式把 Key 放在只有当前用户可读的地方。3.3 脚本里的凭证引用改造原文里「装好 Gemini CLI → 登录官方凭证 → 在脚本/CI 里发起模型调用」这一段问题就出在第二步和第三步之间没有统一入口。改造后的脚本应该长这样#!/usr/bin/env bash set -euo pipefail # 统一从环境变量读取不再硬编码 : ${TAOTOKEN_API_KEY:?请先设置 TAOTOKEN_API_KEY} : ${TAOTOKEN_BASE_URL:?请先设置 TAOTOKEN_BASE_URL} export GEMINI_API_KEY$TAOTOKEN_API_KEY export GEMINI_API_BASE_URL$TAOTOKEN_BASE_URL # 发起一次最简单的模型调用 gemini -p 用一句话说明当前目录下有哪些文件这样改完之后脚本本身不再关心凭证从哪来只关心环境变量有没有注入。本地开发时你在 shell 里 exportCI 里用 Secret 注入多代理会话里每个 Agent 进程继承同一份环境变量配置就对齐了。3.4 CI/CD 里的注入方式以 GitHub Actions 为例把 Key 放进仓库 Secret然后在 workflow 里注入jobs: agent-task: runs-on: ubuntu-latest steps: - uses: actions/checkoutv4 - name: Run Gemini CLI task env: TAOTOKEN_API_KEY: ${{ secrets.TAOTOKEN_API_KEY }} TAOTOKEN_BASE_URL: https://taotoken.net/api run: | export GEMINI_API_KEY$TAOTOKEN_API_KEY export GEMINI_API_BASE_URL$TAOTOKEN_BASE_URL bash ./scripts/agent-task.sh注意 Base URL 直接写死成不带 UTM 的地址不要从 Secret 里读避免有人误把带查询串的地址塞进去。4. 验证请求先跑通一条最简单的脚本调用配置改完不要直接上多代理会话先用一条最小调用确认终端能正常回包。export TAOTOKEN_API_KEY你的Key export TAOTOKEN_BASE_URLhttps://taotoken.net/api export GEMINI_API_KEY$TAOTOKEN_API_KEY export GEMINI_API_BASE_URL$TAOTOKEN_BASE_URL gemini -p 输出当前时间戳和一句问候如果终端正常返回一段文本说明 Base URL 和 Key 都对上了。接下来验证多模态输入准备一张本地图片让 Gemini CLI 读取gemini -p 描述这张图片的内容 --image ./test.png多模态能回包说明请求路径没有在拼接时被破坏。最后验证脚本嵌入场景把上面那段agent-task.sh跑一遍确认脚本里读取环境变量的逻辑生效。成功的结果应该是终端回包正常、图片描述合理、脚本退出码为 0。三步都过再把这个配置复制到 CI/CD 和多代理会话场景。5. 本篇常见错排查5.1 Base URL 带了 /v1 或 UTM 参数最常见的报错是 404 或路径拼接异常。检查GEMINI_API_BASE_URL是否严格等于https://taotoken.net/api。多一个/v1、多一个?utm_source...都会让 Gemini CLI 拼出错误路径。5.2 环境变量没生效gemini命令读的是GEMINI_API_KEY和GEMINI_API_BASE_URL不是TAOTOKEN_*。如果你只 export 了TAOTOKEN_*脚本里又没有做映射CLI 会回退到默认端点。排查方法env | grep -E GEMINI|TAOTOKEN确认两组变量都在。5.3 脚本里凭证引用没改干净原文场景里凭证散落在多处改造时容易漏掉某一处。用 grep 扫一遍grep -rn api_key\|API_KEY\|base_url\|BASE_URL ./scripts ./ci把所有硬编码引用替换成环境变量读取。5.4 多代理会话配置不一致多代理场景下每个 Agent 进程可能由不同的 shell 启动。确保启动脚本统一 source 同一份环境变量文件而不是各自维护。可以在项目根目录放一个env.sh所有 Agent 启动前先source ./env.sh。5.5 CI 里 Secret 名称写错GitHub Actions 里secrets.TAOTOKEN_API_KEY必须和仓库 Secret 名称完全一致大小写敏感。写错会得到空字符串CLI 报鉴权失败。6. 换机器、加环境时的统一入口这套配置的核心思路是凭证和 Base URL 只维护一份所有环境都从同一份环境变量读取。本地开发、shell 脚本、CI/CD、多代理会话全部走TAOTOKEN_API_KEY和TAOTOKEN_BASE_URL这两个变量。需要换机器或加新环境时回到 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 重新创建一把 Key然后在新环境里注入这两个变量即可。脚本本身不用改CI 配置不用改多代理会话的启动脚本也不用改。如果你后续要做长期编码任务或 Agent 编排可以了解一下 Coding Plan 的用法如果只是想先验证模型对话效果可以直接在模型对话页面试几条请求。接入过程中遇到鉴权或路径问题优先查 API Keys 和接入文档两处大部分报错都能在那里找到对应说明。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价