虽然许多平台提供丰富的API福利,但大多数被闲置了:有些有效期短暂,有些注册后就被遗忘。更麻烦的是不同平台的模型命名混乱、接入方式各异。

最近发现LiteLLM这个项目深得我心——它能统一管理所有AI模型API!通过搭建代理网关,只需一个URL和Key就能调用任意模型,就像把法宝都装进乾坤袋✨

📌 解决的核心问题:

  1. 自动容错:API失效时自动冷却重试,避免手动切换
  2. 福利整合:集中管理所有API Key,告别Cherry Studio重复注册
  3. 名称统一:自定义模型组名(如gemini-2.5-flash兼容多版本)
  4. 跨工具兼容:通过统一接口接入ChatGPT/Claude等客户端

🛠 搭建实录(本地版)

因代理环境在本地,选择本地部署。服务器部署需注意规避网络限制问题

📂 目录结构

.
├── docker-compose.yml
├── .env            # 密钥管理
└── config/
    ├── config.yaml # 主配置
    ├── router.yaml # 路由策略
    └── models/     # 模型配置集

⚙️ 关键配置

1. Docker-Compose(精简版)

services:
  litellm:
    image: ghcr.io/berriai/litellm:main-stable
    volumes:
      - ./config:/app/config   # 挂载整个配置目录
    command: --config=/app/config/config.yaml
    ports:
      - "4000:4000"
    env_file:
      - .env  # 安全加载密钥

2. 配置分层设计

  • config.yaml 引用子配置,核心参数示例:
include: [models.yaml, router.yaml] # 模块化加载

litellm_settings:
  num_retries: 3     # 失败重试
  request_timeout: 10
  drop_params: true  # 清理冗余参数
  • router.yaml 路由策略(关键!)
router_settings:
  routing_strategy: latency-based-routing # 延迟优先
  fallbacks:
    - "*": ["gemini-2.5-flash"]  # 全局备用模型
  model_groups:                 # !!!模型名称标准化!!!
    - model_name: "claude-3-5-sonnet"
      model_list: # 聚合不同命名格式
        - "claude-3-5-sonnet-20241022"
        - "claude-3.5-sonnet"
  • 模型配置 每个模型单独文件,通过models.yaml加载
  • 密钥安全 .env隔离敏感信息,避免Git泄露

🔌 客户端接入实战

1. Cherry Studio

配置时注意URL补全问题: ✅ 推荐填写 http://localhost:4000http://localhost:4000/v1/

2. Claude Code

通过环境变量指向LiteLLM网关:

// claude.json
{
  "env": {
    "ANTHROPIC_BASE_URL": "http://localhost:4000",
    "ANTHROPIC_AUTH_TOKEN": "sk-2015"
  }
}

claude 切换模型:

3. CCR路由进阶

使用Claude Code Router实现动态模型分配:

{
  "Providers": [
    {
      "name": "litellm",
      "api_base_url": "http://localhost:4000/v1",
      "models": ["claude-3-7-sonnet", "gemini-2.5-pro"]
    },
    {
      "name": "deepseek",
      "api_base_url": "http://localhost:4000/v1",
      "models": ["deepseek-r1"]
    }
  ],
  "Router": {
    "default": "litellm,claude-3-7-sonnet",
    "think": "deepseek,deepseek-r1" # 指定场景路由
  }
}

启动:

端口3456,证明走的ccr。

ccr 切换模型注意语法,他需要 加入name的。

操作效果:

哈哈 这家伙的话让我不爽,结果👌。


💡 小结

这套方案显著降低了多平台API的管理成本——建议有类似需求的朋友尝试!也再次感谢提供福利的各位大佬 🙏

项目启动:docker-compose up -d 排错提示:通过日志观察路由策略

完结 祝好 🍀