命令行工具Anthropic + OpenAI 协议

OmniRoute + Claude Code:配置步骤、免费额度的限制,以及把 CCSub 加成兜底渠道

OmniRoute 是开源的本地 AI 网关,能让 Claude Code 走多家模型的免费额度。本文讲清安装、ANTHROPIC_BASE_URL 怎么填、免费额度的真实限制,以及把 CCSub 加成 Anthropic Compatible 渠道、免费额度用完自动切过去。

最后更新:OmniRoute 官网

复制即用的配置

把下面三项填进工具里即可。API Key 在控制台「API 密钥」页面创建。

渠道类型
Add Anthropic Compatible(在 OmniRoute 后台 Providers 页面)
Base URL
https://www.ccsub.net/v1(OmniRoute 会自己拼上 /messages)
Prefix
ccsub(之后模型写成 ccsub/claude-sonnet-5)
API Key
sk-你的CCSub密钥(建好渠道后在 Add Connection 里填)
Claude Code 改走本机 OmniRoute(macOS / Linux)
export ANTHROPIC_BASE_URL="http://localhost:20128"
export ANTHROPIC_AUTH_TOKEN="你的OmniRoute密钥"
export ANTHROPIC_MODEL="ccsub/claude-sonnet-5"
claude

model 可填 claude-sonnet-5 等,全部可用型号 ID 见 型号列表。 还没有 Key? 先注册账号。

配置步骤速览

  1. 1

    安装并启动 OmniRoute

    需要 Node.js。执行 npm install -g omniroute,再运行 omniroute 启动;后台地址是 http://localhost:20128。第一次用可以跑 omniroute setup 走引导。

  2. 2

    创建 CCSub API Key

    注册 CCSub,在控制台「API 密钥」页面创建密钥,复制 sk- 开头的 Key。

  3. 3

    在 OmniRoute 添加 Anthropic Compatible 渠道

    后台进入 Providers,点 Add Anthropic Compatible:Name 填 CCSub,Prefix 填 ccsub,Base URL 填 https://www.ccsub.net/v1,保存。

  4. 4

    给渠道添加连接

    打开刚建好的 CCSub 渠道,点 Add Connection,把 CCSub 的 Key 填进 API Key,保存后测试连通。

  5. 5

    让 Claude Code 走 OmniRoute

    把 ANTHROPIC_BASE_URL 设为 http://localhost:20128(不要带 /v1),ANTHROPIC_AUTH_TOKEN 设为 OmniRoute 后台 Endpoints 页面的密钥,ANTHROPIC_MODEL 设为 ccsub/claude-sonnet-5 或你建的组合名,重开 Claude Code。

  6. 6

    验证

    在 Claude Code 里发一句话,OmniRoute 后台能看到这条请求被路由到哪个渠道;走了 CCSub 的请求同时会出现在 CCSub「使用记录」里。

OmniRoute 是一个开源的本地 AI 网关(MIT 协议,代码在 GitHub)。它在你电脑上跑一个服务,Claude Code、Codex、Cursor 这些工具把请求发给它,它再按你定的规则分给各家模型:先用免费额度,用完或者出错了自动换下一家。

最近很多人搜 OmniRoute,是因为看到「让 Claude Code 免费用」的视频。这篇把三件事说清楚:怎么配、免费到底有哪些限制、怎么把 CCSub 加成付费兜底。

安装 OmniRoute

需要先装 Node.js,然后任选一种方式:

安装方式
npm(全局)
npm install -g omniroute装完运行 omniroute 启动
Docker
docker run -d --name omniroute -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
后台地址
http://localhost:20128API 地址是 http://localhost:20128/v1

第一次用可以运行 omniroute setup 走引导,有问题时 omniroute doctor 会做一遍自检。npm 11 以上版本可能会拦截安装脚本,按 OmniRoute README 里给的 --allow-scripts 参数重装即可。

让 Claude Code 走 OmniRoute

Claude Code 只认环境变量,没有单独的地址参数。要设三个:

Claude Code 指向 OmniRoute 需要的变量
ANTHROPIC_BASE_URL
http://localhost:20128不要带 /v1,Claude Code 会自己拼 /v1/messages
ANTHROPIC_AUTH_TOKEN
你的 OmniRoute 密钥在 OmniRoute 后台 Endpoints 页面复制
ANTHROPIC_MODEL
渠道前缀/型号,或组合名例如 ccsub/claude-sonnet-5

