AI 编码工具越来越强,但订阅费也越来越贵。Claude Code、Cursor、Cline 这些工具每次调用都要花钱,用多了月底账单看着心疼。更烦的是,一个工具绑一个 API Key,换模型要重新配置,免费额度用完了还得手动切换。
前几天刷 GitHub Trending 看到 OmniRoute(今天排 #5,8.4k star),一个开源免费 AI 网关,一个端点聚合 231+ 供应商,其中 50+ 完全免费,无需信用卡。Claude Code、Codex、Cursor、Cline、Copilot 全部统一接入,流量从同一个 IP 发出,还能自动 fallback、压缩 Token。
折腾了一下午,把家里和 VPS 都部署上了,这里记录完整的使用方案。
OmniRoute 是什么
OmniRoute 是一个本地运行的 AI 路由网关(也可以部署到 VPS),核心思路很简单:一个端点聚合所有 AI 供应商,所有编码工具统一指向它,后端自动帮你选最优的提供商。

主要功能:
- 231+ 供应商聚合:覆盖 Claude、GPT、Gemini、国内大模型(通义千问、Kimi、MiniMax 等),其中 50+ 免费供应商无需付费即可使用
- 智能自动 fallback:主供应商限速或失败时自动切换到下一个,零感知中断
- Token 压缩:RTK + Caveman 双重压缩技术,减少 15%~95% Token 消耗
- 可视化 Dashboard:图形界面管理供应商、创建路由组合、查看用量统计
- 多协议支持:兼容 OpenAI、Anthropic、Google 等主流 API 格式,自动完成格式转换
为什么需要它
三个实际场景:
场景一:免费模型聚合
50+ 免费供应商分散各处,每个额度都不高,单独用不够,全部接进来就能覆盖日常轻量任务。OmniRoute 把它们的免费额度聚合成一个池子,自动在它们之间调度。
场景二:避免风控
之前用智谱 Plan 给家里、公司、多个 VPS 上的 Agent 统一提供 Key,结果被封号(检测到”多人使用”)。用 OmniRoute 之后,所有流量从同一个 IP 发出,不会触发这类风控。
场景三:编码工具统一接入
Claude Code 用 Anthropic 格式,Cursor 用 OpenAI 格式,以前要分别配置。现在全部指向 OmniRoute 同一个端点,后端自动处理格式转换。
Docker 部署(推荐 VPS 方案)
VPS 部署最实用,家里所有设备都能用。我用的方案:
先创建部署目录:
mkdir -p /opt/omniroute && cd /opt/omniroute
写 docker-compose.yml:
services:
omniroute:
image: diegosouzapw/omniroute:latest
container_name: omniroute
restart: unless-stopped
stop_grace_period: 40s
ports:
- "20128:20128"
volumes:
- ./data:/app/data
env_file:
- .env
environment:
- REDIS_URL=redis://redis:6379
depends_on:
redis:
condition: service_healthy
redis:
image: docker.io/valkey/valkey:8.0.1-alpine
container_name: omniroute-redis
restart: unless-stopped
command: "valkey-server --save 30 1"
volumes:
- ./redis:/data
healthcheck:
test: ["CMD", "valkey-cli", "ping"]
interval: 10s
timeout: 5s
retries: 3
networks:
default:
name: shared
创建 .env 文件(记得修改随机密钥和密码):
OMNIROUTE_WS_BRIDGE_SECRET=你的随机字符串
OMNIROUTE_SETUP_PASSWORD=你的管理员密码
OMNIROUTE_MEMORY_MB=512
启动:
sudo docker compose up -d
sudo docker compose logs -f # 看到 "Ready" 即可
接入方式:三种方案选一
方案 A:Cloudflare Tunnel(推荐,有域名)
Zero Trust → Tunnels 创建隧道,路由 /* → http://localhost:20128,自动 HTTPS,不用开防火墙端口。
方案 B:SSH 本地端口转发(无域名)
在本地执行:
ssh -p 22 -f -N -L 12012:localhost:20128 user@vps-ip
本地工具配置 http://localhost:12012 即可。
方案 C:直连 VPS
防火墙放行 20128 端口,直接访问 http://VPS-IP:20128。
Dashboard 配置(关键步骤)
打开浏览器访问 Dashboard(端口 20128,路径 /dashboard),首次登录用 .env 里设置的密码。

第一步:添加免费供应商
Dashboard → Providers → + Add Provider。OmniRoute 内置了 50+ 免费供应商,无需注册、无需 Key。具体可用列表在 Dashboard 里实时更新,添加前确认当前状态即可。
几个稳定的免费供应商:
- Cerebras:每日 100 万 Token 免费
- NVIDIA NIM:每分钟 40 次请求免费
- Cloudflare AI:通过 Workers AI 免费调用

第二步:创建 Combo(路由组合)
Dashboard → Combos → + New Combo,设置 fallback 链。策略选”优先级”,主力放前面,备用放后面。创建后请求会按这个顺序自动路由。
第三步:生成 API Key
Dashboard → Endpoints → Create API Key。复制生成的 Key(形如 sk-xxxxxxxx),之后所有工具都用这个 Key。
接入 AI 编码工具
以 Claude Code 为例:
export ANTHROPIC_BASE_URL=http://localhost:20128
export ANTHROPIC_API_KEY=sk-你的OmniRoute-Key
claude
Cursor、Cline、Copilot 同理,在设置里把 API Endpoint 改成 http://localhost:20128/v1(OpenAI 格式)或 http://localhost:20128(Anthropic 格式),Key 填 OmniRoute 生成的。

实用技巧
Token 压缩
OmniRoute 默认开启 RTK + Caveman 压缩,能省不少 Token。在 Dashboard → Settings 里可以调整压缩策略。
免费额度池策略
把多个免费供应商放进同一个 Combo,设置轮询或优先级策略。这样单个供应商额度用完了自动切换下一个。
混合使用免费 + 付费
我的方案:免费供应商覆盖轻量任务,付费订阅覆盖复杂任务。在 Combo 里把付费放前面,免费放后面做兜底。
本地模型接入
OmniRoute 也支持接入本地模型(比如本地跑的 Qwen),配置里填本地地址即可。
有什么坑
免费供应商稳定性:可用性变化较快,重要任务建议用付费模型兜底。
网络要求:需要能访问各供应商的 API,国内网络可能需要代理。
版本更新频繁:项目迭代很快,更新前建议看 Release Notes。
总结
OmniRoute 的核心价值是聚合和调度:把分散的 AI 供应商(尤其是免费额度)聚成一个池子,按需自动调度。对个人开发者来说,最实用的场景是把 50+ 免费供应商利用起来,覆盖日常轻量编码任务,大幅降低 AI 工具的使用成本。
项目地址:github.com/diegosouzapw/OmniRoute
官网:omniroute.online
参考:binwh.com OmniRoute 部署教程、GitHub README、omniroute.online 官网