9router
9Router 是一款专为开发者设计的智能 AI 路由中间件,旨在将各类主流 AI 编程助手(如 Claude Code、Cursor、Copilot、Cline 等)无缝连接至全球 40 多家服务商和 100 多种大模型。它核心解决了开发者在编码过程中常遇到的订阅额度浪费、请求频率限制以及高昂 API 成本等痛点。
通过独特的“分层自动故障转移”机制,9Router 能优先使用已付费的订阅额度,当额度耗尽或触发限流时,自动无感切换至低价或免费模型(如 GLM、MiniMax 或 Qwen),确保编码工作流永不中断。此外,它还支持多账号轮询、配额实时监控以及不同模型接口格式(如 OpenAI 与 Claude 协议)的自动转换。
用户只需在本地部署 9Router 并配置简单的代理地址,即可让现有的 CLI 工具或编辑器插件透明地调用最优模型资源,无需手动切换后端服务。无论是希望最大化利用现有订阅的专业工程师,还是寻求低成本实验环境的学生与研究人员,9Router 都能帮助以更经济、高效的方式释放 AI 编程潜力,实现“永不停止编码”的目标。
使用场景
某全栈开发者正利用 Claude Code 和 Cursor 进行高强度的夜间项目冲刺,需要在有限预算下连续生成大量代码并修复复杂 Bug。
没有 9router 时
- 编码频繁中断:主力账号的订阅配额在深夜耗尽,触发速率限制,导致自动补全和对话突然停止,打断心流。
- 资金浪费严重:每月支付的昂贵订阅费因用量不均而有剩余,同时为了应对突发需求又不得不额外购买按量付费额度。
- 手动切换繁琐:为了继续工作,必须手动停止当前任务,登录不同平台切换账号或寻找免费替代模型,重启上下文极其耗时。
- 成本不可控:在多个 AI 提供商之间分散投入,每月固定支出高达数百元,且无法智能利用低价或免费模型来分摊压力。
使用 9router 后
- 零中断持续开发:9router 自动监测配额,当主账号用尽时毫秒级无缝切换到廉价的 GLM 或免费的 Qwen 模型,确保编码过程永不卡顿。
- 订阅价值最大化:智能调度策略优先耗尽已付费的订阅额度,仅在必要时才动用备用方案,彻底消除“付了钱没用完”的浪费。
- 统一入口自动化:只需将 CLI 工具指向 9router 本地端口,它自动处理不同模型间的格式转换与路由,开发者无需再手动干预任何切换操作。
- 极致成本优化:通过轮询多账号和优先调用免费层级,将原本高昂的 API 调用成本降低 90% 以上,实现近乎免费的无限编码体验。
9router 通过智能路由与自动降级机制,将分散昂贵的 AI 资源整合为一条永不断流、成本极低的开发流水线。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
9Router - 免费AI路由器
永不停止编码。智能回退,自动路由至免费与低价AI模型。
将所有AI代码工具(Claude Code、Cursor、Antigravity、Copilot、Codex、Gemini、OpenCode、Cline、OpenClaw等)连接到40多家AI服务提供商及100多种模型。
🤔 为什么选择9Router?
停止浪费金钱和遭遇限制:
- ❌ 每月订阅配额未用完就过期
- ❌ 速率限制让你在编码途中被迫中断
- ❌ 昂贵的API费用(每家服务商每月20–50美元)
- ❌ 需要手动切换不同服务商
9Router帮你解决这些问题:
- ✅ 最大化利用订阅:追踪配额使用情况,在重置前用尽每一分资源
- ✅ 自动回退机制:先用订阅额度 → 再用低价模型 → 最后转为免费模型,全程无中断
- ✅ 多账号支持:在同一服务商下轮询使用多个账号
- ✅ 通用兼容性:适用于Claude Code、Codex、Gemini CLI、Cursor、Cline以及任何命令行工具
🔄 工作原理
┌─────────────┐
│ 你的命令行工具 │ (Claude Code、Codex、Gemini CLI、OpenClaw、Cursor、Cline...)
│ 工具 │
└──────┬──────┘
│ http://localhost:20128/v1
↓
┌─────────────────────────────────────────┐
│ 9Router(智能路由器) │
│ • 格式转换(OpenAI ↔ Claude) │
│ • 配额追踪 │
│ • 自动刷新Token │
└──────┬──────────────────────────────────┘
│
├─→ [第一层:订阅] Claude Code、Codex、Gemini CLI
│ ↓ 配额用尽
├─→ [第二层:低价] GLM(0.6美元/100万token)、MiniMax(0.2美元/100万token)
│ ↓ 预算耗尽
└─→ [第三层:免费] iFlow、Qwen、Kiro(无限使用)
结果:永不中断编码,成本极低
⚡ 快速入门
1. 全局安装:
npm install -g 9router
9router
🎉 仪表盘将在http://localhost:20128打开。
2. 连接一个免费服务商(无需注册):
仪表盘 → 服务商 → 连接Claude Code或Antigravity → OAuth登录 → 完成!
3. 在你的命令行工具中使用:
Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline 设置:
端点:http://localhost:20128/v1
API密钥:从仪表盘复制
模型:if/kimi-k2-thinking
就是这样! 开始使用免费AI模型进行编码吧。
另一种方式:从源码运行(本仓库):
本仓库中的包是私有的(9router-app),因此直接从源码或Docker容器运行是推荐的本地开发方式。
cp .env.example .env
npm install
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev
生产模式:
npm run build
PORT=20128 HOSTNAME=0.0.0.0 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run start
默认URL:
- 仪表盘:
http://localhost:20128/dashboard - OpenAI兼容API:
http://localhost:20128/v1
🎥 视频教程
📺 完整设置指南 - 9Router + Claude Code免费版
🎬 观看完整步骤教程:
- ✅ 9Router的安装与设置
- ✅ 免费Claude Sonnet 4.5配置
- ✅ Claude Code集成
- ✅ 实时编码演示
⏱️ 时长: 20分钟 | 👥 制作: 开发者社区
🛠️ 支持的命令行工具
9Router可无缝对接各大主流AI编程工具:
![]() Claude-Code |
![]() OpenClaw |
![]() Codex |
![]() OpenCode |
![]() Cursor |
![]() Antigravity |
![]() Cline |
![]() Continue |
![]() Droid |
![]() Roo |
![]() Copilot |
![]() Kilo Code |
🌐 支持的服务商
🔐 OAuth服务商
![]() Claude-Code |
![]() Antigravity |
![]() Codex |
![]() GitHub |
![]() Cursor |
🆓 免费提供商
![]() iFlow AI 8+ 模型 • 无限使用 |
![]() 通义千问代码模型 3+ 模型 • 无限使用 |
![]() Gemini CLI 每月18万次免费调用 |
![]() Kiro AI Claude • 无限使用 |
🔑 API密钥提供商(40+)
![]() OpenRouter |
![]() GLM |
![]() Kimi |
![]() MiniMax |
![]() OpenAI |
![]() Anthropic |
![]() Gemini |
![]() DeepSeek |
![]() Groq |
![]() xAI |
![]() Mistral |
![]() Perplexity |
![]() Together AI |
![]() Fireworks |
![]() Cerebras |
![]() Cohere |
![]() NVIDIA |
![]() SiliconFlow |
…以及包括 Nebius、Chutes、Hyperbolic 和自定义 OpenAI/Anthropic 兼容端点在内的 20 多家其他提供商
💡 核心功能
| 功能 | 作用 | 重要性 |
|---|---|---|
| 🎯 智能三层回退机制 | 自动路由:订阅 → 廉价 → 免费 | 编码不间断,零停机 |
| 📊 实时配额跟踪 | 实时令牌计数 + 重置倒计时 | 最大化订阅价值 |
| 🔄 格式转换 | OpenAI ↔ Claude ↔ Gemini 无缝切换 | 适用于任何 CLI 工具 |
| 👥 多账户支持 | 每个提供商可添加多个账户 | 负载均衡 + 冗余 |
| 🔄 自动令牌刷新 | OAuth 令牌自动刷新 | 无需手动重新登录 |
| 🎨 自定义组合 | 创建无限种模型组合 | 根据需求定制回退策略 |
| 📝 请求日志记录 | 带完整请求/响应日志的调试模式 | 轻松排查问题 |
| 💾 云同步 | 在不同设备间同步配置 | 无论在哪里都能保持一致设置 |
| 📊 使用情况分析 | 跟踪令牌、成本及趋势 | 优化支出 |
| 🌐 随处部署 | 本地主机、VPS、Docker、Cloudflare Workers | 灵活的部署选项 |
📖 功能详情
🎯 智能三层回退机制
创建带有自动回退功能的组合:
组合:“my-coding-stack”
1. cc/claude-opus-4-6 (您的订阅)
2. glm/glm-4.7 (廉价备份,0.6美元/100万次调用)
3. if/kimi-k2-thinking (免费回退)
→ 当配额用尽或发生错误时自动切换
📊 实时配额跟踪
- 各提供商的令牌消耗量
- 重置倒计时(5小时、每日、每周)
- 付费层级的成本估算
- 每月支出报告
🔄 格式转换
在以下格式之间无缝转换:
- OpenAI ↔ Claude ↔ Gemini ↔ OpenAI 响应
- 您的 CLI 工具发送 OpenAI 格式 → 9Router 转换 → 提供商接收原生格式
- 适用于所有支持自定义 OpenAI 端点的工具
👥 多账户支持
- 可为每个提供商添加多个账户
- 自动轮询或按优先级路由
- 当一个账户达到配额时自动切换到下一个账户
🔄 自动令牌刷新
- OAuth 令牌会在到期前自动刷新
- 不需要手动重新认证
- 在所有提供商之间实现无缝体验
🎨 自定义组合
- 可创建无限种模型组合
- 混合订阅、廉价和免费层级
- 为组合命名以便于访问
- 通过云同步在不同设备间共享组合
📝 请求日志记录
- 启用调试模式以获取完整的请求/响应日志
- 跟踪 API 调用、头信息和负载
- 排查集成问题
- 导出日志进行分析
💾 云同步
- 在不同设备间同步提供者、组合和设置
- 自动后台同步
- 安全加密存储
- 随时随地访问你的配置
云运行时说明
- 生产环境中优先使用服务器端云变量:
BASE_URL(同步调度器使用的内部回调 URL)CLOUD_URL(云同步端点基础地址)
NEXT_PUBLIC_BASE_URL和NEXT_PUBLIC_CLOUD_URL仍为兼容性和 UI 目的而保留,但服务器运行时现在会优先使用BASE_URL/CLOUD_URL。- 云同步请求现采用超时 + 快速失败机制,以避免在云端 DNS 或网络不可用时导致 UI 卡死。
📊 使用分析
- 跟踪每个提供者和模型的 Token 使用情况
- 成本估算与支出趋势
- 每月报告与洞察
- 优化你的 AI 支出
💡 重要提示 - 理解仪表板成本:
使用分析中显示的“成本”仅用于跟踪和比较。
9Router 本身从不向你收费。你只需直接向各提供者支付费用(如果使用的是付费服务)。示例: 如果你的仪表板显示使用 iFlow 模型时“总成本 $290”,这代表如果你直接使用付费 API 所需支付的金额。而你的实际成本 = $0(iFlow 是免费且无限制的)。
可以把它理解为一个“节省追踪器”,展示你通过使用免费模型或经由 9Router 路由所节省的金额!
🌐 部署于任何地方
- 💻 本地主机 - 默认模式,可离线使用
- ☁️ VPS/云服务器 - 多设备共享
- 🐳 Docker - 一键部署
- 🚀 Cloudflare Workers - 全球边缘网络
💰 价格一览
| 层级 | 提供者 | 成本 | 配额重置 | 最适合 |
|---|---|---|---|---|
| 💳 订阅 | Claude Code (Pro) | $20/月 | 5 小时 + 每周 | 已订阅用户 |
| Codex (Plus/Pro) | $20-200/月 | 5 小时 + 每周 | OpenAI 用户 | |
| Gemini CLI | 免费 | 18 万/月 + 1 千/天 | 人人适用! | |
| GitHub Copilot | $10-19/月 | 每月 | GitHub 用户 | |
| 💰 廉价 | GLM-4.7 | $0.6/100 万 | 每日上午 10 点 | 预算备份 |
| MiniMax M2.1 | $0.2/100 万 | 每 5 小时滚动重置 | 最便宜选择 | |
| Kimi K2 | $9/月 固定 | 每月 1000 万 Token | 成本可预测 | |
| 🆓 免费 | iFlow | $0 | 无限量 | 8 模型免费 |
| Qwen | $0 | 无限量 | 3 模型免费 | |
| Kiro | $0 | 无限量 | Claude 免费 |
💡 专家提示: 从 Gemini CLI(每月免费 18 万)+ iFlow(无限免费)组合开始,成本为 $0!
📊 理解 9Router 的成本与计费
9Router 计费真相:
✅ 9Router 软件 = 永远免费(开源,从不收费)
✅ 仪表板“成本”= 仅用于显示和跟踪(并非实际账单)
✅ 你直接向提供者付款(订阅费或 API 费)
✅ 免费提供者始终免费(iFlow、Kiro、Qwen = $0 无限量)
❌ 9Router 从不发送发票或扣款
成本显示原理:
仪表板显示的是估算成本,假设你直接使用了付费 API。这不是真正的计费,而是一个用来对比并显示你节省了多少的工具。
示例场景:
仪表板显示:
• 总请求数:1,662
• 总 Token 数:4700 万
• 显示成本:$290
实际情况:
• 提供者:iFlow(免费且无限量)
• 实际支付:$0.00
• $290 的含义:你因使用免费模型而节省的金额!
支付规则:
- 订阅类提供者(Claude Code、Codex):直接通过其官网支付
- 廉价提供者(GLM、MiniMax):直接支付给对应提供者,9Router 只负责路由
- 免费提供者(iFlow、Kiro、Qwen):真正永久免费,无任何隐藏费用
- 9Router:永远不收取任何费用
🎯 使用场景
场景 1:“我有 Claude Pro 订阅”
问题: 配额未用完就过期,高强度编码时经常遇到速率限制
解决方案:
组合:“maximize-claude”
1. cc/claude-opus-4-6 (充分利用订阅配额)
2. glm/glm-4.7 (当配额用尽时的廉价备份)
3. if/kimi-k2-thinking (免费应急兜底)
月度成本:$20(订阅)+ ~$5(备份)= 总计 $25
vs. $20 并不断遭遇限流 = 极大困扰
场景 2:“我想完全零成本”
问题: 无力承担订阅费用,但需要可靠的 AI 编码助手
解决方案:
组合:“free-forever”
1. gc/gemini-3-flash (每月免费 18 万)
2. if/kimi-k2-thinking (无限免费)
3. qw/qwen3-coder-plus (无限免费)
月度成本:$0
质量:生产级可用模型
场景 3:“我需要 24/7 不间断编码”
问题: 截止日期紧迫,无法承受任何停机时间
解决方案:
组合:“always-on”
1. cc/claude-opus-4-6 (最佳质量)
2. cx/gpt-5.2-codex (第二份订阅)
3. glm/glm-4.7 (廉价,每日重置)
4. minimax/MiniMax-M2.1 (最便宜,每 5 小时重置)
5. if/kimi-k2-thinking (免费且无限)
结果:五层兜底保障 = 零停机
月度成本:$20-200(订阅)+ $10-20(备份)
场景 4:“我想在 OpenClaw 中使用免费 AI”
问题: 需要在消息应用(WhatsApp、Telegram、Slack 等)中使用完全免费的 AI 助手
解决方案:
组合:“openclaw-free”
1. if/glm-4.7 (无限免费)
2. if/minimax-m2.1 (无限免费)
3. if/kimi-k2-thinking (无限免费)
月度成本:$0
可通过:WhatsApp、Telegram、Slack、Discord、iMessage、Signal… 访问
❓ 常见问题
📊 为什么我的仪表板显示高额费用?
仪表板会跟踪您的 Token 使用情况,并以估算费用的形式展示,就好像您直接使用了付费 API 一样。这并非实际账单——它只是一个参考,用来显示您通过 9Router 使用免费模型或现有订阅节省了多少费用。
示例:
- 仪表板显示: “总费用 $290”
- 实际情况: 您正在使用 iFlow(免费无限量)
- 您的实际费用: $0.00
- $290 的含义: 如果您没有使用免费模型而改用付费 API,您将节省的金额!
费用显示是一个“节省追踪器”,旨在帮助您了解自己的使用模式和优化机会。
💳 9Router 会向我收费吗?
不会。 9Router 是一款免费的开源软件,运行在您自己的电脑上。它绝不会向您收取任何费用。
您只需支付:
- ✅ 订阅服务提供商(Claude Code $20/月,Codex $20–200/月)→ 直接在它们的官网上付款
- ✅ 低价服务提供商(GLM、MiniMax)→ 直接向它们付款,9Router 只是路由您的请求
- ❌ 9Router 本身 → 永远不会收费
9Router 是一个本地代理/路由器,它不保存您的信用卡信息,无法发送账单,也没有任何计费系统。它完全是一款免费软件。
🆓 免费的服务提供商真的无限量吗?
是的! 标记为 FREE 的服务提供商(iFlow、Kiro、Qwen)确实是真正意义上的无限量,没有任何隐藏费用。
这些是由相应公司提供的免费服务:
- iFlow: 通过 OAuth 提供 8+ 种模型的免费无限访问权限
- Kiro: 通过 AWS Builder ID 提供 Claude 模型的免费无限访问权限
- Qwen: 通过设备认证提供 Qwen 模型的免费无限访问权限
9Router 只是将您的请求路由到这些服务提供商处——不存在任何“陷阱”或未来的收费。它们确实是真正的免费服务,而 9Router 让您能够轻松使用这些服务,并提供后备支持。
注意: 一些订阅服务提供商(Antigravity、GitHub Copilot)可能会有免费试用期,之后转为付费,但这种情况会由这些服务提供商明确告知,而不是由 9Router 宣布。
💰 如何最大限度地降低我的 AI 实际成本?
“免费优先”策略:
从 100% 免费组合开始:
1. gc/gemini-3-flash(Google 提供每月 18 万次免费调用) 2. if/kimi-k2-thinking(iFlow 提供的免费无限模型) 3. qw/qwen3-coder-plus(Qwen 提供的免费无限模型)成本:$0/月
仅在需要时添加低价备份:
4. glm/glm-4.7(每 100 万 Token 仅需 $0.6)额外成本:仅按实际用量付费
最后才使用订阅服务提供商:
- 仅在您已经拥有这些服务的情况下使用
- 9Router 通过配额跟踪帮助您最大化其价值
结果: 大多数用户仅使用免费层级即可实现零成本运行!
📈 如果我的使用量突然激增怎么办?
9Router 的智能回退机制可以防止意外产生高额费用:
场景: 您正在进行编码冲刺,迅速耗尽了所有配额。
如果没有 9Router:
- ❌ 达到速率限制 → 工作停止 → 极度沮丧
- ❌ 或者:不小心产生巨额 API 费用
有了 9Router:
- ✅ 订阅服务达到限制 → 自动回退到低价层级
- ✅ 低价层级费用过高 → 自动回退到免费层级
- ✅ 编码工作从未中断 → 成本可控
您可以完全掌控: 在仪表板中为每个服务提供商设置支出上限,9Router 会严格遵守这些限制。
📖 设置指南
🔐 订阅服务提供商(最大化价值)
Claude Code (Pro/Max)
仪表板 → 服务提供商 → 连接 Claude Code
→ OAuth 登录 → 自动刷新 Token
→ 5 小时 + 每周配额跟踪
模型:
cc/claude-opus-4-6
cc/claude-sonnet-4-5-20250929
cc/claude-haiku-4-5-20251001
实用技巧: 对于复杂任务使用 Opus,对于速度要求高的任务使用 Sonnet。9Router 会分别跟踪每个模型的配额!
OpenAI Codex (Plus/Pro)
仪表板 → 服务提供商 → 连接 Codex
→ OAuth 登录(端口 1455)
→ 5 小时 + 每周重置
模型:
cx/gpt-5.2-codex
cx/gpt-5.1-codex-max
Gemini CLI(每月免费 18 万次调用!)
仪表板 → 服务提供商 → 连接 Gemini CLI
→ Google OAuth
→ 每月 18 万次完成 + 每日 1 千次
模型:
gc/gemini-3-flash-preview
gc/gemini-2.5-pro
最佳选择: 海量的免费额度!请务必先使用这一层级,再考虑付费层级。
GitHub Copilot
仪表板 → 服务提供商 → 连接 GitHub
→ 通过 GitHub 进行 OAuth 登录
→ 每月 1 日重置
模型:
gh/gpt-5
gh/claude-4.5-sonnet
gh/gemini-3-pro
💰 低价服务提供商(备用方案)
GLM-4.7(每日重置,每 100 万 Token $0.6)
- 注册:Zhipu AI
- 从 Coding Plan 获取 API 密钥
- 仪表板 → 添加 API 密钥:
- 服务提供商:
glm - API 密钥:
your-key
- 服务提供商:
使用: glm/glm-4.7
实用技巧: Coding Plan 提供 3 倍配额,但价格仅为原价的七分之一!每天上午 10 点重置。
MiniMax M2.1(5 小时重置,每 100 万 Token $0.20)
- 注册:MiniMax
- 获取 API 密钥
- 仪表板 → 添加 API 密钥
使用: minimax/MiniMax-M2.1
实用技巧: 长上下文(100 万 Token)的最佳廉价选择!
Kimi K2(每月固定 $9)
- 订阅:Moonshot AI
- 获取 API 密钥
- 仪表板 → 添加 API 密钥
使用: kimi/kimi-latest
实用技巧: 每月固定 $9 即可获得 1000 万 Token,相当于每 100 万 Token 仅需 $0.90!
🆓 免费服务提供商(紧急备用)
iFlow(8 种免费模型)
仪表板 → 连接 iFlow
→ iFlow OAuth 登录
→ 无限量使用
模型:
if/kimi-k2-thinking
if/qwen3-coder-plus
if/glm-4.7
if/minimax-m2
if/deepseek-r1
Qwen(3 种免费模型)
仪表板 → 连接 Qwen
→ 设备代码授权
→ 无限量使用
模型:
qw/qwen3-coder-plus
qw/qwen3-coder-flash
Kiro(Claude 免费版)
仪表板 → 连接 Kiro
→ AWS Builder ID 或 Google/GitHub
→ 无限量使用
模型:
kr/claude-sonnet-4.5
kr/claude-haiku-4.5
🎨 创建组合
示例 1:最大化订阅服务 → 低价备份
仪表板 → 组合 → 新建
名称:premium-coding
模型:
1. cc/claude-opus-4-6(订阅服务主模型)
2. glm/glm-4.7(低价备份,每 100 万 Token $0.6)
3. minimax/MiniMax-M2.1(最便宜的回退选项,每 100 万 Token $0.20)
在 CLI 中使用:premium-coding
每月费用示例(100 万 Token):
80 万次通过 Claude(订阅服务):无需额外费用
15 万次通过 GLM:$9
5 万次通过 MiniMax:$1
总计:$10 加上您的订阅费用
示例 2:纯免费组合(零成本)
名称:free-combo
模型:
1. gc/gemini-3-flash-preview(每月 18 万次免费调用)
2. if/kimi-k2-thinking(无限量)
3. qw/qwen3-coder-plus(无限量)
成本:永远 $0!
🔧 CLI 集成
Cursor IDE
设置 → 模型 → 高级:
OpenAI API 基础 URL:http://localhost:20128/v1
OpenAI API 密钥:[来自 9router 仪表板]
模型:cc/claude-opus-4-6
或者使用组合:premium-coding
Claude Code
编辑 ~/.claude/config.json:
{
"anthropic_api_base": "http://localhost:20128/v1",
"anthropic_api_key": "your-9router-api-key"
}
Codex CLI
export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-9router-api-key"
codex "your prompt"
OpenClaw
选项 1 — 控制面板(推荐):
控制面板 → CLI 工具 → OpenClaw → 选择模型 → 应用
选项 2 — 手动: 编辑 ~/.openclaw/openclaw.json:
{
"agents": {
"defaults": {
"model": {
"primary": "9router/if/glm-4.7"
}
}
},
"models": {
"providers": {
"9router": {
"baseUrl": "http://127.0.0.1:20128/v1",
"apiKey": "sk_9router",
"api": "openai-completions",
"models": [
{
"id": "if/glm-4.7",
"name": "glm-4.7"
}
]
}
}
}
}
注意: OpenClaw 只适用于本地的 9Router。为避免 IPv6 解析问题,请使用
127.0.0.1而不是localhost。
Cline / Continue / RooCode
提供商:兼容 OpenAI
基础 URL:http://localhost:20128/v1
API 密钥:[来自控制面板]
模型:cc/claude-opus-4-6
🚀 部署
VPS 部署
# 克隆并安装
git clone https://github.com/decolua/9router.git
cd 9router
npm install
npm run build
# 配置
export JWT_SECRET="your-secure-secret-change-this"
export INITIAL_PASSWORD="your-password"
export DATA_DIR="/var/lib/9router"
export PORT="20128"
export HOSTNAME="0.0.0.0"
export NODE_ENV="production"
export NEXT_PUBLIC_BASE_URL="http://localhost:20128"
export NEXT_PUBLIC_CLOUD_URL="https://9router.com"
export API_KEY_SECRET="endpoint-proxy-api-key-secret"
export MACHINE_ID_SALT="endpoint-proxy-salt"
# 启动
npm run start
# 或者使用 PM2
npm install -g pm2
pm2 start npm --name 9router -- start
pm2 save
pm2 startup
Docker
# 构建镜像(从仓库根目录)
docker build -t 9router .
# 运行容器(当前设置中使用的命令)
docker run -d \
--name 9router \
-p 20128:20128 \
--env-file /root/dev/9router/.env \
-v 9router-data:/app/data \
-v 9router-usage:/root/.9router \
9router
便携式命令(如果您已经在仓库根目录下):
docker run -d \
--name 9router \
-p 20128:20128 \
--env-file ./.env \
-v 9router-data:/app/data \
-v 9router-usage:/root/.9router \
9router
容器默认值:
PORT=20128HOSTNAME=0.0.0.0
常用命令:
docker logs -f 9router
docker restart 9router
docker stop 9router && docker rm 9router
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
JWT_SECRET |
9router-default-secret-change-me |
用于控制面板认证 Cookie 的 JWT 签名密钥(生产环境中请更改) |
INITIAL_PASSWORD |
123456 |
当没有保存的哈希时,首次登录密码 |
DATA_DIR |
~/.9router |
主应用程序数据库位置 (db.json) |
PORT |
框架默认值 | 服务端口(示例中为 20128) |
HOSTNAME |
框架默认值 | 绑定主机(Docker 默认为 0.0.0.0) |
NODE_ENV |
运行时默认值 | 部署时设置为 production |
BASE_URL |
http://localhost:20128 |
服务器端内部基础 URL,用于云同步任务 |
CLOUD_URL |
https://9router.com |
服务器端云同步端点基础 URL |
NEXT_PUBLIC_BASE_URL |
http://localhost:3000 |
向后兼容/公开的基础 URL(建议在服务器运行时使用 BASE_URL) |
NEXT_PUBLIC_CLOUD_URL |
https://9router.com |
向后兼容/公开的云 URL(建议在服务器运行时使用 CLOUD_URL) |
API_KEY_SECRET |
endpoint-proxy-api-key-secret |
用于生成 API 密钥的 HMAC 密钥 |
MACHINE_ID_SALT |
endpoint-proxy-salt |
用于稳定机器 ID 哈希的盐 |
ENABLE_REQUEST_LOGS |
false |
在 logs/ 目录下启用请求/响应日志 |
AUTH_COOKIE_SECURE |
false |
强制使用 Secure 认证 Cookie(在 HTTPS 反向代理后设置为 true) |
REQUIRE_API_KEY |
false |
对 /v1/* 路由强制要求 Bearer API 密钥(建议在面向互联网的部署中启用) |
HTTP_PROXY, HTTPS_PROXY, ALL_PROXY, NO_PROXY |
空 | 上游提供商调用的可选出站代理 |
注:
- 小写代理变量同样支持:
http_proxy,https_proxy,all_proxy,no_proxy。 .env文件不会被烘焙到 Docker 镜像中(.dockerignore);请使用--env-file或-e注入运行时配置。- 在 Windows 上,可以使用
APPDATA来解析本地存储路径。 INSTANCE_NAME出现在旧版文档/环境模板中,但目前在运行时并未使用。
运行时文件和存储
- 主应用程序状态:
${DATA_DIR}/db.json(提供商、组合、别名、密钥、设置),由src/lib/localDb.js管理。 - 使用历史和日志:
~/.9router/usage.json和~/.9router/log.txt,由src/lib/usageDb.js管理。 - 可选的请求/翻译日志:当
ENABLE_REQUEST_LOGS=true时,位于<repo>/logs/...。 - 使用存储目前遵循
~/.9router路径逻辑,与DATA_DIR独立。
📊 可用模型
查看所有可用模型
Claude Code (cc/) - Pro/Max:
cc/claude-opus-4-6cc/claude-sonnet-4-5-20250929cc/claude-haiku-4-5-20251001
Codex (cx/) - Plus/Pro:
cx/gpt-5.2-codexcx/gpt-5.1-codex-max
Gemini CLI (gc/) - 免费:
gc/gemini-3-flash-previewgc/gemini-2.5-pro
GitHub Copilot (gh/):
gh/gpt-5gh/claude-4.5-sonnet
GLM (glm/) - $0.6/1M:
glm/glm-4.7
MiniMax (minimax/) - $0.2/1M:
minimax/MiniMax-M2.1
iFlow (if/) - 免费:
if/kimi-k2-thinkingif/qwen3-coder-plusif/deepseek-r1
Qwen (qw/) - 免费:
qw/qwen3-coder-plusqw/qwen3-coder-flash
Kiro (kr/) - 免费:
kr/claude-sonnet-4.5kr/claude-haiku-4.5
🐛 故障排除
“语言模型未提供消息”
- 提供商配额已用尽 → 检查控制面板的配额跟踪器
- 解决方案:使用组合回退或切换到更便宜的层级
速率限制
- 订阅配额用尽 → 回退到 GLM/MiniMax
- 添加组合:
cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking
OAuth 令牌过期
- 9Router 会自动刷新
- 如果问题仍然存在:控制面板 → 提供商 → 重新连接
成本过高
- 检查控制面板中的使用统计信息
- 将主模型切换到 GLM/MiniMax
- 对于非关键任务,使用免费层级(Gemini CLI、iFlow)
控制面板打开在错误的端口上
- 设置
PORT=20128和NEXT_PUBLIC_BASE_URL=http://localhost:20128
首次登录不起作用
- 检查
.env中的INITIAL_PASSWORD - 如果未设置,回退密码为
123456
logs/ 目录下没有请求日志
- 设置
ENABLE_REQUEST_LOGS=true
🛠️ 技术栈
- 运行时: Node.js 20+
- 框架: Next.js 16
- UI: React 19 + Tailwind CSS 4
- 数据库: LowDB(基于 JSON 文件)
- 流式传输: 服务器发送事件 (SSE)
- 认证: OAuth 2.0 (PKCE) + JWT + API 密钥
📝 API 参考
聊天补全
POST http://localhost:20128/v1/chat/completions
Authorization: Bearer your-api-key
Content-Type: application/json
{
"model": "cc/claude-opus-4-6",
"messages": [
{"role": "user", "content": "写一个函数来..."}
],
"stream": true
}
列出模型
GET http://localhost:20128/v1/models
Authorization: Bearer your-api-key
→ 返回所有模型及组合,格式与 OpenAI 一致
📧 支持
- 官网: 9router.com
- GitHub: github.com/decolua/9router
- 问题追踪: github.com/decolua/9router/issues
👥 贡献者
感谢所有帮助使 9Router 更加完善的贡献者!
📊 星级图
🔀 分支
OmniRoute — 9Router 的一个功能齐全的 TypeScript 分支。新增了 36 多个提供商、四层自动回退机制、多模态 API(图像、嵌入、音频、TTS)、熔断器、语义缓存、LLM 评估以及一个精美的仪表盘。包含 368 多个单元测试,并可通过 npm 和 Docker 获取。
🙏 致谢
特别感谢 CLIProxyAPI - 这是最初的 Go 实现,启发了本次 JavaScript 移植工作。
📄 许可证
MIT 许可证 - 详情请参阅 LICENSE。
版本历史
v0.3.752026/04/04v0.3.472026/03/13v0.3.422026/03/11v0.3.342026/03/06v0.3.172026/02/28v0.2.892026/02/21v0.2.792026/02/11v0.2.712026/02/08v0.2.702026/02/07v0.2.672026/02/06v0.2.562026/02/04v0.2.522026/02/02v0.2.432026/01/27v0.2.362026/01/20v0.2.312026/01/18v0.2.272026/01/15v0.2.212026/01/12常见问题
相似工具推荐
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。



































