ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

9Router 智能路由与自动回退(Smart Routing Auto Fallback)实战指南

9Router 智能路由与自动回退(Smart Routing  Auto Fallback)实战指南 9Router 智能路由与自动回退Smart Routing Auto Fallback实战指南【免费下载链接】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 官方文档gitbook/content/ja/features/smart-routing.md为主体深入讲解其三层回退路由系统的架构原理、自动切换判定逻辑、Dashboard 配置项与配额重置策略并结合仓库源码open-sse/services/combo.js、open-sse/services/accountFallback.js剖析底层实现。读完本文你将掌握如何为 Claude Code、Codex、Cursor、Cline 等客户端配置永不中断的智能路由让订阅、低价 API 与免费层协同工作做到配额受限也不停编码。一、三层回退系统路由的核心骨架9Router 采用智能路由思想优先榨干你已经付费的订阅价值其次使用超低价 API 兜底最后回退到免费层保障 24 小时可用性。整体流程如下原文流程图Request → 9Router → 检查 Tier 1订阅 ↓ 配额耗尽 检查 Tier 2低价 ↓ 预算上限 检查 Tier 3免费 ↓ ResponseTier 1订阅层主用Claude CodePro/MaxOpenAI CodexPlus/ProGemini CLI每月 18 万次免费额度GitHub CopilotAntigravityGoogle目标从你已支付的订阅中获取最大价值避免额度闲置浪费。Tier 2低价层备份GLM-4.7输入 100 万 token 约 $0.60MiniMax M2.1输入 100 万 token 约 $0.20Kimi K2每月固定 $9目标订阅配额耗尽时提供超低价备份按文档口径比 ChatGPT API 便宜约 90%。Tier 3免费层应急iFlow8 个模型Qwen3 个模型Kiro免费使用 Claude目标零成本兜底实现无限制编码。以上价格与额度数字均出自官方文档原文实际价格与可用额度请以供应商当前公布为准。二、自动切换三类典型场景9Router 实时监控配额并按需切换供应商官方文档给出了三个典型场景。场景 1订阅配额耗尽用户请求 → cc/claude-opus-4-5 ↓ 配额耗尽达到 5 小时限制 自动切换 → glm/glm-4.7 ↓ 日配额耗尽 自动切换 → minimax/MiniMax-M2.1 ↓ 5 小时配额耗尽 自动切换 → if/kimi-k2-thinking免费 ↓ 响应送达 ✅结果零停机、无缝体验。场景 2速率限制用户请求 → cx/gpt-5.2-codex ↓ 被限流请求过多 自动切换 → glm/glm-4.7 ↓ 响应送达 ✅场景 3供应商不可用用户请求 → cc/claude-opus-4-5 ↓ 供应商错误503 自动切换 → 下一个可用模型 ↓ 响应送达 ✅底层实现handleComboChat 的逐级尝试上述切换在源码层面由 open-sse/services/combo.js 中的handleComboChat完成。它按序遍历 Combo 中的每个模型调用handleSingleModel(body, modelStr)发出请求若返回2xx成功立即返回响应中断遍历若失败解析错误体中的error.message与retryAfter记录所有模型中最早的retryAfter调用checkFallbackError(status, errorText)判定该错误是否应触发回退对于 503/502/504 这类瞬时错误若冷却时间在 5 秒内会先等待冷却再继续尝试下一个模型给短暂过载的供应商恢复机会源码注释明确说明这是为了修复Combo 在瞬时 503 时直接跳过的问题若判定为不应回退直接返回该错误响应全部模型失败后统一返回503 Service Unavailable而非 406并尽可能附带retryAfter供客户端重试若错误信息含 no credentials同样以 503 返回。错误是否触发回退由 open-sse/config/errorConfig.js 的ERROR_RULES驱动自上而下匹配文本规则优先no credentials冷却 2 分钟、request not allowed5 秒、improperly formed request2 分钟、rate limit/too many requests/quota exceeded/capacity/overloaded指数退避状态码规则401/402/403/404冷却 2 分钟、429指数退避。其中指数退避配置为 errorConfig.js基础 2 秒、指数递增、上限 5 分钟、最大 15 级未匹配的瞬时错误默认冷却 30 秒TRANSIENT_COOLDOWN_MS。三、模型选择逻辑9Router 依据以下四个维度选择最优模型配额可用性——检查供应商剩余配额成本层级——优先订阅 → 低价 → 免费重置时机——考虑配额何时重置供应商健康度——跳过持续报错的供应商。优先级判断示例以请求cc/claude-opus-4-5为例1. 检查 Claude Code 配额 ✅ 可用 → 使用 cc/claude-opus-4-5 ❌ 耗尽 → 进入步骤 2 2. 检查回退层级如已配置 ✅ GLM 配额可用 → 使用 glm/glm-4.7 ❌ 耗尽 → 进入步骤 3 3. 检查免费层 ✅ iFlow 可用 → 使用 if/kimi-k2-thinking ❌ 全部耗尽 → 返回配额错误能力感知的自动切换auto-switch除按序回退外源码还实现了能力感知重排。handleComboChat在开始遍历前若启用autoSwitch会先调用detectRequiredCapabilities(body)combo.js扫描当前用户轮次的输入模态OpenAI / Claude 的image_url、image、input_image→ 标记visionfile、document、input_file或application/pdfMIME → 标记pdfGemini / Antigravity 的inlineData/fileData图片 MIME → 标记vision。随后reorderByCapabilities(models, required)combo.js对模型做稳定排序将满足硬性能力vision/pdf/audioInput/videoInput的模型浮到队首且绝不丢弃任何模型——回退链完整性保持不变。这一点由测试 tests/unit/combo-autoswitch.test.js 验证例如将具备 vision 能力的模型浮到最前同时保留 deepseek 模型作为回退。轮询策略round-robin对于不希望永远只打第一个模型的场景Combo 支持round-robin策略与stickyLimit参数combo.js按配置的请求次数粘滞在当前模型上达到上限后轮转到下一个并在内存中按 Combo 名称独立记录轮转状态resetComboRotation可在 Combo/设置变更时清空状态。相关行为由 tests/unit/combo-routing.test.js 覆盖且默认fallback策略不参与轮转。四、配置选项Dashboard 操作手册1. 启用/停用自动回退Dashboard → Settings → Smart Routing → 切换「Auto Fallback」开/关开默认自动层级切换关严格模式Strict mode主用模型不可用时直接返回错误。2. 设置预算上限Dashboard → Settings → Budget Control → 日上限$5 → 月上限$50预算用尽后9Router 自动切换到免费层防止超支。底层配套的配额统计与预算判定逻辑可参考 open-sse/services/usage/ 与 src/lib/usageDb.js 相关实现。3. 配置回退顺序Dashboard → Settings → Fallback Priority → 在各层级内拖拽调整供应商顺序自定义顺序示例Tier 1: Gemini CLI → Claude Code → Codex Tier 2: MiniMax → GLM → Kimi Tier 3: iFlow → Kiro → Qwen该顺序最终即 Combo 的模型数组顺序由handleComboChat按序执行。4. 配额重置通知Dashboard → Settings → Notifications → 配额重置时发送邮件 → 配额使用 80% 时告警五、典型配置示例示例 1基础自动回退配置Model: cc/claude-opus-4-5-20251101 Fallback: 自动默认三层运行表现早晨配额全新: Request → cc/claude-opus-4-5 ✅ 下午配额耗尽: Request → glm/glm-4.7 ✅自动切换 傍晚GLM 配额用尽: Request → minimax/MiniMax-M2.1 ✅自动切换 深夜全部付费配额耗尽: Request → if/kimi-k2-thinking ✅免费层成本每月额外支出约 $5–10主要由订阅覆盖。示例 2预算敏感型路由配置Dashboard → Settings: Daily budget: $2 Monthly budget: $20 Fallback: 启用运行表现第 1~15 天预算内: Requests → glm/glm-4.7低价层 成本: $1.50/天 第 16 天到达预算: Requests → if/kimi-k2-thinking免费层 成本: $0 次月预算重置: Requests → 重新使用 glm/glm-4.7结果每月不超 $20始终可用。示例 3仅订阅模式配置Dashboard → Settings: Auto Fallback: 关 Strict mode: 开运行表现Request → cc/claude-opus-4-5 ✅ 配额可用 → 成功 ❌ 配额耗尽 → 返回错误不回退适用场景只想用付费订阅、零额外成本。示例 4仅免费模式配置Model: if/kimi-k2-thinking Fallback: qw/qwen3-coder-plus → kr/claude-sonnet-4.5运行表现所有请求 → 仅走免费层 成本: 永远 $0适用场景个人项目、学习、实验。六、最佳实践四种路由策略1. 最大化订阅价值策略: - 订阅模型设为 Tier 1 - 在 Dashboard 监控配额使用量 - 仅当订阅耗尽时使用低价层推荐 Combocc/claude-opus-4-5 → glm/glm-4.7 → if/kimi-k2-thinking2. 成本优先策略: - 先使用 Gemini CLI 免费层每月 18 万 - 回退到 GLM/MiniMax超低价 - 应急: iFlow免费推荐 Combogc/gemini-3-flash-preview → glm/glm-4.7 → if/kimi-k2-thinking3. 质量优先策略: - 使用最强模型Claude Opus、GPT-5.2 - 回退到优质低价模型GLM-4.7 - 最后手段: 免费层推荐 Combocc/claude-opus-4-5 → cx/gpt-5.2-codex → glm/glm-4.74. 24 小时可用性策略: - 回退链始终包含免费层 - 监控配额重置时间 - 在供应商间分散用量推荐 Combocc/claude-opus-4-5 → glm/glm-4.7 → minimax/MiniMax-M2.1 → if/kimi-k2-thinking结果永不缺配额随时编码。关于自定义回退链Combo的完整创建方法参见 Combos 自定义回退链指南其前端配置入口位于 Dashboard 的 Combos 页面服务端执行入口即上文分析的handleComboChat。七、配额重置策略不同供应商的配额窗口与重置节奏差异巨大规划用量可显著提升资源利用率下表为文档口径实际请以供应商为准供应商配额重置策略Claude Code5 小时 每周早晨使用全新配额Codex5 小时 每周Claude 配额耗尽后使用Gemini CLI每日1K 每月18 万全天使用GLM-4.7每天上午 10:00傍晚使用次日早晨重置MiniMax M2.15 小时滚动随时可用追踪滚动窗口iFlow/Qwen/Kiro无限制应急备份示例日课08:00 - 13:00: Claude Code全新 5 小时配额 13:00 - 18:00: Gemini CLI1K/日配额 18:00 - 22:00: GLM-4.7低价上午 10 点重置 22:00 - 08:00: MiniMax 或 iFlow5 小时滚动或免费源码层面供应商的限流恢复时间会记录在连接的rateLimitedUntil字段上getEarliestRateLimitedUntilopen-sse/services/accountFallback.js会汇总所有账号中最先恢复的时间而formatRetryAfter将其格式化为reset after Xm Ys这类人类可读文本供日志与响应头使用。八、监控与告警Dashboard 配额追踪器Dashboard → Quota Overview: Claude Code: 剩余 2.5h / 5h50% Gemini CLI: 今日 450 / 1000 次请求 GLM-4.7: 5M / 10M token8 小时后重置 MiniMax: 3M / 5M token5 小时滚动实时通知Dashboard → Notifications: ⚠️ Claude Code 配额已用 80%剩余 1 小时 ✅ GLM-4.7 配额已重置10M token 可用 日预算已用 50%$2.50 / $5使用统计Dashboard → Analytics: 今日: 5000 万 token - 3000 万 经 Claude Code订阅 - 1500 万 经 GLM-4.7$9 - 500 万 经 iFlow免费 成本: $9对比 ChatGPT API 约 $1000 节省: 99%上述节省比例为文档演示示例口径。用量统计的持久化实现在仓库中由 src/lib/usageDb.js 与 open-sse/services/usage/ 承担配额监控与预算控制的前端交互位于 src/app/(dashboard)) 目录下的 Dashboard 页面。九、故障排查问题All providers quota exhausted所有供应商配额耗尽解决步骤查看 Dashboard 配额追踪器等待配额重置查看倒计时在回退链中加入免费层或提高预算上限。问题Too many fallback switches回退切换过于频繁解决步骤检查主用供应商是否宕机提高配额上限升级订阅换用更便宜的主用模型如用 GLM 替代 Claude。问题Unexpected costs出现意外费用解决步骤Dashboard → Analytics → 复核用量设置日/月预算上限非关键任务切到免费层使用带免费回退的 Combo。若需要更深度的用量与成本监控方案可继续阅读 Quota Tracking 配额追踪指南自定义回退链的完整配置方法见 Combos 自定义回退链指南。英文原文文档位于 gitbook/content/en/features/smart-routing.md其他语言版本含日文原文可在 gitbook/content/ 下按语言目录查阅。【免费下载链接】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),仅供参考
返回列表