OpenRouter 和 OmniRoute 差在哪?托管聚合与自跑网关的取舍

2026-07-27

数据截至 2026-07,价格与限额以各官网为准。

这两个名字长得像,做的事也像——都是”一个端点调很多模型”——但它们不在同一层:OpenRouter 是别人替你托管的云端聚合服务,你往账户里充钱、它替你路由和兜底;OmniRoute 是一个 MIT 协议的开源网关,装在你自己的机器上跑,它本身不卖 token,只是帮你把手上各家供应商的账号(包括不少免费档)统一成一个本地端点。选哪个,本质上是在回答一个问题:稳定性和额度这件事,你想花钱买,还是自己扛。

一个很常见的误解是把它们当成”同类产品比价格”,然后得出”OmniRoute 免费所以更划算”的结论。这个比法从一开始就错位了:OmniRoute 免费的是软件本身,模型调用的额度仍然要从各家供应商那里来——你要么用它们的免费档,要么填自己的付费 key。而 OpenRouter 收的也不是模型差价,官方明确写着不在模型价格上加价,它赚的是充值环节的手续费。两边的钱花在完全不同的地方,得拆开看。

定位差别:谁替你承担”跑起来”这件事

OpenRouter 的官方描述是提供统一 API,通过单个端点访问上百个模型,并自动处理 fallback 与选择较优的成本方案。落到使用上,你拿到一个 key,把 base_url 指向 https://openrouter.ai/api/v1,剩下的路由、重试、切换提供商都发生在它的服务器上,你看不见也不用管。官方 FAQ 里写得很直白:某个提供商报错时会自动切到下一个,这个过程对用户是透明的,目的就是让生产应用更有韧性。它还有一条叫 Zero Completion Insurance 的机制,失败的请求不计费。

OmniRoute 走的是另一条路。它是一个开源网关,仓库自述由 9router fork 而来,同时是 Go 项目 CLIProxyAPI 的 TypeScript 移植。装法很轻:

npx omniroute@latest

或者用 Docker:

docker run -p 20128:20128 diegosouzapw/omniroute

跑起来之后打开 http://localhost:20128 就是它的面板,而给各类 AI IDE / CLI 填的地址是 http://localhost:20128/v1。注意这个 localhost——这就是最根本的区别:请求先到你自己机器上的进程,再由它转发出去。进程没起、机器关机、端口被占,链路就断了,没有任何人替你兜。

所以第一层取舍很清楚:OpenRouter 把”让它一直可用”这件事外包出去了,代价是钱和一层第三方;OmniRoute 把这件事还给你,代价是你得自己运维。

计费:一边是充值扣款,一边是”软件不要钱、额度你自己找”

OpenRouter 的模式是预充值信用金,没有订阅、没有锁定,调用时按实际消耗从余额里扣。它官方声明不对提供商定价加价,模型目录里显示的价格就是你付的价格,与提供商官网一致。作为参照,事实核实时抓到的三条官方模型页价格是:GPT-5.5 每百万 token 输入 $5、输出 $30,上下文 1M;Claude Opus 4.7 输入 $5、输出 $25,上下文 1M;Gemini 2.5 Pro 输入 $1.25、输出 $10,上下文 1M。其余型号的价格会随提供商调整变动,以 openrouter.ai 的模型页实时显示为准。

它自己的收入来自充值手续费:信用卡/借记卡(Stripe)充值收 5.5%,最低 $0.80;加密货币充值收 5%,没有最低限制;企业版走发票采购,条款需要另谈。这里还有一条容易被忽略的:官方 FAQ 保留在购买满一年未使用后清零 credits 的权利。也就是说一次性充一大笔”以后慢慢用”并不划算,按用量分批充更稳妥。

如果你已经有各家的官方 key,OpenRouter 支持 BYOK(自带 key),但这块的费率两处官方页面口径不完全一致:FAQ 页是按请求次数说的——首月 100 万次 BYOK 请求免费,超出后按该模型/提供商正常价格的 5% 收平台费;Pricing 页则是按金额说的——按量付费用户每月 $25,000 等值 list price 推理额度内免手续费,超出收 5%,企业版这个额度是每月 $200,000。两个口径怎么对应没有进一步的官方说明,真要按这条算成本,务必以 openrouter.ai/docs/faq 和 openrouter.ai/pricing 当前页面为准。

