9Router 常见问题权威指南:三层 Fallback 路由、Quota 追踪与零成本 AI 编码实战
2026/9/23 18:47:41 网站建设 项目流程

9Router 常见问题权威指南:三层 Fallback 路由、Quota 追踪与零成本 AI 编码实战

【免费下载链接】9routerUnlimited FREE AI coding. Connect Claude Code, Codex, Cursor, Cline, Copilot, Antigravity to FREE Claude/GPT/Gemini via 40+ providers. Auto-fallback, RTK -40% tokens, never hit limits.项目地址: https://gitcode.com/GitHub_Trending/9r/9router

导读

9Router 是一个面向 AI 开发者的模型路由网关:它把你已经付费的 Claude Code、Codex、Copilot 等订阅额度、超便宜的备用 API 与完全免费的 Provider 串联成一条"永不中断"的调用链,通过三层 fallback 与实时 quota 追踪,让 AI 编码工具(Cursor、Cline、Claude Desktop、Codex CLI 等)在额度耗尽时自动切换模型、继续工作,而成本几乎为零。本文以仓库官方 FAQ(gitbook/content/vi/faq.md)为骨架,结合 combo.js、accountFallback.js、errorConfig.js 等核心源码,系统回答"它是什么、怎么定价、怎么连接、怎么部署、是否安全、如何更新与贡献"等高频问题,读完后你将能独立搭建一条低成本、高可用的 AI 编码链路。


9Router 是什么:把订阅额度"用满"的 AI 模型路由器

官方 FAQ 给出的定义非常直接:9Router 是一个 AI 模型路由器,用于最大化订阅(subscription)价值并降低调用成本。它不是另一个模型,而是一个运行在你本机或云端的网关层,负责把来自各类 AI 编码工具(Claude Code、Codex、Cursor、Cline、Copilot、Antigravity 等)的请求,智能地转发给最适合的底层 Provider。

其核心机制是三层 fallback 系统

  1. 订阅层(Tier 1 - Subscription):优先消耗你已经在付费的 Claude Code、Codex、Gemini 等订阅额度——因为这些钱不花就浪费了;
  2. 超便宜层(Tier 2 - Cheap):当订阅额度耗尽,回落到每百万 token 仅 0.20–0.60 美元的廉价 API;
  3. 免费层(Tier 3 - Free):当所有付费额度都被限制时,用不限量的免费模型兜底,保证"永远不会停下来"。

FAQ 总结的核心收益包括:不浪费任何订阅额度、额度耗尽时自动 fallback、实时 quota 追踪、相比直连 API 可节省约 90% 成本(该比例为文档口径,实际节省取决于用量分布)。

从源码看,这个"自动 fallback"正是 combo.js 中handleComboChat的核心逻辑:它按顺序遍历 combo 中的模型列表,逐个调用handleSingleModel,一旦某个模型返回result.ok就直接返回;否则解析错误文本与retryAfter,调用checkFallbackError(来自 accountFallback.js)判断是否应切换到下一个模型,直到全部失败才返回 503。也就是说,"三层 fallback"在实现层面就是一条有序的模型链 + 逐级重试。


Pricing 如何运作:三层计费策略详解

FAQ 用一整节解释了定价策略,核心思想是**"先用完已付的钱,再花最少的钱,最后用免费的钱"**。

Tier 1:订阅层(优先使用)

Provider价格区间Quota 规则
Claude Code(Pro/Max)$20–100/月5 小时 + 每周配额
OpenAI Codex(Plus/Pro)$20–200/月5 小时 + 每周配额
Gemini CLI免费180K completions/月 + 1K/天
GitHub Copilot$10–19/月每月重置
Antigravity免费与 Gemini 类似

目标:在配额重置前用光所有额度。

Tier 2:廉价层(后备)

Provider单价Quota 规则
GLM-4.7$0.60/$2.20 per 1M tokens每天 10:00 AM 重置
MiniMax M2.1$0.20/$1.00 per 1M tokens5 小时滚动窗口
Kimi K2$9/月固定(10M tokens)月度

目标:比 ChatGPT API($20/1M)便宜 90% 以上。

Tier 3:免费层(紧急兜底)

Provider内容Quota 规则
iFlow8 个免费模型(Kimi K2、Qwen3、GLM、MiniMax 等)无限制
Qwen3 个免费模型(Qwen3 Coder Plus/Flash、Vision)无限制
Kiro2 个免费模型(Claude Sonnet 4.5、Haiku 4.5)无限制

目标:其他所有层都被限制时,以零成本兜底。

