1. 前言

根据官方文档,Gemini 2.5 Pro 免费额度的速率限制为:

  • 5 RPM(每分钟请求数)
  • 100 RPD(每天请求数)

限制按“Google Cloud 项目”计。多个独立项目意味着多份独立额度。将多个项目的 API Key 组成“Key 池”,并通过网关以轮询方式分发请求,可线性提升吞吐(例如 10 个 Key≈50 RPM)。

本文对比两款常用网关(GPT-Load、gemini-balance),并给出部署与 Roo Code 接入配置,目标是构建一个稳定、可扩展的 Gemini 工作流。

2. 工作流解析

在深入部署之前,让我们先看一下这个模块化工作流的整体架构和核心组件。

2.1 整体架构

三层结构:客户端、API 网关、模型服务。核心思路是在 Roo CodeGemini 之间增加自管网关。

graph TD subgraph "客户端层" A1[Roo Code] end subgraph "接入层 (二选一)" B1[GPT-Load] B2[gemini-balance] end subgraph "模型服务层 (核心)" C[Gemini API] end A1 -- "API请求" --> B1; A1 -- "API请求" --> B2; B1 -- "负载均衡" --> C; B2 -- "负载均衡" --> C; style A1 fill:#f9f,stroke:#333,stroke-width:2px style B1 fill:#9cf,stroke:#333,stroke-width:2px style B2 fill:#9cf,stroke:#333,stroke-width:2px style C fill:#ccf,stroke:#333,stroke-width:2px

2.2 核心组件

  • 模型服务层(Gemini):性能强、额度友好;速率按项目计,需要网关做 Key 轮询与熔断控制保障吞吐与稳定。
  • 客户端层(Roo Code):VSCode AI 助手,支持自定义 OpenAI/Gemini 端点,易于接入自建网关。

2.3 网关对比(GPT-Load vs. gemini-balance)

两者都能对 Gemini API Key 做轮询分发,但有些不同:

  • GPT-Load(Go):原生支持 Gemini 与 OpenAI 格式,性能强、并发好;配置驱动,UI 基础。适合追求吞吐与多模型统一管理的用户。
  • gemini-balance(Python):OpenAI 兼容封装,内置 Web UI,Key 池管理直观,上手快。适合看重易用性与 OpenAI 生态兼容的用户。

3. 部署步骤

3.1 获取 API Keys(共同)

  1. 创建多个 Google Cloud 项目(约可建 12 个/账户)。(创建)
  2. 在 AI Studio 为每个项目单独生成 API Key。(生成)

注意:批量创建与使用可能触发风控,建议使用非关键账户。

容量与多账号建议:

  • 多账号 + 多项目:建议至少 5 个 Google 账户,每个账户≈12 个项目,共≈60 个 Keys,便于高并发“畅用”。
  • 粗略估算:吞吐上限≈Key 数×5 RPM;日配额≈Key 数×100 RPD(以 Gemini 2.5 Pro 免费档为准)。例如 60 Keys≈300 RPM、6000 RPD(理论值,受网关调度与并发上限影响)。
  • 网关策略:启用轮询分发、对配额耗尽/限流的 Key 做短期跳过与退避,定期健康检查;按网关文档开启失败重试与熔断以提升稳定性。

3.2 部署 API 网关

支持本地、VPS、或无服务器平台。参考:

  • GPT-Load :https://github.com/tbphp/gpt-load
  • gemini-balance :https://github.com/snailyp/gemini-balance

完成后记录服务 Base URL 与访问凭证(API Key/Token)。

3.3 配置 Roo Code

在 Roo Code 设置中:

  • API Key:使用网关侧凭证。
  • Endpoint/Base URL:指向网关地址(如 http://localhost:8000/v1)。

说明:

  • 使用 GPT-Load 时,可走 Gemini 原生或 OpenAI 兼容路由,按网关文档选择对应模型标识。
  • 使用 gemini-balance 时,走 OpenAI 兼容接口(/v1),模型名与网关映射保持一致。