ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

9Router Combos 深度指南:用自定义 Fallback 链彻底告别模型限额与高成本

2026/9/11 16:10:00 拓冰建站 浏览量
9Router Combos 深度指南:用自定义 Fallback 链彻底告别模型限额与高成本 9Router Combos 深度指南用自定义 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/9routerCombos组合模型是 9Router 提供的自定义 Fallback 链功能你在 Dashboard 中把一个名字映射到一串按优先级排列的模型9Router 会按顺序逐个尝试直到某个模型成功响应为止。本文围绕 Combos 的创建、路由策略、成本控制、多工具接入与排障展开读完你将掌握如何用「订阅优先 → 低价备选 → 免费兜底」的链条在任意 CLI 工具中稳定获得 24/7 可用的模型能力并能结合源码理解其底层 Fallback 判定逻辑。Combos 是什么Combos 是你在 Dashboard 中创建的自定义 Fallback 链。与单一模型不同你定义一串模型9Router 按顺序尝试前面的模型配额耗尽或出错时自动切换到下一个。例如创建一个名为premium-coding的 ComboCombo name: premium-coding Models: 1. cc/claude-opus-4-5-20251101 (try first) 2. glm/glm-4.7 (if #1 quota exhausted) 3. minimax/MiniMax-M2.1 (if #2 quota exhausted)在 CLI 工具中只需把模型名填成 Combo 名即可Model: premium-coding9Router 会自动依次尝试每个模型直到其中一个成功。从源码看这一循环位于 open-sse/services/combo.js 的handleComboChat它遍历rotatedModels对每个模型调用handleSingleModel一旦result.ok为真立即返回失败则解析错误信息经checkFallbackError判定是否值得继续回退。只有当链上所有模型都失败时才返回 503 错误源码注释明确说明用 503 而非 406因为 406 暗示请求本身无效而这里只是 Provider 暂时不可用503 语义更准确且客户端可重试。为什么要用 Combos1. 最大化订阅价值cc/claude-opus → glm/glm-4.7 → if/kimi-k2-thinking → Use subscription first, cheap backup, free emergency → Get full value from subscriptions you already pay for优先消耗你已经付费的订阅低价模型做备份免费模型做紧急兜底。2. 降低费用glm/glm-4.7 → minimax/MiniMax-M2.1 → if/kimi-k2-thinking → Start with cheapest paid option ($0.60/1M) → Fallback to even cheaper ($0.20/1M) → Emergency free tier → Total cost: ~$5-10/month vs $2000 on ChatGPT API从最便宜的付费档起步再回退到更便宜的档位最后落到免费档。3. 保证 24/7 可用性cc/claude-opus → cx/gpt-5.2-codex → glm/glm-4.7 → if/kimi-k2-thinking → Always include free tier at the end → Never run out of quota → Code anytime, anywhere链尾始终保留免费档任何时刻都不会因为配额耗尽而中断工作。4. 按质量需求优化cc/claude-opus-4-5 → cx/gpt-5.2-codex → gc/gemini-3-pro → Best models first → Fallback to other premium models → Maintain high quality across fallback chain顶级模型优先回退目标也是其他旗舰模型保证整条链的输出质量。如何创建 Combos第 1 步打开 Dashboardhttp://localhost:20128 → Login with your password注意Dashboard 默认端口为 20128同仓库实测脚本 scripts/test-combo-autoswitch.mjs 中 API 默认端口为 20127请以你的实际配置为准。第 2 步进入 Combos 页面Dashboard → Combos → Create New Combo第 3 步配置 ComboCombo 名称premium-coding描述可选Subscription first, cheap backup, free emergency选择模型1. cc/claude-opus-4-5-20251101 2. glm/glm-4.7 3. minimax/MiniMax-M2.1拖拽调整顺序—— 优先级从上到下递减。第 4 步保存Click Save Combo → Combo appears in model list保存后 Combo 会出现在模型列表中可直接当作模型名使用。底层存储由 src/lib/db/repos/combosRepo.js 负责combos表保存id、name、kind、modelsJSON 数组、createdAt、updatedAt六个字段并提供了createCombo/getCombos/getComboByName/updateCombo/deleteCombo等增删改查接口。getComboModelsFromData位于 open-sse/services/combo.js负责在请求到达时把 Combo 名解析成模型数组——注意它先检查模型串是否包含/包含则视为普通 provider/model 格式不当作 Combo 处理。第 5 步在 CLI 中使用Cursor/Cline/Any tool: Model: premium-codingCombos 实战示例示例 1Premium Coding订阅 → 低价 → 免费目标最大化订阅价值降低额外花费。Dashboard → Combos → Create New Name: premium-coding Models: 1. cc/claude-opus-4-5-20251101 2. glm/glm-4.7 3. minimax/MiniMax-M2.1使用方式Cursor IDE: Model: premium-coding运行过程Morning (fresh quota): Request → cc/claude-opus-4-5 ✅ Afternoon (Claude quota out): Request → glm/glm-4.7 ✅ (auto switched) Evening (GLM quota out): Request → minimax/MiniMax-M2.1 ✅ (auto switched)月成本按 1 亿 tokens 估算80M via Claude Code: $0 (subscription) 15M via GLM: $9 5M via MiniMax: $1 Total: $10 your subscription节省幅度约 99%对比 ChatGPT API 的 $2000。示例 2Budget Combo低价 → 免费目标降低费用用免费档做备份。Dashboard → Combos → Create New Name: budget-combo Models: 1. glm/glm-4.7 2. minimax/MiniMax-M2.1 3. if/kimi-k2-thinking使用方式ClineCline: Provider: OpenAI Compatible Base URL: http://localhost:20128/v1 Model: budget-combo运行过程Request → glm/glm-4.7 ✅ Daily quota available → Use GLM ($0.60/1M) ❌ Quota exhausted → Try MiniMax ($0.20/1M) ❌ MiniMax quota out → Use iFlow (FREE)月成本按 1 亿 tokens 估算70M via GLM: $42 20M via MiniMax: $4 10M via iFlow: $0 Total: $46 vs $2000 on ChatGPT API节省幅度97%。示例 3Free Combo零成本目标100% 免费永不花钱。Dashboard → Combos → Create New Name: free-combo Models: 1. if/kimi-k2-thinking 2. qw/qwen3-coder-plus 3. kr/claude-sonnet-4.5使用方式Claude DesktopClaude Desktop: Model: free-combo运行过程Request → if/kimi-k2-thinking ✅ Available → Use iFlow ❌ Error → Try Qwen ❌ Error → Try Kiro月成本100M tokens via free providers: $0 Total: $0 forever适用场景个人项目、学习、试验。示例 4Quality First纯旗舰模型目标最佳质量绝不回退到廉价模型。Dashboard → Combos → Create New Name: quality-first Models: 1. cc/claude-opus-4-5-20251101 2. cx/gpt-5.2-codex 3. gc/gemini-3-pro-preview使用方式Codex CLICodex CLI: export OPENAI_BASE_URLhttp://localhost:20128 Model: quality-first运行过程Request → cc/claude-opus-4-5 ❌ Quota out → cx/gpt-5.2-codex ❌ Quota out → gc/gemini-3-pro-preview ❌ All out → Return error (no cheap fallback)适用场景关键生产代码、复杂重构。示例 5Multi-Subscription榨干所有订阅目标先用尽所有订阅额度再考虑付费。Dashboard → Combos → Create New Name: multi-sub Models: 1. gc/gemini-3-flash-preview (FREE 180K/month) 2. cc/claude-opus-4-5-20251101 (Pro subscription) 3. cx/gpt-5.2-codex (Plus subscription) 4. gh/gpt-5 (Copilot subscription) 5. glm/glm-4.7 (Cheap backup) 6. if/kimi-k2-thinking (Free emergency)月成本按 2 亿 tokens 估算50M via Gemini CLI: $0 (free tier) 80M via Claude Code: $0 (subscription) 40M via Codex: $0 (subscription) 20M via Copilot: $0 (subscription) 8M via GLM: $4.80 2M via iFlow: $0 Total: $4.80 existing subscriptions结果1.9 亿 tokens 走订阅仅额外花费 $4.80。示例 6按配额重置时间优化目标根据各模型的配额重置节奏分配使用时段。Dashboard → Combos → Create New Name: reset-optimized Models: 1. cc/claude-opus-4-5 (5h reset, use morning) 2. gc/gemini-3-flash (1K/day, use afternoon) 3. glm/glm-4.7 (daily 10AM reset, use evening) 4. minimax/MiniMax-M2.1 (5h rolling, use night) 5. if/kimi-k2-thinking (unlimited, emergency)每日排程08:00 - 13:00: Claude Code (fresh 5h quota) 13:00 - 18:00: Gemini CLI (1K/day quota) 18:00 - 22:00: GLM (resets 10AM next day) 22:00 - 08:00: MiniMax (5h rolling) or iFlow结果以最低成本实现 24/7 不间断编码。在 CLI 工具中使用 CombosCursor IDESettings → Models → Advanced: OpenAI API Base URL: http://localhost:20128/v1 OpenAI API Key: [from dashboard] Model: premium-codingClaude Desktop编辑~/.claude/config.json{ anthropic_api_base: http://localhost:20128/v1, anthropic_api_key: your-9router-api-key, model: budget-combo }Codex CLIexport OPENAI_BASE_URLhttp://localhost:20128 export OPENAI_API_KEYyour-9router-api-key codex --model quality-first your promptCline / Continue / RooCodeProvider: OpenAI Compatible Base URL: http://localhost:20128/v1 API Key: [from dashboard] Model: free-combo直接调用 APIcurl http://localhost:20128/v1/chat/completions \ -H Authorization: Bearer your-api-key \ -H Content-Type: application/json \ -d { model: premium-coding, messages: [ {role: user, content: Write a function to...} ], stream: true }最佳实践1. 始终包含免费档✅ Good: cc/claude-opus → glm/glm-4.7 → if/kimi-k2-thinking ❌ Bad: cc/claude-opus → glm/glm-4.7 (no free fallback, can run out of quota)原因保证 24/7 可用性永远不被配额卡死。2. 按成本排序便宜 → 贵✅ Good: glm/glm-4.7 → minimax/MiniMax-M2.1 → cc/claude-opus ❌ Bad: cc/claude-opus → glm/glm-4.7 (wastes subscription quota on simple tasks)例外如果想最大化订阅价值可以把订阅模型放在首位。3. 匹配质量需求For production code: cc/claude-opus → cx/gpt-5.2-codex → glm/glm-4.7 For quick tasks: glm/glm-4.7 → if/kimi-k2-thinking For experimentation: if/kimi-k2-thinking → qw/qwen3-coder-plus4. 考虑配额重置时间Morning combo (fresh quotas): cc/claude-opus → cx/gpt-5.2-codex Evening combo (quotas likely exhausted): glm/glm-4.7 → minimax/MiniMax-M2.1 → if/kimi-k2-thinking5. 为不同场景创建多个 Combopremium-coding: For complex tasks budget-combo: For simple tasks free-combo: For experimentation quality-first: For production code根据任务类型灵活切换 Combo。6. 跟踪 Combo 表现Dashboard → Analytics → Combo Usage: premium-coding: 80% via cc/claude-opus (good, using subscription) 15% via glm/glm-4.7 (acceptable backup) 5% via minimax (rare fallback)优化建议如果回退过于频繁说明主模型配额不足应增加主模型配额或重新排列模型顺序。高级配置为每个 Combo 设置预算上限Dashboard → Combos → Edit → Budget: Daily limit: $5 Monthly limit: $50达到上限后9Router 会跳过付费模型仅使用免费档。启用 / 停用 Combo 中的模型Dashboard → Combos → Edit → Models: ✅ cc/claude-opus-4-5 (enabled) ❌ glm/glm-4.7 (temporarily disabled) ✅ if/kimi-k2-thinking (enabled)适用场景临时停用某个贵价模型无需删除整个 Combo。克隆已有 ComboDashboard → Combos → Clone premium-coding → Creates copy with -copy suffix → Modify and save as new combo适用场景基于现有配置快速生成不同场景的变体。深入源码Fallback 引擎与路由策略Fallback 判定规则当某个模型返回失败响应时open-sse/services/accountFallback.js 的checkFallbackError会按配置驱动的规则表ERROR_RULES见 open-sse/config/errorConfig.js逐条匹配先匹配错误文本子串如配额相关关键词再匹配 HTTP 状态码如 429带backoff标记的规则会触发指数退避冷却时间由getQuotaCooldown计算1s → 2s → 4s封顶 4 分钟未匹配任何规则的错误默认使用TRANSIENT_COOLDOWN_MS的瞬时冷却。值得一提的细节在handleComboChat中对 502/503/504 这类瞬时错误且冷却不超过 5 秒的情况引擎会先等待冷却再回退open-sse/services/combo.js给短暂过载的 Provider 一个恢复机会避免被立即跳过。若整条链全部失败引擎会汇总最早的retryAfter时间并返回unavailableResponse让客户端知道何时可以重试。Round-Robin 轮询策略handleComboChat支持comboStrategy: round-robin与stickyLimit参数getRotatedModelsopen-sse/services/combo.js按组合名维护内存中的轮转状态comboRotationState让流量在多个模型间轮流分配并支持「连续 N 次请求使用同一模型再切换」的 sticky 行为默认fallback策略则保持固定顺序。resetComboRotation用于在 Combo 或设置变更时清空轮转状态。该行为有完整测试覆盖见 tests/unit/combo-routing.test.js其中验证了默认单请求轮转、stickyLimit2 时的粘滞行为以及「每个 Combo 独立跟踪轮转状态」和「fallback 策略不轮转」四个场景。能力感知的 Auto-Switch当请求携带图片、PDF 或搜索工具时detectRequiredCapabilitiesopen-sse/services/combo.js会扫描当前用户回合的内容块支持 OpenAI chat、Claude messages、Responses、Gemini、Antigravity 等多种格式识别出vision、pdf、search等必需能力随后reorderByCapabilitiesopen-sse/services/combo.js将满足硬性能力vision/pdf/audioInput/videoInput见HARD_CAPS的模型稳定排序到链前——排序是稳定且不丢弃任何模型的因此 Fallback 完整性不受影响。对应测试见 tests/unit/combo-autoswitch.test.js覆盖了文本、图片、PDF、Gemini inlineData、Antigravity、web_search 工具、Responses input_image 等请求形态的识别与重排。实测脚本仓库提供了可直接运行的真机验证脚本 scripts/test-combo-autoswitch.mjs通过环境变量BASE_URL、API_KEY、COMBO、MEMBERS配置目标后依次发送纯文本、图片、搜索三类请求并打印每次请求实际执行的模型名用于肉眼验证 Auto-Switch 是否把请求正确路由到具备对应能力的成员上。Troubleshooting问题Combo 没有出现在模型列表中解决方法刷新 Dashboard确认 Combo 已保存绿色勾选标记重启 CLI 工具以刷新模型列表问题Combo 总是落到最后一个模型免费档解决方法检查各主模型的配额Dashboard → Quota确认 API keys 有效Dashboard → Providers检查预算上限是否未超支问题Combo 花费超出预期解决方法Dashboard → Analytics 查看各 Combo 用量检查主模型是否频繁耗尽配额重新排列模型把更便宜的放前面设置预算上限相关文档Smart Routing —— Auto Fallback 的工作机制Quota Tracking —— 用量与费用跟踪【免费下载链接】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),仅供参考