关于上述价格与模型名称:均以官方文档口径为准,实际以 Provider 侧最新计费与额度规则为准,仓库源码中的 errorConfig.js 还定义了"quota exceeded"、"rate limit"等错误的判定规则(见后文"Quota 追踪"一节)。


9Router 是否免费:开源 + 免费 Provider

FAQ 明确回答:是的,9Router 完全免费且 100% 开源(仓库根目录与 cli 目录均包含 MIT LICENSE)。

可用的免费 Provider 包括:

  • Gemini CLI:每月 180K completions(Google 免费账号即可);
  • iFlow:8 个不限量模型(免费 OAuth);
  • Qwen:3 个不限量模型(免费 OAuth);
  • Kiro:Claude Sonnet/Haiku(免费 AWS Builder ID)。

FAQ 甚至给出结论:"只使用免费 Provider,你可以永远免费编码。"而可选付费部分(Claude Code、Codex、Copilot 订阅、$0.20–0.60/1M 的廉价 API)纯粹是可选项——你完全可以一分钱不花,把免费的 Gemini CLI + iFlow + Qwen + Kiro 组合成一条 100% 免费的调用链(参见 gitbook/content/vi/providers/free.md 中的 "free-combo" 与 "zero-cost" 示例)。


支持哪些 Provider

FAQ 给出了三类 Provider 的全景,总计 15+ Provider、50+ 模型(模型清单以文档为准):

订阅类 Provider

  • Claude Code(Pro/Max):Claude 4.5 Opus/Sonnet/Haiku;
  • OpenAI Codex(Plus/Pro):GPT 5.2 Codex、GPT 5.1 Codex Max;
  • Gemini CLI(免费):Gemini 3 Flash/Pro、2.5 Pro/Flash;
  • GitHub Copilot:GPT-5、Claude 4.5、Gemini 3;
  • Antigravity(Google):Gemini 3 Pro、Claude Sonnet 4.5。

廉价类 Provider

  • GLM(智谱 AI):GLM 4.7、GLM 4.6V Vision;
  • MiniMax:MiniMax M2.1;
  • Kimi(月之暗面):Kimi Latest;
  • OpenRouter:透传到 OpenRouter 上的任意模型。

免费类 Provider

  • iFlow:8 个模型(Kimi K2、Qwen3、GLM、MiniMax、DeepSeek 等);
  • Qwen:3 个模型(Qwen3 Coder Plus/Flash、Vision);
  • Kiro:2 个模型(Claude Sonnet 4.5、Haiku 4.5)。

各 Provider 的接入方式(OAuth 登录、Device Code、API Key)与模型 ID 详见 gitbook/content/vi/providers/subscription.md、gitbook/content/vi/providers/cheap.md 与 gitbook/content/vi/providers/free.md。从源码看,Provider 的使用量获取由 usage.js 中的USAGE_HANDLERS映射表统一分发(github、gemini-cli、antigravity、claude、codex、kiro、qwen、iflow、glm、minimax、kimi、deepseek 等均有对应处理器),说明这些 Provider 的 quota 数据是真实从上游拉取的,而不是静态硬编码。


能否同时使用多个 Provider:Combo 机制

FAQ 明确回答:可以,这正是 9Router 的核心功能。通过"Combo(组合)",你可以把多个 Provider 按优先级串成一条带自动 fallback 的模型链。

一个典型 Combo 示例(来自 FAQ)

Example combo: "premium-coding" 1. cc/claude-opus-4-5 (订阅层主用) 2. glm/glm-4.7 (廉价后备) 3. if/kimi-k2 (免费应急) → 额度耗尽时自动切换 → 编码永不中断 → 额外成本极低

创建 Combo 的步骤

Dashboard → Combos → Create New → 按优先级顺序添加模型 → 在 CLI 中使用 combo 名称:"premium-coding"

收益

  • 额度耗尽时零停机;
  • 成本自动优化;
  • 对所有工具暴露同一个模型名。

源码级原理

Combo 的实现集中在 combo.js:

  • 顺序 fallbackhandleComboChat逐个尝试模型,成功即返回,失败则按规则降级(combo.js);
  • round-robin 轮转getRotatedModels支持按stickyLimit参数控制每个模型连续承接的请求数,实现负载分摊(combo.js);
  • 能力感知的自动切换(auto-switch)detectRequiredCapabilities会扫描当前用户轮次中的图片/PDF 等模态,reorderByCapabilities把能满足硬性能力(vision、pdf、audioInput、videoInput)的模型浮到链首,避免"多模态请求打到纯文本模型"(combo.js);
  • Fusion 融合模式handleFusionChat把请求并行扇出给多个面板模型,再由一个 judge 模型综合共识/矛盾/盲点后输出单一答案,默认minPanel: 2stragglerGraceMs: 8000panelHardTimeoutMs: 90000(combo.js)。

