免費串接 Gemini Pro 2.5!用 Docker 自建 API 代理整合 Roocode
2025-07-06 16:56:22 AI 智慧

Google 最近再次開放了 Gemini Pro 2.5 的免費 API,這無疑是開發者的一大福音。不過,如果擁有多組 API Key,要如何有效管理並輪流使用,同時整合到像 Roocode 這樣的開發工具中呢?
這篇文章將帶你一步步使用 gemini-balance
這個開源的 Docker 服務,打造一個專屬於你的 Gemini API 輪詢代理供應商,讓你輕鬆駕馭頂尖的 AI 模型。
一、設定 API Keys
首先,你需要從 gemini-balance
的 GitHub 專案下載原始碼。
下載完成後,將專案中的 env.example
檔案複製一份並改名為 .env
。接著,編輯 .env
檔案,填入你自己的設定:
API_KEYS
: 在這裡填入你所有的 Gemini API Key,用來做輪詢。API_KEYS=["AIzaSyxxxxxxxxxxxxxxxxxxx","AIzaSyxxxxxxxxxxxxxxxxxxx"]
ALLOWED_TOKENS
: 設定一個自訂的驗證權杖(Token),之後在 Roocode 中會用到。這個 Token 就像是你自建服務的密碼。ALLOWED_TOKENS=["sk-geminiblance"]
二、確認 docker-compose.yml
專案中已經內建了 docker-compose.yml
檔案,通常直接使用即可。如果你需要調整服務對外開放的埠號(Port),可以在這個檔案中修改 ports
的設定。
三、部署並啟動服務
將設定好的專案原始碼(包含 .env
和 docker-compose.yml
)部署到你的 VPS(虛擬專用伺服器)上。
接著,進入專案目錄,執行以下指令來背景啟動 Docker 容器:
sudo docker compose up -d
如果你習慣使用 screen
來管理終端機作業,也可以這樣操作:
screen -S geminiblance
sudo docker compose up -d
四、確認容器狀態並進入管理後台
容器建立完成後,你可以透過 docker ps
指令,看到容器的狀態顯示為 Healthy
或 Started
等運行正常的狀態。
此時,透過瀏覽器訪問你的伺服器 IP 和設定的埠號(例如 http://你的IP:8000
)。由於這是個人使用的服務,我們就先不另外設定 Nginx 反向代理和 HTTPS 加密了。
驗證令牌輸入的就是 AUTH_TOKEN=sk-123456 其中的 sk-123456
你會看到一個管理頁面,在這裡可以新增、刪除、修改你設定的 API Key。
五、在 Roocode 中設定供應商
現在,讓我們回到 Roocode,將這個自建的服務設定為新的 LLM 供應商。
- 前往「供應商」頁面,點擊「新增設定檔」。
- 名稱:輸入一個你好辨識的名稱,例如
GeminiBalance
。 - API 供應商:選擇
Google Gemini
。 - Gemini API 金鑰:輸入你在
.env
中ALLOWED_TOKENS
設定的自訂權杖,例如sk-geminiblance
。 - 使用自訂基礎 URL:勾選此選項,並在下方欄位輸入你的服務位址,例如
http://123.456.789.90:8000/
。 - 模型:在模型列表中,選擇
gemini-2.5-pro
。
六、開始使用!
設定完成後,你就可以在 Roocode 的任何功能中,選擇 GeminiBalance
這個供應商,開始調用目前開發第一梯隊的頂尖模型 Gemini Pro 2.5 了!
所有的請求都會透過你的 VPS 代理,並自動輪詢使用你設定的多組 API Key。
七、監控 API 調用狀況
回到你在 VPS 上的 gemini-balance
管理後台,你可以清楚地看到目前 API 的調用狀況、各個 Key 的使用次數等資訊,讓你對用量一目了然。
透過以上幾個簡單的步驟,你就成功為自己打造了一個穩定、高效且可控的 Gemini API 代理服務。快動手試試看吧!
八、一鍵部署腳本
最後,如果是經常需要重啟 docker ,以下還有方便的一鍵部署腳本,可先停用及刪除舊容器後,再重新建立容器
設定腳本為可執行
chmod +x deploy.sh
執行一鍵部署腳本
./deploy.sh
如果有 Windows/Linux 換行問題,使用 dos2unix 解決
# 對於 Debian / Ubuntu 系統
sudo apt-get update && sudo apt-get install dos2unix
# 對於 CentOS / RHEL 系統
sudo yum install dos2unix
# 這個命令會自動移除檔案中所有的 `\r` 字元。
dos2unix deploy.sh
一鍵部署腳本內容
deploy.sh
#!/bin/bash
# -----------------------------------------------------------------------------
# Gemini Balance & MySQL 服務一鍵重新部署腳本
#
# 這個腳本會執行以下操作:
# 1. 關閉並移除由 docker-compose.yml 定義的現有容器。
# 2. 根據 docker-compose.yml 重新建立並在背景啟動所有服務。
# 3. 顯示服務的最終運行狀態。
#
# 使用方法:
# 1. 將此腳本儲存在與 docker-compose.yml 相同的目錄下。
# 2. 授予執行權限: chmod +x redeploy.sh
# 3. 執行腳本: ./redeploy.sh
# -----------------------------------------------------------------------------
# 設定腳本在遇到任何錯誤時立即停止執行,確保腳本的健壯性。
set -e
# --- 步驟 1: 停止並銷毀舊的容器 ---
# 使用 'docker compose down' 指令來查找當前目錄的 docker-compose.yml 檔案。
# 此指令會安全地停止 (stop) 並移除 (remove) 相關的容器與網路。
# 注意:此指令預設不會刪除掛載的資料卷 (named volumes),因此你的 'mysql_data' 會被保留。
echo "🔵 步驟 1/3: 正在停止並銷毀舊的容器..."
docker compose down
# --- 步驟 2: 重新建立並在背景啟動容器 ---
# 使用 'docker compose up' 搭配 '-d' (detached) 參數來啟動服務。
# Docker Compose 會讀取設定檔,拉取必要的映像檔 (image),並在背景模式下建立和啟動新的容器。
echo "🟡 步驟 2/3: 正在根據 docker-compose.yml 重新建立並啟動服務..."
docker compose up -d
# --- 步驟 3: 顯示容器運行狀態 ---
# 執行 'docker compose ps' 來列出由這個 Compose 專案管理的容器。
# 這能讓你快速確認所有服務是否都已成功啟動並處於運行狀態。
echo "🟢 步驟 3/3: 部署完成!顯示目前容器狀態:"
docker compose ps
echo "✅ 全部完成!"