OmniRoute 这边,软件本身是 MIT 协议、免费。它的价值主张是把大量供应商的入口聚到一处:仓库自述覆盖 290+ 供应商、500+ 模型,其中 90+ 家有免费档,40+ 家是长期免费;文档建议新手从 Kiro AI 起步,理由是免费、不需要 API key、能用 Claude 系模型。仓库还给了一组零成本组合示例,大意是先用 gemini-cli/gemini-3-flash-preview(每月 180K 免费额度),用完回退到 if/kimi-k2、再回退到 qw/qwen3-coder-plus

这里必须泼一盆冷水:免费额度类信息是所有信息里变动最快的一类,仓库今天写”无限免费”,供应商明天就可能改政策,这不是仓库能控制的。把这类组合当成”我这个月的成本是零”的依据,很容易在某天早上发现全线 429。真要用,请以你动手当天的仓库文档版本和各供应商官网为准,别把仓库自述当承诺。顺带一提,它的 star 数、供应商数量在不同来源口径也不一致(268+ / 290+ 都有),当量级看就行,别拿来做精确论证。

凭证放在谁手里,这是最该想清楚的一条

OpenRouter 模式下,你只持有一把 OpenRouter 的 key,各家模型的账号关系由它维护。好处是简单,代价是所有请求内容都经过一个第三方托管平台。

OmniRoute 模式下,凭证的方向反过来了:它支持四类认证——OAuth(由 OmniRoute 代管登录、不需要 API key)、web cookie、API key(付费供应商,可能带免费额度)、以及 Local(对接本机的 Ollama / LM Studio / vLLM)。这意味着你要把多家账号的凭证交给一个跑在本地的第三方开源代理去保管和使用。它是开源的、代码可审计,这是加分项;但”开源”不等于”你审过”,也不等于每个供应商的服务条款都允许你用 cookie 或非官方客户端方式接入。对于公司资产、付费账号,这一步的合规和风险要自己评估清楚,本文不背书。

值得单独说一句的是 Local 这一类:如果你本来就在跑 Ollama 或 vLLM,OmniRoute 能把本地模型和云端模型收进同一个端点,这是 OpenRouter 这种纯云端服务做不到的。想让一部分敏感数据完全不出内网、另一部分走云端大模型,这条路是通的。

模型名和路由写法,迁移时最容易踩

两边写法不一样,代码从一边挪到另一边不是改个 base_url 就完事。

OpenRouter 用带命名空间前缀的模型名,比如 anthropic/claude-opus-4.7openai/xxxgoogle/xxx。它兼容 OpenAI SDK,所以最省事的接法是直接把官方 SDK 指过去:

from openai import OpenAI

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key="<OPENROUTER_API_KEY>",
)

请求头里 HTTP-RefererX-Title 是可选的,用于 openrouter.ai 的站点排行榜统计,不传不影响调用。它还有一个 openrouter/free 的免费模型路由,会在可用的免费模型里筛选分配,官方页面显示约 26 个免费变体,多来自 Qwen、DeepSeek、Llama、Gemma 这些开源模型。限速是分档的:从没充值过的账户每天 50 次、每分钟 20 次;历史充值达到 $10 以上的账户每天放宽到 1000 次,但 20 RPM 的限制仍在。这个档位拿来跑 demo 和验证接口够用,别拿它撑线上流量。

OmniRoute 用的是供应商原生格式的模型 ID,仓库示例写的是 claude-opus-4-8gpt-5.5glm-5.1kimi-k2.5,有的带点号版本号是因为上游 API 本来就那么要求。所以同一个模型在两边可能长得不一样(一个 anthropic/claude-opus-4.7,一个 claude-opus-4-8 这种原生写法),迁移时按新平台的文档重查一遍,别照抄。它也支持把模型填成 "auto",由网关自己挑,另外提供 omniroute models --search <关键词>GET /api/models/catalog 查可用性,omniroute doctor 做自检、omniroute setup 走首次配置向导。

稳定性和运维成本,账要算全

OpenRouter 的 fallback 发生在服务端,你不用配置也不用值守。OmniRoute 也有配额感知的自动回退,但前提是你自己接了多个供应商——只接一个免费档,回退就无从谈起。另外它是个进程,你得管它的存活、端口冲突、版本升级;跑在开发机上就意味着关机即断,要长期可用得挪到常开的机器或容器里。

