从 OmniRoute 到 AIRoute:一个面向国内合规增强的 AI 网关是如何诞生的
本文将从海外热门项目 OmniRoute 讲起,分析国内 AI 网关生态的不足,最后引出一个专门为国内场景打造的开源项目 —— AIRoute。重点介绍它能做什么、能解决哪些实际问题。演示地址:
https://jaccen.github.io/AIRoute/
一、OmniRoute 是什么?
如果你在 GitHub 上搜索 “AI Gateway”,OmniRoute 绝对是绕不开的一个项目。它是一个基于 Next.js 构建的本地 AI 路由网关,提供一个统一的 OpenAI 兼容端点(/v1/*),可以将流量智能路由到多个上游 Provider。
OmniRoute 的核心能力:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
简单来说,OmniRoute 的定位是 “一个端点连接所有 AI 工具和 Provider”。它的 Combo 机制(模型链式路由)是一大亮点——当一个 Provider 配额耗尽或故障时,会自动滑动到下一个模型,实现"永不断线"。
在海外开发者社区,OmniRoute 已经成为 Claude Code、Codex、Cursor、Cline、Copilot 等编码工具的首选 AI 网关。
二、国内 AI 网关生态的现状与不足
国内的 LLM 网关生态也有自己的主力选手:One-API / New-API。
- One-API
(songquanpeng/one-api):Go 语言编写,支持 30+ 家国内外 Provider,统一 OpenAI 协议,天然支持国产模型(通义、文心、讯飞、智谱、Kimi、豆包、DeepSeek 等),是国内做"多供应商 + 计费 + 团队额度"的首选。 - New-API
:One-API 的社区增强版,增加了 Midjourney、Suno、Rerank 等多模态支持。
但深入使用后,你会发现国内方案存在几个明显的短板:
1. 路由能力薄弱
One-API/New-API 本质上是 “中转 + 计费” 工具,路由策略基本只有简单的权重轮询和失败切换。缺少 OmniRoute 那样的 17 种路由策略、Auto-Combo 引擎、成本优化路由、上下文感知路由等高级能力。
2. 缺乏 Token 压缩能力
OmniRoute 的 RTK + Caveman 压缩可以节省 15-95% 的 Token 消耗,这对成本敏感的场景(尤其是工具调用密集的编码 Agent)价值巨大。国内方案完全没有这方面的布局。
3. 合规能力缺失
国内企业在使用 AI 模型时,面临独特的合规要求:
- 数据出境
:涉密数据不能随意发送到海外 Provider - 内容安全
:需要符合国内的内容审核要求 - PII 脱敏
:个人信息保护法(PIPL)要求对敏感信息进行脱敏 - 审计追踪
:金融、政务等场景需要完整的调用审计链
OmniRoute 虽然有 Guardrails,但它是面向西方合规体系设计的(GDPR 等),对国内的《数据安全法》《个人信息保护法》《网络安全法》等没有针对性适配。
4. 国内 Provider 集成深度不够
OmniRoute 虽然声称支持 237+ Provider,但对国内 Provider(DeepSeek、通义千问、文心一言、智谱等)的集成深度远不如 One-API。国内 Provider 的 API 格式、认证方式、特殊参数都有本土特色,需要专门适配。
5. 部署方式缺乏本土化支持OmniRoute 的部署方式主要是 Docker / 本地 Node.js,对国内常用的 ACK(阿里云容器服务)、CCE(华为云容器引擎)、Fly.io 等部署方式缺乏原生支持。
三、AIRoute:面向国内合规增强的 AI 网关
正是基于以上痛点,AIRoute 项目应运而生。
AIRoute 的定位:基于 OmniRoute v3.8.46 Fork,专为国内合规场景增强的 AI 网关。
它保留了 OmniRoute 强大的路由引擎和多 Provider 支持,同时针对国内生态做了深度增强。
四、AIRoute 能做什么?—— 能力全景
4.1 智能路由:让请求自动找到最优路径
AIRoute 继承了 OmniRoute 的 17 种路由策略,覆盖了从简单到复杂的各种路由场景:
|
|
|
|---|---|
priority |
|
weighted |
|
cost-optimized |
|
context-relay |
|
fusion |
|
lkgp |
|
auto |
|
实际场景:你配置了 DeepSeek + 通义千问 + 文心一言三个 Provider,选择 cost-optimized 策略。AIRoute 会实时对比三家的价格,自动把请求发给当前最便宜的那家。当某家配额用完,无缝切换到下一家,你的业务完全无感知。
4.2 Token 压缩:省 15-95% 的 Token 费用
这是 AIRoute 继承自 OmniRoute 的核心能力。内置 10 种压缩引擎,按顺序叠加运行:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
实际场景:你在用 Claude Code 做一个大型项目的代码重构,每次工具调用返回大量文件内容。传统方式一个会话可能消耗 50 万 Token,开启 AIRoute 的压缩后,实际发送给模型的可能只有 10 万 Token。按 Claude 3.5 Sonnet 的价格算,一次会话就省了 20」
AIRoute 的解法:开启 Token 压缩。RTK + Caveman 堆叠压缩,工具调用密集的编码 Agent 场景可以节省 50-80% Token。按 Claude 3.5 Sonnet 价格,每月能省 (openssl rand -hex 32)# 3. 部署kubectl apply -f deploy/ack/airoute.yaml# 4. 访问kubectl port-forward svc/airoute 20128:20128 -n airoute
本地开发
# 安装npm install -g airouteAIRROUTE_REGION=cn STORAGE_ENCRYPTION_KEY=$(openssl rand -hex 32) airoute# 访问# Dashboard: http://localhost:20128# API: http://localhost:20128/v1
在你的应用中使用
# Python(OpenAI SDK 直接用)from openai import OpenAIclient = OpenAI(base_url="http://localhost:20128/v1",api_key="your-airoute-key")# 一切照旧,AIRoute 自动路由response = client.chat.completions.create(model="auto", # 或指定具体模型messages=[{"role": "user", "content": "你好"}])
十、与同类项目的对比
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
十一、适用场景
|
|
|
|---|---|
| 金融 / 政务 |
|
| 企业内部 |
|
| 编码 Agent |
|
| RAG 应用 |
|
| 混合云部署 |
|
| 多 Provider 管理 |
|
十二、总结
OmniRoute 是一个功能极其强大的 AI 网关,但它的设计初衷是面向全球开发者,对国内的合规要求和 Provider 生态缺乏深度支持。国内的 One-API/New-API 虽然解决了"多 Provider 统一入口"的问题,但在路由能力、Token 压缩、合规增强等方面存在明显短板。
AIRoute 的出现,正是为了弥合这一差距。它继承了 OmniRoute 强大的路由引擎,同时针对国内场景做了深度增强:
- 省钱
:Token 压缩节省 15-95% 费用 - 省心
:17 种路由策略 + Auto-Combo,Provider 挂了自动切 - 合规
:PII 脱敏 + 国密加密 + 数据导出管控 + 审计日志 - 好用
:一个端点接入所有 Provider,5 分钟部署完成
如果你正在寻找一个既强大又合规的 AI 网关方案,不妨试试 AIRoute。
项目地址:https://github.com/jaccen/AIRoute
基于:OmniRoute v3.8.46 Fork
技术栈:Node.js 22+ / TypeScript / Next.js 16 / SQLite / PostgreSQL
本文首发于 CSDN,转载请注明出处。