本文介绍如何使用 LiteLLM 连接 Google AI Studio(Gemini),并通过 Docker 部署一个 OpenAI / Anthropic 双协议兼容的本地代理,让 Claude Code CLI 及其他工具都能无缝接入 Gemini 模型。


一、为什么要这样做?

Google AI Studio 提供了相当慷慨的免费额度,Gemini 2.5 Pro 的能力也非常强。但大多数开发工具(包括 Claude Code、Cursor、n8n 等)默认对接的是 OpenAI 或 Anthropic 的接口格式。

LiteLLM 正是解决这个问题的神器:它作为中间代理层,统一暴露兼容接口,让所有工具都能透明地调用 Gemini。

什么是 LiteLLM

LiteLLM 是一个开源的 AI 网关,提供一个统一接口,让你可以调用 ​100 多个 LLM(大语言模型)提供商​——包括 OpenAI、Anthropic、Gemini、Bedrock、Azure 等——并使用 OpenAI 的格式。

你可以将它作为 Python SDK 直接集成到库中,或者部署 ​**AI 网关(Proxy Server)**​,作为团队或组织的集中服务使用。

为什么选择 LiteLLM

跨多个提供商管理 LLM 调用很快会变得复杂——每个模型都有不同的 SDK、认证方式、请求格式和错误类型。LiteLLM 消除了这些摩擦:

  • 统一 API —— 一个接口支持 100 多个 LLM,无需处理各个提供商的 SDK
  • OpenAI 兼容 —— 无需重写代码即可切换提供商
  • 生产级网关 —— 内置虚拟密钥、费用跟踪、使用防护、负载均衡和管理后台
  • 高性能 —— 在 1k RPS(每秒请求数)下,P95 延迟仅 8ms(基准测试
Google AI Studio (Gemini)
        ↓ API Key
   LiteLLM Proxy
        ↓ OpenAI / Anthropic 兼容接口
  Claude Code / Cursor / n8n / 任意工具

二、获取 Google AI Studio API Key

  1. 访问 aistudio.google.com
  2. 点击右上角 Get API keyCreate API key
  3. 复制保存(格式类似 AIzaSy...

三、Docker 部署(推荐)

目录结构

litellm-proxy/
├── docker-compose.yml
├── litellm_config.yaml
└── .env

.env — 存放密钥

GEMINI_API_KEY=AIzaSy你的key
LITELLM_MASTER_KEY=sk-my-local-key

litellm_config.yaml — 模型配置

model_list:
  # 映射 Anthropic 模型名 → Gemini(供 Claude Code 使用)
  - model_name: claude-3-5-sonnet-20241022
    litellm_params:
      model: gemini/gemini-2.5-pro
      api_key: os.environ/GEMINI_API_KEY
      supports_function_calling: true

  - model_name: claude-sonnet-4-5
    litellm_params:
      model: gemini/gemini-2.5-pro
      api_key: os.environ/GEMINI_API_KEY
      supports_function_calling: true

  - model_name: claude-3-haiku-20240307
    litellm_params:
      model: gemini/gemini-2.5-flash
      api_key: os.environ/GEMINI_API_KEY
      supports_function_calling: true

  # OpenAI 别名(供不支持自定义模型名的工具使用)
  - model_name: gpt-4o
    litellm_params:
      model: gemini/gemini-2.5-flash
      api_key: os.environ/GEMINI_API_KEY

litellm_settings:
  drop_params: true
  modify_params: true

general_settings:
  master_key: os.environ/LITELLM_MASTER_KEY

docker-compose.yml

version: "3.9"

services:
  litellm:
    image: ghcr.io/berriai/litellm:main-latest
    container_name: litellm-proxy
    ports:
      - "4000:4000"
    volumes:
      - ./litellm_config.yaml:/app/config.yaml
    env_file:
      - .env
    command: ["--config", "/app/config.yaml", "--port", "4000"]
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:4000/health/liveliness"]
      interval: 30s
      timeout: 10s
      retries: 3

启动命令

cd litellm-proxy
docker compose up -d

# 查看日志
docker compose logs -f

四、验证代理是否正常

# 测试 OpenAI 格式
curl http://localhost:4000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-my-local-key" \
  -d '{
    "model": "gpt-4o",
    "messages": [{"role": "user", "content": "你好"}]
  }'

# 测试 Anthropic 格式(Claude Code 使用)
curl http://localhost:4000/v1/messages \
  -H "Content-Type: application/json" \
  -H "x-api-key: sk-my-local-key" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-3-5-sonnet-20241022",
    "max_tokens": 100,
    "messages": [{"role": "user", "content": "hi"}]
  }'

五、接入 Claude Code CLI

Claude Code 支持通过环境变量自定义 API endpoint:

export ANTHROPIC_BASE_URL=http://localhost:4000
export ANTHROPIC_API_KEY=sk-my-local-key

# 启动 Claude Code
claude

永久写入 shell 配置:

echo 'export ANTHROPIC_BASE_URL=http://localhost:4000' >> ~/.zshrc
echo 'export ANTHROPIC_API_KEY=sk-my-local-key' >> ~/.zshrc
source ~/.zshrc

六、接入其他工具

工具 配置方式
Python OpenAI SDK base_url="http://localhost:4000/v1"
Cursor / Continue.dev Base URL 填 http://localhost:4000/v1
n8n / Dify / Open WebUI API Endpoint 填 http://localhost:4000/v1
任意 HTTP 工具 按 OpenAI 格式请求即可