反过来,OmniRoute 有几件 OpenRouter 做不了的事:它面向 AI 编程工具的适配做得比较厚,仓库列出可对接 Claude Code、Codex、Cursor、OpenCode、Cline、Copilot 等,另有 Kiro、Windsurf、Antigravity 等,33 个工具的逐一配置写在 docs/reference/CLI-TOOLS.md,OpenCode 还有单独的插件包 @omniroute/opencode-provider。它还带交互式 TUI(omniroute chat)、支持 MCP / A2A,以及一套仓库称能省 15%-95% token 的压缩机制(RTK+Caveman)。压缩这类数字属于典型的”看场景”,别按上限做预算。

大陆访问:两边绕不开的现实不一样

OpenRouter 是境外托管的服务,openrouter.ai 及其 API 在中国大陆网络环境下普遍需要代理才能稳定访问,这跟它底下依赖的 OpenAI / Anthropic / Google 是一样的处境,不是它独有的问题。不要认为存在官方支持大陆直连的说法。市面上确实存在各种第三方中转,但其合规性、稳定性和数据安全没法由官方信息核实,本文不推荐也不点名任何具体渠道;企业要长期用,更稳妥的方向是评估出海合规网络方案,或者直接问能合规触达的服务商。

OmniRoute 的情况分成两半:网关本身跑在你自己机器上,这一段没有访问问题;但它转发到哪家供应商,那家的可达性就是哪家的。接的是国内可直连的服务,链路是通的;接的是 Claude、GPT 这类本身对大陆没有开放渠道的,网关并不会变出一条合规通路来——它只是把问题往上游挪了一格。这点要想清楚,别以为”本地网关”等于”绕过了访问限制”。

怎么选:按场景对号

  • 要上线、要 SLA 感、不想半夜被叫醒:选 OpenRouter。托管、自动 fallback、失败不计费,多花的是充值手续费和一层第三方,换来的是不用自己值守。
  • 个人开发、以 AI 编程工具为主、想尽量压成本:OmniRoute 更合适。它的适配面就是冲着 Claude Code / Cursor / Cline 这类工具去的,免费档拼起来能扛不少日常编码用量——前提是接受额度随时会变。
  • 本地模型要和云端模型混用:只有 OmniRoute 能做,Ollama / LM Studio / vLLM 直接进同一个端点。
  • 企业、对凭证外流和合规敏感:两边都要审。OpenRouter 是内容过第三方云;OmniRoute 是多家凭证进一个本地开源代理,还可能涉及非官方接入方式是否违反上游条款。别默认”开源=更安全”。
  • 已经有各家官方 key、只想统一账单:两边都能做。OpenRouter 走 BYOK(费率口径见上文,以官网为准),OmniRoute 直接把 key 填进面板。

也不必二选一。不少人的实际做法是本地开发挂 OmniRoute 省额度,生产链路走 OpenRouter 或厂商直连——两套配置只差一个 base_url 和模型名,切换成本很低。

几个具体的坑

  • 别把免费额度写进成本模型:无论是 OpenRouter 的 :free 档(未充值账户每天 50 次)还是 OmniRoute 聚合的免费供应商,都不适合撑生产流量,额度和限速随时会变。
  • 模型名不要跨平台照抄:OpenRouter 带命名空间前缀,OmniRoute 用供应商原生 ID,抄错了报的是 model not found,排查半天其实是格式问题。
  • credits 别一次充太多:官方保留一年未使用清零的权利,按用量分批充。
  • BYOK 费率先自己核一遍官网:FAQ 和 Pricing 两页口径不一致,涉及金额别只信二手转述。
  • OmniRoute 是进程不是服务:关机就断,要长期可用得放到常开的机器或容器里,并管好它的更新。
  • 仓库自述的数字当量级看:供应商数量、star 数、token 节省比例这类数字来源口径不一,不适合拿来做精确论证。

小结

OpenRouter 和 OmniRoute 不是同一类产品的两个牌子,一个是托管服务,一个是你自己跑的开源网关。前者的钱花在充值手续费上,换来的是稳定性和 fallback 由别人负责;后者软件免费,代价是额度要自己拼、进程要自己养、凭证要自己扛。判断标准别看”哪个便宜”,看你愿不愿意为可用性付钱。个人开发和 AI 编程工具场景,OmniRoute 的性价比确实有吸引力;一旦上生产、有真实用户,托管方案省下来的排障时间通常比手续费值钱。最后再提醒一遍,这两边的价格、额度、政策都在快速变动,动手前请以各自官网和仓库当前版本为准。

接下来看什么

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。