decolua/9router · 上手攻略
- 仓库:decolua/9router
- 链接:https://github.com/decolua/9router
- 分类:AI 路由 · Token 节省 · API 管理
- 作者:Tom
- 更新:2026-08-07
这是什么
9Router 是一个本地智能路由器,串联在你常用的 AI 编码 CLI 工具(如 Claude Code、Codex、Cursor、Cline、Copilot、OpenClaw 等)与各路 LLM API 提供商之间。它解决的核心问题是:订阅浪费、速率限制、格式不兼容、手动切换。
架构上,它是一个跑在本地的 HTTP 代理服务(默认 localhost:20128),你的 CLI 工具通过它访问 OpenAI 兼容端点(/v1),9Router 内部负责:
- RTK Token Saver:自动压缩 tool_result 内容,节省 20–40% token 量
- 多级自动回退:Subscription → Cheap(GLM、MiniMax)→ Free(Kiro、OpenCode、Vertex),任一 tier 耗尽或超预算自动切换下游
- 配额追踪与最大利用:记录每个账号用量,在重置前榨干每一分额度
- 多账号轮询:同一 provider 可配置多个账号,均摊用量
- 格式翻译:OpenAI ↔ Claude 请求/响应格式互转
架构图如下:
你的 CLI(Claude Code / Codex / Cursor / Cline / OpenClaw...)
↓ http://localhost:20128/v1
9Router
├─→ [Tier 1: 付费订阅] Claude Code / Codex / Copilot
│ ↓ 配额耗尽
├─→ [Tier 2: 便宜 API] GLM ($0.6/1M)、MiniMax ($0.2/1M)
│ ↓ 预算超限
└─→ [Tier 3: 免费] Kiro(~50 credits/月)、OpenCode Free、Vertex($300 新客额度)
解决什么问题
| 痛点 | 9Router 对策 |
|---|---|
| 订阅额度月底清零 | 实时追踪用量,重置前用尽 |
| 速率限制中断编码 | 多级自动回退,零宕机 |
| tool_result 大量 token | RTK 压缩,节省 20–40% |
| 各家 API 格式不统一 | 格式翻译层,统一 OpenAI 兼容接口 |
| 手动切换 provider | 自动路由,按配置优先级兜底 |
| 多人/多账号用量不均 | 轮询策略均摊额度 |
快速安装
Node.js 全局安装(推荐):
npm install -g 9router
9router
# 浏览器自动打开 http://localhost:20128
Docker 部署(服务器长期运行):
docker run -d \
--name 9router \
-p 20128:20128 \
-e PORT=20128 \
-e HOSTNAME=0.0.0.0 \
-e NEXT_PUBLIC_BASE_URL=http://localhost:20128 \
decolua/9router
源码运行:
git clone https://github.com/decolua/9router.git
cd 9router
cp .env.example .env
npm install
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev
核心配置
连接免费 Provider(无需注册)
- 打开 Dashboard → Providers → Connect
- 连接 Kiro AI(每月 ~50 credits 免费,含 Claude 4.5 + GLM-5 + MiniMax,新账号首 30 天送 500 trial credits)
- 或连接 OpenCode Free(无需认证)
⚠️ 注意:Kiro 自 2025 年 9 月已转为付费,免费额度缩至 50 credits/月;OpenCode 免费模型列表随时可能变动;Vertex AI 的 $300 新客额度仍有效,但 2026 年 3 月起 Gemini API 不再消耗该额度,需调用 Vertex AI Studio 端点。
配置 CLI 工具
以 Claude Code / Codex / OpenClaw 为例,在设置中填入:
Endpoint: http://localhost:20128/v1
API Key: [从 Dashboard 复制]
Model: kr/claude-sonnet-4.5 # 或其他 provider 支持的模型
OpenAI 兼容格式的工具均可直连,Cursor、Cline、Continue、Copilot 同理。
最小可跑命令
# 1. 安装
npm install -g 9router
# 2. 启动(默认端口 20128)
9router
# 3. 浏览器打开 http://localhost:20128/dashboard
# 在 Providers 页连接 Kiro AI 或 OpenCode Free
# 4. 在 AI 编码工具中配置:
# - Endpoint: http://localhost:20128/v1
# - API Key: [Dashboard 显示的 key]
# - Model: kr/claude-sonnet-4.5
# 5. 开始编码——9Router 自动处理 token 压缩 + 多级回退
硬件要求:普通笔记本即可(Node.js 16+),无 GPU 要求。占内存 ~200 MB。
典型适用场景
- Claude Code / OpenClaw 免费用:配合 Kiro 或 Vertex $300 额度,绕过官方付费限制
- 多 provider 兜底:主力 API 限额后自动切换,不中断编码流程
- Token 账单优化:RTK 压缩对 git diff、grep、ls 等大输出 tool_result 效果显著
- 团队共用订阅:多 CLI 实例共享同一 provider 账号池,轮询均摊用量
- 旧工具续命:某些已停服的免费层(如 iFlow、Qwen Code、 Gemini CLI),通过 9Router 的格式翻译继续使用
坑与注意
| 坑 | 说明 |
|---|---|
| Kiro 免费额度缩 | 2025 年 9 月起已付费,50 credits/月 ≈ 几次对话;新账号首月有 500 trial credits |
| OpenCode 免费不稳定 | 模型列表随时变化,不保证长期可用 |
| Vertex 端点注意 | Gemini API 不再消耗 $300 额度,需用 Vertex AI Studio 端点 |
| token 压缩有代价 | RTK 压缩依赖模型对模糊上下文的理解,极少数场景可能导致回答质量下降 |
| .env 默认无密钥 | 源码运行必须先 cp .env.example .env,否则所有 provider 请求会失败 |
| Docker 端口冲突 | 若 20128 已被占用,用 -e PORT=20129 -p 20129:20129 改端口 |
与同类对比
| 工具 | 类型 | 免费支持 | Token 压缩 | 多级回退 | 格式翻译 |
|---|---|---|---|---|---|
| 9Router | 本地代理 | ✅ Kiro/OpenCode/Vertex | ✅ RTK 20-40% | ✅ 三级自动 | ✅ |
| One API | 代理聚合 | ❌ 需自备 key | ❌ | ✅ 手动/简单 | ✅ |
| Portkey | 云端网关 | ❌ 纯付费 | ❌ | ✅ | ✅ |
| FastChat | 本地部署 | ✅ 自托管 | ❌ | ❌ | ❌ |
| OpenRouter | 云端聚合 | 部分免费 | ❌ | ❌ | ✅ |
核心差异:9Router 是唯一一个同时具备 RTK Token Saver + 多级免费回退 + OpenAI 兼容格式翻译的本地方案,且对 CLI 编码工具(Claude Code、Codex 等)有原生支持,无需额外部署。
一句话推荐结论
如果你在用 Claude Code 或 OpenClaw,想用免费/低成本 API 续命且不想忍受速率限制,9Router 是目前最省心的方案——本地一键启动,RTK 压缩省 token,自动回退保续航。
注意:免费额度不稳定(Kiro 已付费化、OpenCode 随时变动),建议将 9Router 作为多级回退的中间层而非单一免费源。
原始 commit/PR/issue:https://github.com/decolua/9router