LiteLLM

通过本机 LiteLLM 网关接入 CoffeeRouter,并在 ChatBox 中使用。

接入链路

ChatBox
    ↓ 本机 Master Key
http://127.0.0.1:4000/v1/chat/completions
    ↓ LiteLLM 模型映射
https://www.coffeerouter.ai/v1/chat/completions
    ↓ CoffeeRouter API Key
MiniMax-M2.7

LiteLLM 对客户端暴露别名 coffee-minimax-m2-7,而发送给 CoffeeRouter 的实际模型 ID 是 MiniMax-M2.7。两者用途不同,不要混用。

01. 准备并安装 LiteLLM

开始前请准备:

  • CoffeeRouter API Base:https://www.coffeerouter.ai/v1
  • CoffeeRouter 中创建的有效令牌,以及该令牌允许使用的准确模型 ID。
  • 用于保存配置的目录,例如 Windows 的 C:\litellm-coffeerouter
  • 可选:已安装最新版 ChatBox,用于完成客户端验证。

LiteLLM 1.84.0 及以上版本需要 Python 3.10 或更高版本。官方安装脚本和 uv 可以自动准备兼容的 Python 环境。

macOS、Linux 或 Windows WSL

LiteLLM 官方将下面的一键脚本列为本地和初学者的推荐安装方式:

curl -fsSL https://raw.githubusercontent.com/BerriAI/litellm/main/scripts/install.sh | sh

脚本安装 litellm[proxy] 后可能自动进入通用配置向导。本文会使用专门的 config.yaml 接入 CoffeeRouter,因此可以退出向导并继续下一节。

Windows PowerShell

原生 PowerShell 通常没有 sh,建议先安装 uv,再使用 LiteLLM 官方提供的 uv tool 安装方式:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
uv tool install "litellm[proxy]"
litellm --version

安装完成后如找不到 uvlitellm,请关闭并重新打开终端。

02. 配置 CoffeeRouter 与 LiteLLM 密钥

在配置目录中新建 .env

COFFEEROUTER_API_BASE=https://www.coffeerouter.ai/v1
COFFEEROUTER_API_KEY=sk-your-coffeerouter-key
LITELLM_MASTER_KEY=sk-your-litellm-master-key

LiteLLM 的 .env 脱敏示例

  • COFFEEROUTER_API_KEY 是在 CoffeeRouter 令牌管理页获取的上游令牌。
  • LITELLM_MASTER_KEY 是客户端连接本机 LiteLLM 时使用的独立密码,必须以 sk- 开头。
  • 两个 Key 不应相同,也不要把真实值写入 config.yaml、截图或 Git。

.env 加入项目的 .gitignore

.env

03. 配置模型映射

在同一目录新建 config.yaml

model_list:
  - model_name: coffee-minimax-m2-7
    litellm_params:
      model: openai/MiniMax-M2.7
      api_base: os.environ/COFFEEROUTER_API_BASE
      api_key: os.environ/COFFEEROUTER_API_KEY

litellm_settings:
  drop_params: true

general_settings:
  master_key: os.environ/LITELLM_MASTER_KEY

LiteLLM 的 CoffeeRouter 模型映射

配置项作用示例
model_name客户端调用 LiteLLM 时使用的别名coffee-minimax-m2-7
modelLiteLLM 发往上游的 Provider 与实际模型 IDopenai/MiniMax-M2.7
api_baseCoffeeRouter 的 OpenAI 兼容 Base URLhttps://www.coffeerouter.ai/v1
api_keyCoffeeRouter 上游令牌.env 读取

CoffeeRouter 是 OpenAI 兼容接口,因此 LiteLLM Provider 前缀使用 openai/MiniMax-M2.7coffee-minimax-m2-7 及 ChatBox 中填写的模型名都必须逐字匹配各自配置,注意大小写。

需要添加更多模型时,可以在 model_list 中继续增加条目:

  - model_name: coffee-your-model
    litellm_params:
      model: openai/your-exact-coffeerouter-model-id
      api_base: os.environ/COFFEEROUTER_API_BASE
      api_key: os.environ/COFFEEROUTER_API_KEY

04. 启动本机 LiteLLM

从包含 .envconfig.yaml 的目录启动:

cd C:\litellm-coffeerouter
litellm --config .\config.yaml --port 4000

macOS、Linux 或 WSL:

cd ~/litellm-coffeerouter
litellm --config ./config.yaml --port 4000

看到 LiteLLM 监听 http://0.0.0.0:4000 后保持终端运行。本机客户端请使用更明确的回环地址 http://127.0.0.1:4000

05. 高级选项:使用 Docker 长期运行

如果需要后台常驻、服务器部署或容器隔离,可以改用 Docker。普通本机体验可以跳过本节。

先安装并启动 Docker Desktop;Windows 建议启用 WSL 2 后端。然后在配置目录创建 docker-compose.yml

services:
  litellm:
    image: docker.litellm.ai/berriai/litellm:latest
    container_name: litellm-coffeerouter
    command:
      - "--config"
      - "/app/config.yaml"
      - "--port"
      - "4000"
    ports:
      - "4000:4000"
    volumes:
      - ./config.yaml:/app/config.yaml:ro
    env_file:
      - .env
    restart: unless-stopped

LiteLLM Docker Compose 配置

启动并检查容器:

cd C:\litellm-coffeerouter
docker compose pull
docker compose up -d --force-recreate
docker compose ps
docker compose logs --tail 50 litellm

