乐于分享
好东西不私藏

调了半年 AI API,才发现钱都漏在这里——OpenRouter、LiteLLM、Cloudflare 网关怎么选

调了半年 AI API,才发现钱都漏在这里——OpenRouter、LiteLLM、Cloudflare 网关怎么选

如果你在项目里同时用了 Claude、GPT、Kimi,你大概率遇到过这几件烦心事:

  • 某个模型突然限速,整个服务卡住
  • 账单来了一看:卧槽,这个月怎么花了这么多
  • 想切换到更便宜的模型,要改一堆 API Key 和代码
  • 不同模型的 SDK 接口各不相同,维护成本越来越高

这些问题,一个LLM 网关就能全部解决。但问题是,市面上主流的三款——OpenRouter、LiteLLM、Cloudflare AI Gateway——到底有什么区别?该选哪个?

我花了两周时间实测这三款工具,今天把结果写清楚,帮你少走弯路。

TL;DR:个人项目/小团队用 OpenRouter,企业自建用 LiteLLM,Cloudflare 用户用 Cloudflare AI Gateway。

——下面是详细对比,附真实测试数据

🤔 先搞清楚:LLM 网关是什么,为什么你需要它

LLM 网关的核心逻辑很简单:在你的代码和各家 AI 服务之间加一层中间层,统一接口、统一计费、统一管理。

打个比方:你家里有三个充电口——苹果的 Lightning、安卓的 USB-C、老设备的 Micro-USB。一个万能充电器(网关),插上去,什么都能充。

对程序员来说,LLM 网关能帮你做这些事:

  • ✅统一 API 接口:换模型不用改代码
  • ✅自动降级:某个模型挂了,自动切到备用
  • ✅成本监控:实时看每个模型花了多少钱
  • ✅速率限制管理:多个 key 轮换,避免 429 错误
  • ✅请求日志:调试更方便,安全审计有据可查

📊 三款产品横向对比(实测数据)

维度OpenRouterLiteLLMCloudflare AI Gateway
核心定位模型市场 + 统一接口企业级自建网关Cloudflare 生态增强
支持模型数200+(最多)100+(可自定义扩展)主流 10+ 家
部署方式SaaS,无需部署自托管(Docker)SaaS,Cloudflare 控制台
费用按模型原价计费,无附加费开源免费(自建成本)免费额度 + 付费
延迟增加约 +50ms约 +20ms(本地部署)约 +15ms(Cloudflare 边缘)
成本监控✅ 实时看板✅ 详细日志 + Prometheus✅ 基础统计
自动降级✅ 内置 fallback✅ 完全可配置⚠️ 需手动配置
数据隐私⚠️ 请求过第三方服务器✅ 数据完全自控⚠️ 过 Cloudflare 节点
上手难度⭐ 极简,5分钟上手⭐⭐⭐ 需要配置⭐⭐ 中等
最适合个人开发者/小团队企业/数据敏感场景已用 Cloudflare 的项目

🔬 实测:同一个请求,三款网关的真实表现

我用一个真实的代码审查任务(输入 ~1200 token,输出 ~800 token)测试了三款网关,模型统一选 Claude claude-sonnet-4-5。

1. OpenRouter 实测

📋 测试结果

延迟:原生 API 1.82s → OpenRouter 1.86s(+0.04s,几乎无感)
费用:与直接调用 Anthropic API 完全相同,0 附加费
接入成本:改 3 行代码,10 分钟搞定

最大优势:API 密钥统一管理。我把 Claude、GPT、Kimi、DeepSeek 的 key 全部托管到 OpenRouter,项目代码里只有一个 key,换模型改一行参数就行。

接入代码(Python):

from openai import OpenAI

client = OpenAI(
api_key="sk-or-xxxx", # OpenRouter key
base_url="https://openrouter.ai/api/v1"
)

# 换模型只需改这一行
response = client.chat.completions.create(
model="anthropic/claude-sonnet-4-5", # 或者 "openai/gpt-4o"
messages=[{"role": "user", "content": "帮我 Review 这段代码..."}]
)

2. LiteLLM 实测

📋 测试结果

延迟:本地部署 +18ms,几乎无感
部署时间:Docker Compose,约 15 分钟
最大亮点:Prometheus + Grafana 监控,每个模型的成本精确到分

最大优势:数据完全自控。请求不经过任何第三方,适合医疗、金融、政务等数据敏感场景。另外 LiteLLM 的日志功能是三款里最强的,方便排查问题。

快速启动(Docker Compose):

version: "3"
services:
litellm:
image: ghcr.io/berriai/litellm:main-latest
ports:
- "4000:4000"
environment:
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY}
OPENAI_API_KEY: ${OPENAI_API_KEY}
command: --model claude-sonnet-4-5 --model gpt-4o --drop_params

启动后,访问http://localhost:4000即可使用,接口与 OpenAI 完全兼容。

3. Cloudflare AI Gateway 实测

📋 测试结果

延迟:+12ms(Cloudflare 全球边缘节点,国内访问稍慢)
免费额度:每天 10 万次请求,个人项目完全够用
最大亮点:Cloudflare 控制台集成,Workers/Pages 项目零配置接入