更多可落地的 Combo 模板(premium-coding、budget-combo、free-combo、quality-first、multi-sub、reset-optimized 及完整的三层/四层兜底链)见 gitbook/content/vi/features/combos.md。


Quota 追踪如何工作

FAQ 描述了实时 quota 追踪的完整能力,仓库侧的 usage.js 证实这些数据来自真实的上游接口。

追踪功能

  • Token 消耗:每次请求的输入/输出 token;
  • 重置倒计时:距离 quota 刷新的剩余时间;
  • 用量统计:日/周/月报告;
  • 成本预估:付费层的预计支出;
  • Quota 告警:额度偏低时通知。

Quota 类型(重置规则)

类型适用 Provider
5 小时滚动Claude Code、Codex、MiniMax
每日重置Gemini CLI(1K/天)、GLM(10:00 AM)
每周重置Claude Code、Codex(追加额度)
每月重置Gemini CLI(180K)、GitHub Copilot(每月 1 日)

查看 Quota

Dashboard → Providers → Quota Tracking → 实时用量 + 重置倒计时

详细的可视化面板示例、按模型/按时间/按 Combo 的用量分析、成本预估与 API 接口(GET /api/quotaGET /api/usage?period=today)见 gitbook/content/vi/features/quota-tracking.md。

底层实现:错误分类与退避

Quota 追踪之外,fallback 是否触发由 accountFallback.js 与 errorConfig.js 决定:

  • 错误规则自上而下匹配:文本规则优先(如 "rate limit"、"quota exceeded"、"capacity"、"overloaded"、"too many requests" 触发指数退避),再匹配状态码(401/402/403/404/429 等)(errorConfig.js);
  • 指数退避配置为base: 2000msmax: 5minmaxLevel: 15(errorConfig.js);
  • 请求成功后resetAccountState会清除冷却并归零退避等级(accountFallback.js);
  • 对 503/502/504 这类瞬时错误,combo 会先等待cooldownMs(不超过 5 秒)再切换,避免把短暂过载的 Provider 直接跳过(combo.js)。

9Router 支持 Cursor 吗

FAQ 回答:支持,但 Cursor 需要云端端点

  • 问题:Cursor IDE 不支持 localhost 端点;
  • 方案一:使用 9Router 云端部署:
Cursor Settings → Models → Advanced: OpenAI API Base URL: https://9router.com/v1 OpenAI API Key: [来自 dashboard] Model: cc/claude-opus-4-5-20251101
  • 方案二:自托管在有公网域名的 VPS 上,通过 Nginx 反代,把 Cursor 指向https://your-domain.com/v1

而其他 CLI 工具直接支持 localhost:Cline ✅、Claude Desktop ✅、Codex CLI ✅、Continue ✅、RooCode ✅。详细集成步骤见 gitbook/content/vi/integration/cursor.md。

本仓库不包含云端端点,请自行部署(见下文"Self-host");集成方式同样适用于本仓库的本地安装。


能否 Self-host 9Router

FAQ 列出多种部署方式。以本仓库(package.json 为 Web 应用、cli/package.json 为 CLI 封装)为准,安装与部署要点如下:

Localhost(默认)

npm install -g 9router 9router → Dashboard: http://localhost:3000 → API: http://localhost:20128/v1

首次运行会创建数据目录~/.9router、自动生成 API key,并在浏览器打开 Dashboard(默认登录密码为123456,建议立即修改)。

VPS/Cloud

从源码构建(本仓库根目录即应用目录):

git clone https://gitcode.com/GitHub_Trending/9r/9router cd 9router npm install && npm run build export JWT_SECRET="your-secure-secret" export INITIAL_PASSWORD="your-password" export NODE_ENV="production" npm start

也可参考仓库自带的 Dockerfile、docker-compose.yml 与 start.sh。

Docker

docker build -t 9router . docker run -d \ -p 3000:3000 \ -e JWT_SECRET="your-secret" \ -v 9router-data:/app/data \ 9router

环境变量一览