LiteLLM Docker 启动与检查命令

LiteLLM 官方镜像拉取成功

确认 Master Key 已注入,但不要输出真实值:

docker compose exec litellm sh -c 'test -n "$LITELLM_MASTER_KEY" && echo MASTER_KEY_OK || echo MASTER_KEY_MISSING'

LiteLLM 容器重建及环境变量检查

验证阶段可以使用 latest;生产环境应固定经过验证的具体版本标签或镜像摘要,便于回滚和复现。

日志中的 Failed to fetch remote model cost map 表示远程成本表获取失败并回退本地备份。如果后续请求成功,该警告通常不影响基础聊天;如果请求也失败,请继续检查网络、代理和 TLS 证书。

06. 可选:先直连 CoffeeRouter 验证上游

如果 LiteLLM 返回上游错误,可以先绕过 LiteLLM 验证 CoffeeRouter 的 Base URL、令牌和实际模型 ID:

$baseUrl = "https://www.coffeerouter.ai/v1"
$coffeeKey = "sk-your-coffeerouter-key"
$directBody = @{
    model = "MiniMax-M2.7"
    messages = @(
        @{ role = "user"; content = "请只回复:CoffeeRouter 直连成功" }
    )
    stream = $false
} | ConvertTo-Json -Depth 10

$directResult = Invoke-RestMethod `
    -Uri "$baseUrl/chat/completions" `
    -Method Post `
    -Headers @{ Authorization = "Bearer $coffeeKey" } `
    -ContentType "application/json; charset=utf-8" `
    -Body $directBody

$directResult.choices[0].message.content

PowerShell 直连 CoffeeRouter 验证模型

测试后请清除终端中的敏感变量或关闭该终端,不要公开命令历史和截图。

07. 测试 LiteLLM 本机端点

保持 LiteLLM 运行,打开另一个 PowerShell:

$litellmKey = "sk-your-litellm-master-key"
$proxyBody = @{
    model = "coffee-minimax-m2-7"
    messages = @(
        @{ role = "user"; content = "请只回复:LiteLLM 接入成功" }
    )
    stream = $false
} | ConvertTo-Json -Depth 10

$proxyResult = Invoke-RestMethod `
    -Uri "http://127.0.0.1:4000/v1/chat/completions" `
    -Method Post `
    -Headers @{ Authorization = "Bearer $litellmKey" } `
    -ContentType "application/json; charset=utf-8" `
    -Body $proxyBody

$proxyResult.choices[0].message.content

这里必须使用 LiteLLM Master Key 和客户端别名 coffee-minimax-m2-7,不能改用 CoffeeRouter Key 或实际上游模型 ID。

08. ChatBox 接入 LiteLLM

在 ChatBox 中进入 设置 → Model Provider → Add Custom Provider,选择 OpenAI API Compatible,然后填写:

ChatBox 配置项填写内容
NameLiteLLM
API ModeOpenAI API Compatible
API Key.env 中的 LITELLM_MASTER_KEY
API Hosthttp://127.0.0.1:4000
API Path/v1/chat/completions
Modelcoffee-minimax-m2-7

ChatBox 的 LiteLLM OpenAI 兼容配置

点击 Fetch 或手动添加 coffee-minimax-m2-7,保存后回到聊天页面选择该模型并发送测试消息。

在 ChatBox 中通过 LiteLLM 调用 CoffeeRouter

ChatBox 只保存本机 LiteLLM Master Key,不应填写 CoffeeRouter 上游令牌。

常见问题

为什么 ChatBox 提示连接被拒绝?

确认 LiteLLM 进程或 Docker 容器正在运行,并检查 API Host 是否为 http://127.0.0.1:4000。如果 ChatBox 在另一台设备上,127.0.0.1 指向的是那台设备自身,不能访问当前电脑上的 LiteLLM。

为什么 LiteLLM 返回 401?

如果请求尚未到达 CoffeeRouter,检查 ChatBox 使用的是否为 LITELLM_MASTER_KEY;如果日志显示上游 401,则检查 COFFEEROUTER_API_KEY 是否完整、有效、未过期且有可用额度。

为什么提示模型不存在?

ChatBox 和本机测试请求应使用 model_name 的别名 coffee-minimax-m2-7config.yamlopenai/ 后面的 MiniMax-M2.7 必须与 CoffeeRouter 令牌允许的实际模型 ID 完全一致。

为什么修改 .env 或 config.yaml 后没有生效?

停止并重新启动 LiteLLM。本机运行时请从配置目录启动;Docker 用户执行 docker compose up -d --force-recreate,再查看容器日志。

可以把 LiteLLM 提供给局域网或公网使用吗?

可以,但不属于本文的本机快速接入范围。请先使用独立 Master Key、限制监听和防火墙规则,并通过 HTTPS 反向代理提供服务;不要直接把未加固的 4000 端口暴露到公网。

安全提示

  • 为 LiteLLM 创建独立 CoffeeRouter 令牌,方便单独撤销和更换。
  • .env、终端历史和 LiteLLM 日志都可能包含凭证或请求信息,不要上传或分享。
  • 不要让客户端直接获得 CoffeeRouter 上游令牌;客户端只使用 LiteLLM Master Key。
  • 如果任一 Key 疑似泄露,请先在对应系统中撤销,再更新 .env 并重启 LiteLLM。

官方资料