不想手动设变量的话,OmniRoute 自带两个命令:

  • omniroute launch:直接用当前配置启动 Claude Code。
  • omniroute setup-claude:在 ~/.claude/profiles/<名字>/settings.json 里按模型生成多套配置,之后用 omniroute launch --profile <名字> 启动。先加 --dry-run 看它要写什么文件再执行。

想在 /model 列表里直接选 OmniRoute 的模型,需要 Claude Code v2.1.129 以上并设置 CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1。列表只显示 claude 或 anthropic 开头的型号,其他型号用 ANTHROPIC_MODEL 指定。

这些变量只在 Claude Code 启动时读一次。改完一定要退出重开,否则还是旧地址。

「免费」到底有哪些限制

OmniRoute 软件本身免费,但它路由过去的免费额度都是第三方的:

  • 额度是估算的:README 里写的每月约 16.2 亿免费 token、150 多个免费层,是它把各家免费额度加起来估的,不是 OmniRoute 发的。每家的配额和限速由对方决定,随时会变。
  • 新装可能没有可用线路:auto 模型需要至少一条符合条件的线路。刚装好、还没接任何账号时可能一条都没有;有些不需要 Key 的服务也会拒绝第三方客户端。
  • 有些渠道默认不用:被 OmniRoute 标成条款风险高的渠道,默认不进自动路由,你接了账号也不会自动启用。
  • 免费模型不等于你习惯的模型:免费层大多是其他家的模型。Claude Code 的工具调用、长上下文在这些模型上能不能稳定跑,要自己试。

所以实际用下来常见的情况是:小任务免费额度够用,长任务跑到一半额度用完或者被限速。这时候需要一个付费渠道接住,下面就是做法。

把 CCSub 加成 OmniRoute 的渠道

OmniRoute 支持添加自定义的 Anthropic Compatible 和 OpenAI Compatible 渠道,CCSub 两种都支持。Claude Code 用 Anthropic 格式,选前者:

  1. 打开 OmniRoute 后台 Providers,点 Add Anthropic Compatible。
  2. 按下面填写并保存:
Add Anthropic Compatible
Name
CCSub随便起,方便自己认
Prefix
ccsub模型名的前缀,必须唯一
Base URL
https://www.ccsub.net/v1OmniRoute 会拼成 https://www.ccsub.net/v1/messages
  1. 打开刚建的 CCSub 渠道,点 Add Connection,把 CCSub 控制台创建的 Key(sk- 开头)填进 API Key,保存后测一下连通。
  2. 之后模型名写成 ccsub/型号,例如 ccsub/claude-sonnet-5。全部可用型号 ID 见 型号列表。

要在 OmniRoute 里用 GPT 系列,也可以再加一个 Add OpenAI Compatible:Base URL 同样填 https://www.ccsub.net/v1,API 类型选 Chat Completions。

注意两处 Base URL 的区别:Claude Code 指向 OmniRoute 时不带 /v1;OmniRoute 指向 CCSub 时带 /v1。前者由 Claude Code 拼路径,后者由 OmniRoute 拼路径,规则不一样。

免费额度用完自动切到 CCSub

OmniRoute 的「组合」(Combo)就是一串按顺序排好的模型。策略选 priority,前面放免费模型,最后放 CCSub:

omniroute combo create cc-fallback \
  --strategy priority \
  --targets 你的免费模型,ccsub/claude-sonnet-5

然后把 Claude Code 的 ANTHROPIC_MODEL 设为组合名 cc-fallback。前面的渠道额度用完、限速或出错时,请求会落到 CCSub 上,任务不会中断。也可以在后台 Combos 页面里点选创建;目标型号的具体写法以你所用版本 Combos 页面显示的为准。

怎么确认配置成功

  • OmniRoute 后台的请求日志会显示每条请求被路由到了哪个渠道。
  • 走了 CCSub 的请求,会同时出现在 CCSub 控制台的「使用记录」里,Token 数和扣费都能对上。
  • 在 Claude Code 里用 /status 可以看实际生效的地址。

