应用代理

9Router 国内怎么用:本地 AI 路由层配合 Clash Verge 出站代理配置

9Router 是本机的 AI 路由层,不是代理。它在 127.0.0.1 上开一个 OpenAI 兼容端点(项目默认 http://127.0.0.1:20128/v1,以你的版本为准),把 Claude Code、Codex、Cursor、Cline 这些工具统一接进来,再决定每次请求走哪个上游、限流时降级到哪个备用。国内用它失败,九成不是路由配错,而是出站没配好。

相关:如何使用 Claude Code、如何使用 Codex CLI、Tun 给 AI 工具开全局、终端代理变量。

先把两件事分开

层 谁负责 出问题的样子
路由层(9Router) 选上游、转格式、限流降级、记用量 某个上游 401/额度耗尽,其它仍可用
出站层(Clash Verge) 把请求送出国境 所有上游一起超时,本地端点却秒回

判断很快:在浏览器打开 Dashboard 能用、模型列表能拉,但所有对话请求卡住,就先查代理,不要反复换模型。

代理挂在路由进程上,而不是每个 CLI 上

这是最容易设错的一步。CLI 只跟本机说话,真正需要出海的是 9Router 自己。所以:

  1. 在启动 9Router 的终端里导出 HTTPS_PROXY / HTTP_PROXY(指向 Clash Verge 的混合端口,默认 7897 一类,以界面显示为准),再启动服务;项目文档说明大小写两种写法都认,也支持 ALL_PROXY 与 NO_PROXY。
  2. 把回环放进 NO_PROXY :127.0.0.1,localhost。否则 CLI 发往本机端点的请求会被推去代理,出现「路由器明明在跑却连不上」。
  3. 跑 CLI 的终端里不要再设代理变量。它只需要 Base URL 指向本机端点和一把本地 Key。
  4. 嫌变量麻烦就开 Tun:进程级接管,回环流量一般不受影响。但要确认规则里没有把私有地址意外打进代理,见直连规则。

启动前先在同一个终端里把变量设好(Windows cmd 用 set,PowerShell / macOS / Linux 用 export 或 $env:),再启动服务:

set HTTP_PROXY=http://127.0.0.1:7897
set HTTPS_PROXY=http://127.0.0.1:7897
set NO_PROXY=127.0.0.1,localhost

写地址时优先用 127.0.0.1。项目 README 特意提醒过:写 localhost 在部分系统上会先解析到 IPv6,服务只听 IPv4 时就连不上——这类错误看起来像「服务没起来」,其实是解析问题。

验收顺序:一次只验一层

  1. Clash Verge 已连上可用节点,浏览器能开一个海外站点(测速)。
  2. 带着代理变量启动 9Router,看它自己的日志能否连上上游、拉到模型列表。
  3. 用一个 CLI 发最小请求(例如让它读一个文件),确认端到端跑通。
  4. 再接第二个、第三个工具。不要一次全接,否则请求日志混成一团,分不清是哪条链路失败。

第 2 步的「能否拉到模型列表」可以直接用一条命令替代:

curl http://127.0.0.1:20128/v1/models -H "Authorization: Bearer 本地Key"

常见翻车对照

现象 大概率原因 动作
所有上游超时 路由进程没带代理 在启动它的会话里设变量,重启服务
CLI 连不上本地端点 回环被代理吃了 / 写了 localhost 补 NO_PROXY、改 127.0.0.1
端口起不来 端口被占 换端口并同步各 CLI Base URL,思路同端口冲突
某个上游 401 / 额度用尽 凭证或计划问题 在 Dashboard 单独处理,别当网络问题查
Docker 里连不到宿主代理 容器内 127.0.0.1 指自己 用宿主机地址或 host 网络,代理地址别写回环

它值不值得装

如果你只有一个订阅、一天切不了两次模型,写两个 shell 别名就够了,不必多引入一个常驻服务。真正划算的场景是:手上有多个订阅或便宜 Key 想轮着用、经常被限流需要自动降级、或者同时开着几个 CLI 想统一看用量。

另外,它的界面里通常还有一组以中间人方式拦截 IDE 流量的工具。那会改动本机信任链,也常与相关服务条款冲突,除非你非常清楚在做什么,否则跳过——上面这套「本地端点 + 代理出站」已经够用。

安全提醒

Dashboard 里存着 OAuth 授权和多把 API Key,等于一个密钥柜。别裸露公网,改掉默认口令,对接口开 Bearer key,定期备份配置目录。需要把 Key 发给同事时,走加密通道单独发,不要直接贴在群里。

小结

记住分工:9Router 决定请求去哪,Clash Verge 决定请求出不出得去。代理设在路由进程、回环放行、地址写 127.0.0.1,剩下的就是逐个接工具。客户端从下载中心获取;单工具排错回Claude Code 代理或Codex CLI 代理。

本地路由要通,先让出站通

9Router 的上游请求仍要访问 Anthropic、OpenAI 等服务。到下载中心装 Clash Verge Rev,把代理挂在路由进程上,再回来跑本文的验收顺序。