变量说明
JWT_SECRET生产环境必须修改!
DATA_DIR数据库存储路径(默认~/.9router
INITIAL_PASSWORDDashboard 登录密码(默认123456
NODE_ENV部署时设为production
PORT服务端口(默认 20128,可用9router --port 3000覆盖)

完整的环境变量说明、Nginx 反代配置(含 SSE 流式支持所需的proxy_buffering off与长超时)与常见安装问题(端口占用、权限、Node 版本等)见 gitbook/content/vi/getting-started/installation.md 与 gitbook/content/vi/deployment/cloud.md。


数据安全吗

FAQ 从三个方面给出了隐私立场,且这些都可以在仓库结构中得到印证(数据默认落在本机~/.9router,见 src/lib/dataDir.js)。

本地存储

  • 所有数据保存在本地~/.9router(或自定义DATA_DIR);
  • 不向 9Router 服务器发送数据;
  • OAuth token 用 JWT 加密保存。

无遥测

  • 不追踪使用行为;
  • 无 analytics;
  • 无 phone-home。

开源可审计

  • 全部源码开放,可自行安全审计、社区评审。

实践建议

  • 生产环境务必更换JWT_SECRET
  • 使用强INITIAL_PASSWORD
  • 云部署启用 HTTPS;
  • 定期轮换 API key。

9Router 保存什么 / 不保存什么

保存不保存
Provider 的 OAuth token(加密)你的 prompts 与 responses
API keys(加密)你生成的代码
使用统计(仅本地)个人信息
Combo 配置

如何更新 9Router

FAQ 按安装方式给出了对应的升级路径:

全局 NPM 安装

npm update -g 9router

本地源码安装

cd 9router git pull origin main npm install npm run build npm start

Docker

docker pull 9router:latest docker stop 9router docker rm 9router docker run -d \ -p 3000:3000 \ -v 9router-data:/app/data \ 9router:latest

版本检查与破坏性变更

9router --version
  • 大版本升级前先查看 CHANGELOG.md;
  • 升级前备份~/.9router数据目录;
  • 注意 major 版本的 migration 指引。

如何参与贡献

FAQ 列出了多种贡献方式:

  1. 报告 bug:附上错误日志与复现步骤;
  2. 请求新功能:描述使用场景与收益;
  3. 提交代码:Fork 后建分支、本地npm install/npm run dev、写测试、提交 PR;
  4. 改进文档:修正拼写、补充示例、翻译、写教程;
  5. 新增 Provider:参考仓库中的 Provider 实现示例(本仓库对应目录为 open-sse/providers/registry 与 open-sse/executors)。

基本约定包括:遵循现有代码风格、为新功能补测试、同步更新文档、保持 commit 小而清晰。


故障排查与求助渠道

FAQ 提供的排障起点包括 troubleshooting.md(详细问题与解法)、installation.md(部署类排障),以及各功能文档自带的 Troubleshooting 小节:

  • Quota 相关:查看 Dashboard 的 Quota 追踪,等待重置窗口,或在 combo 中加入廉价/免费层兜底;
  • OAuth token 过期:9Router 会自动刷新;仍失败则在 Dashboard → Providers 重新连接;
  • Rate limiting:订阅额度耗尽的表现之一,补充glm/glm-4.7等廉价 fallback,或用if/kimi-k2-thinking免费层应急;
  • Combo 相关:刷新 dashboard、确认 combo 已保存、重启 CLI 工具刷新模型列表;若总是落到最后一层,先检查主模型 quota 与 API key(详见 gitbook/content/vi/features/combos.md)。

从代码层面看,当 combo 全部模型失败时,handleComboChat 会返回 503(而非 406),并携带最早可重试时间(retryAfter),客户端可据此等待后自动重试——这解释了 FAQ 中"等待 quota reset"建议的实现依据。


总结

从 FAQ 出发,9Router 的完整使用心智可以归纳为一句话:把订阅额度放在链首、把便宜 API 放在中段、把免费模型放在尾部,让网关替你自动切换。本文覆盖了 FAQ 的全部问题——产品定位、三层定价、免费开源、Provider 全景、Combo 机制、Quota 追踪、Cursor 集成、自托管部署、数据安全、更新与贡献——并补充了 combo.js、accountFallback.js、errorConfig.js、usage.js 等源码级证据。如需进一步深入,推荐按顺序阅读 gitbook/content/vi/features/combos.md、gitbook/content/vi/features/smart-routing.md 与 gitbook/content/vi/features/quota-tracking.md。

【免费下载链接】9routerUnlimited FREE AI coding. Connect Claude Code, Codex, Cursor, Cline, Copilot, Antigravity to FREE Claude/GPT/Gemini via 40+ providers. Auto-fallback, RTK -40% tokens, never hit limits.项目地址: https://gitcode.com/GitHub_Trending/9r/9router

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询