费用怎么算

OmniRoute 本身不收费,费用取决于请求最后落到了哪个渠道:

  • 走免费额度的请求,按对应服务商的规则,不经过 CCSub,也不产生 CCSub 费用。
  • 落到 CCSub 的请求按 CCSub 的规则扣费:按量付费 1 元 = 1 美元额度、永不过期,按每次请求的输入 / 输出 Token 和型号单价扣费,单价见 型号列表;月卡 先扣当天额度(北京时间 0 点重置),用完再扣余额。
  • OmniRoute 开启了 token 压缩的话,发到 CCSub 的 Token 会变少,扣费也跟着变少。
  • 鉴权失败(401)的请求不扣费。每条请求的 Token 和扣费都能在「使用记录」里查到。

适合谁用

  • 想先用免费额度、只在不够用时才花钱的人。
  • 同时用好几家模型、想在一个地方统一管理 Key 和路由规则的人。
  • 只想稳定用 Claude Code、不想多维护一个本地服务的话,直接按 Claude Code 接入教程 设两个环境变量更省事;需要在多个服务之间手动切换,可以看 CC Switch 教程。

常见报错和排查

设置了 ANTHROPIC_BASE_URL,Claude Code 还是没走 OmniRoute

原因:地址末尾带了 /v1,或者改完环境变量没有重启 Claude Code。这些变量只在启动时读取一次。

处理:把地址改成 http://localhost:20128(不带 /v1),退出 Claude Code 重新打开;用 /status 看实际生效的地址。

用 omniroute setup-claude 生成的配置启动后报鉴权错误

原因:setup-claude 生成的配置文件里不保存 OmniRoute 密钥。

处理:用 omniroute launch --profile <名字> 启动,或者先 export ANTHROPIC_AUTH_TOKEN=你的OmniRoute密钥。

CCSub 渠道测试返回 401 Invalid or disabled API key

原因:Add Connection 里填的 CCSub Key 有误、带了空格,或者这个 Key 已经被停用。

处理:到 CCSub 控制台「API 密钥」页面确认 Key 状态,重新复制后在 OmniRoute 里删掉旧连接再添加。

走 CCSub 的请求返回 402

原因:CCSub 账户的月卡当日额度和按量余额都用完了。

处理:在 CCSub 充值,或者等北京时间 0 点月卡额度刷新;组合里放在 CCSub 后面的渠道会接着顶上。

更多报错的原因和处理办法,见 报错排查总览;安装环境问题见 故障排查文档。

常见问题

OmniRoute 是免费的吗?

软件本身是 MIT 协议开源、免费。它说的「免费 token」来自各家第三方服务的免费层,README 里写的每月约 16.2 亿 token 是它汇总估算的数字,不是 OmniRoute 发的额度。每家的配额、限速和条款随时会变。

ANTHROPIC_BASE_URL 要不要带 /v1?

Claude Code 指向 OmniRoute 时不要带,填 http://localhost:20128,Claude Code 会自己拼 /v1/messages。反过来在 OmniRoute 里添加 CCSub 渠道时,Base URL 填 https://www.ccsub.net/v1,因为 OmniRoute 只会再拼 /messages。

Claude Code 的 /model 列表里看不到 OmniRoute 的模型?

需要 Claude Code v2.1.129 以上,并设置 CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1。即使这样,列表里也只显示 claude 或 anthropic 开头的型号,其他型号要用 ANTHROPIC_MODEL 直接指定。

OmniRoute 和 CC Switch 有什么区别?

CC Switch 只是帮你改各个工具的配置文件,请求直接从工具发到服务商。OmniRoute 是常驻在本机的网关,每个请求都会经过它,所以能做额度用完自动切换、按成本路由、压缩 token 这些事。

不想多跑一个网关,可以直接用 CCSub 吗?

可以。Claude Code 直接设 ANTHROPIC_BASE_URL=https://www.ccsub.net 和你的 CCSub Key 就行,见 Claude Code 接入教程。OmniRoute 适合想把免费额度和付费渠道混着用的人。

还没有 CCSub 账号?

注册后在控制台创建 API Key,把上面的配置填进工具即可开始使用。按量付费的余额不过期,用多少扣多少。