最大优势:如果你的项目已经在 Cloudflare 上(Workers、Pages、R2),接入 AI Gateway 真的是零成本——控制台打开,复制一个 URL 替换原来的 API endpoint 就行。

接入方式(改一行 URL):

# 原来
base_url = "https://api.anthropic.com"

# 改成 Cloudflare AI Gateway
base_url = "https://gateway.ai.cloudflare.com/v1/{账号ID}/{网关名}/anthropic"

💰 成本对比:一个月能省多少钱

用一个中等规模的 SaaS 项目(月调用量约 50 万次,平均 1000 token/请求)作为基准,测算三款网关带来的成本变化:

成本项不用网关OpenRouterLiteLLM(自建)Cloudflare AG
API 调用费$150/月$150(相同)$120(可配置降级到便宜模型)$140(免费额度抵扣后)
网关费用—$0约 $5(服务器费)$0(免费额度内)
故障导致的浪费约 $20/月(限速重试)约 $2(自动 fallback)约 $1(完全可控)约 $3
实际月总成本$170$152(省11%)$126(省26%)$143(省16%)

核心发现:成本节省主要不来自网关本身的价格差异,而来自两个地方:

  • 🔴自动降级:主模型限速时,自动切到便宜的备用模型,而非无脑重试
  • 🔴成本可见性:有了清晰的用量数据,你才会发现哪些调用是浪费的

🧭 选型决策树:3 个问题,30 秒定方案

问题 1:你的数据是否涉及敏感信息(医疗/金融/政务)?

  • 是 →LiteLLM 自建(数据不过第三方)
  • 否 → 继续问题 2

问题 2:你的项目是否已经部署在 Cloudflare 上?

  • 是 →Cloudflare AI Gateway(零接入成本)
  • 否 → 继续问题 3

问题 3:你是个人开发者还是有 5 人以上的技术团队?

  • 个人/小团队 →OpenRouter(5分钟上手,免费,功能够用)
  • 有团队且需要精细化管理 →LiteLLM 自建(完全可控)

⚡ 实战配置:5 分钟上手 OpenRouter(最快方案)

如果你是个人开发者,直接用 OpenRouter,按下面的步骤操作,5 分钟就能接入:

Step 1:注册并获取 API Key

  • 访问openrouter.ai,GitHub 账号直接登录
  • Keys 页面新建一个 key,设置每月最高消费上限(建议 $20)

Step 2:替换你项目里的 API 配置

# .env 文件
OPENAI_API_KEY=sk-or-你的OpenRouterKey
OPENAI_BASE_URL=https://openrouter.ai/api/v1
DEFAULT_MODEL=anthropic/claude-sonnet-4-5 # 默认用 Claude

# 备用模型(Claude 限速时自动切换)
FALLBACK_MODEL=openai/gpt-4o-mini

Step 3:加一个 fallback 配置(关键!)

response = client.chat.completions.create(
model="anthropic/claude-sonnet-4-5",
messages=messages,
extra_body={
"route": "fallback",
"models": [
"anthropic/claude-sonnet-4-5",
"openai/gpt-4o", # 第一备选
"google/gemini-2.0-flash" # 第二备选
]
}
)

加了这个配置,Claude 限速时自动切 GPT-4o,GPT-4o 也限速时切 Gemini Flash——你的服务永远不会因为单个模型的问题而中断。

🚀 进阶:Cloudflare AI Gateway 的隐藏功能——智能体临时账户

值得单独说一下:昨天 Cloudflare 刚发布了一个新功能——为 AI 智能体推出临时账户(Ephemeral Accounts)。

这个功能对做 AI Agent 的程序员非常有用。场景是这样的:

你的 AI Agent 需要代用户去调用第三方 API(比如订机票、查库存),传统做法是把用户的 OAuth token 存在你的服务器上——安全隐患很大。Cloudflare 的临时账户方案是:

  • Agent 每次执行任务时,创建一个临时身份
  • 临时身份只有执行这个任务需要的最小权限
  • 任务完成后,临时账户自动销毁

本质上是把"最小权限原则"落地到 AI Agent 场景。目前还在公测阶段,感兴趣的可以去 Cloudflare Dashboard 里找 AI Gateway → Ephemeral Accounts 申请。

📝 总结:记住这张表就够了

你的情况推荐方案上手时间
个人项目/独立开发者OpenRouter5 分钟
项目在 Cloudflare 上Cloudflare AI Gateway10 分钟
数据敏感/企业级LiteLLM 自建15-30 分钟
多模型混用,追求最高稳定性LiteLLM + OpenRouter 双层1 小时

三款工具我都在用:OpenRouter 处理个人项目的日常调用,LiteLLM 托管公司项目(数据不出服务器),Cloudflare AI Gateway 则是加在 Workers 上顺手开的监控。

不管你选哪个,今天就动手接一个——你会发现原来每个月真的在不知不觉地漏钱。

你现在用的是哪种方式调 AI API?有没有踩过限速或账单暴涨的坑?

——欢迎在评论区分享,看看大家都是怎么解决的

相关学习资料