9Router - 免费 AI 路由器
永不停歇的编程体验。智能回退,自动路由到免费和廉价的 AI 模型。
OpenClaw 的免费 AI 提供商。
🤔 为什么选择 9Router?
停止浪费金钱和触碰限制:
- ❌ 订阅配额每月未使用即过期
- ❌ 编程中途遭遇速率限制
- ❌ 昂贵的 API(每个提供商 $20-50/月)
- ❌ 手动在提供商之间切换
9Router 解决方案:
- ✅ 最大化订阅价值 - 追踪配额,在重置前用尽每一分
- ✅ 自动回退 - 订阅 廉价 → 免费,零停机时间
- ✅ 多账户 - 每个提供商的账户间轮询
- ✅ 通用性 - 适用于 Claude Code, Codex, Gemini CLI, Cursor, Cline, 任何 CLI 工具
🔄 工作原理
┌─────────────┐
│ Your CLI │ (Claude Code, Codex, OpenClaw, Cursor, Cline, Antigravity...)
│ Tool │
└──────┬──────┘
│ http://localhost:20128/v1
↓
┌─────────────────────────────────────────────┐
│ 9Router (Smart Router) │
│ • RTK Token Saver (节省 20-40% Token) │
│ • 格式转换 (OpenAI ↔ Claude) │
│ • 配额追踪 (Quota tracking) │
│ • 自动刷新 OAuth Token │
└──────┬──────────────────────────────────────┘
│
├─→ [Tier 1: 订阅] Claude Code, Codex, GitHub Copilot
│ ↓ 配额用尽
├─→ [Tier 2: 低价] GLM ($0.6/1M), MiniMax ($0.2/1M)
│ ↓ 触及预算上限
└─→ [Tier 3: 免费] Kiro AI, OpenCode Free, Vertex AI ($300 credits)
结果:永不停歇的编程体验,最低成本 + 通过 RTK 节省 20-40% Token
⚡ 快速开始
1. 全局安装:
npm install -g 9router
9router
🎉 仪表板将在 http://localhost:20128 打开
2. 连接免费提供商(无需注册):
仪表板 → 提供商 → 连接 Claude Code 或 Antigr → OAuth 登录 → 完成!
3. 在您的 CLI 工具中使用:
Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline 设置:
Endpoint: http://localhost:20128/v1
API Key: [从仪表板复制]
Model: 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 分钟 | 👥 作者 开发者社区
🛠️ 支持的 CLI 工具
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+ 模型 无限制 |
Qwen Code 3+ 模型 • 无限制 |
Gemini CLI 180K/月 免费 |
Kiro AI Claude • 无限制 |
🔑 API Key 提供商 (40+)
|
OpenRouter |
GLM |
Kimi |
MiniMax |
OpenAI |
Anthropic |
|
Gemini |
DeepSeek |
Groq |
xAI |
Mistral |
Perplexity |
|
Together AI |
Fireworks |
Cerebras |
Cohere |
NVIDIA |
SiliconFlow |
...以及 20+ 更多提供商,包括 Nebius, Chutes, Hyperbolic 和自定义 OpenAI/Anthropic 兼容端点
💡 核心特性
| 特性 | 功能 | 重要性 |
|---|---|---|
| 智能 3 层回退 | 自动路由:订阅 → 廉价 → 免费 | 永不停止编程,零停机时间 |
| 📊 实时配额追踪 | 实时 Token 计数 + 重置倒计时 | 最大化订阅价值 |
| 🔄 格式转换 | OpenAI ↔ Claude ↔ Gemini 无缝转换 | 适用于任何 CLI 工具 |
| 👥 多账户支持 | 每个提供商多个账户 | 负载均衡 + 冗余 |
| 🔄 自动 Token 刷新 | OAuth token 自动刷新 | 需手动重新登录 |
| 🎨 自定义组合 | 创建无限模型组合 | 根据需求定制回退策略 |
| 📝 请求日志 | 调试模式包含完整请求/响应日志 | 轻松排查问题 |
| 💾 云端同步 | 跨设备同步配置 | 到处都是相同的设置 |
| 📊 使用分析 | 追踪 Token、成本、趋势 | 优化支出 |
| 🌐 随处部署 | 本地主机、VPS、Docker、Cloudflare Workers | 灵活的部署选项 |
📖 特性详情
🎯 智能 3 层回退
创建具有自动回退功能的组合:
Combo: "my-coding-stack"
1. cc/claude-opus-4-6 (your subscription)
2. glm/glm-4.7 (cheap backup, $0.6/1M)
3. if/kimi-k2-thinking (free fallback)
→ Auto switches when quota runs out or errors occur
📊 实时配额追踪
- 每个提供商的 Token 消
- 重置倒计时(5 小时、每日、每周)
- 付费层的成本估算
- 月度支出报告
🔄 格式转换
格式间无缝转换:
- OpenAI ↔ Claude ↔ Gemini ↔ OpenAI Responses
- 您的 CLI 工具发送 OpenAI 格式 → 9Router 转换 → 提供商接收原生格式
- 适用于任何支持自定义 OpenAI 端点的工具
👥 多账户支持
- 每个提供商添加多个账户
- 自动轮询或基于优先级的
- 当一个账户达到配额时回退到下一个
🔄 自动 Token 刷新
- OAuth token 在过期前自动刷新
- 无需手动重新认证
- 所有提供商的无缝体验
🎨 自定义组合
- 创建无限模型组合
- 混合订阅、廉价和免费层
- 为您的组合命名以便访问
- 通过云端同步跨设备共享组合
📝 请求日志
- 启用调试模式以获取完整请求/响应日志
- 追踪 API 调用、标头和负载
- 排查集成
- 导出日志进行分析
💾 云端同步
- 跨设备同步提供商、组合和设置
- 自动后台同步
- 安全加密存储
- 从任何地方访问您的设置
云端运行说明
- 在生产环境中优先使用服务器端云变量:
BASE_URL(同步调度器使用的内部回调 URL)CLOUD_URL(云端同步端点基础 URL)
NEXT_PUBLIC_BASE_URL和NEXT_PUBLIC_CLOUD_URL仍支持兼容性/UI,但服务器运行时现在优先使用BASE_URL/C_URL。- 云端同步请求现在使用超时 + 快速失败行为,以避免在云端 DNS/网络不可用时 UI 挂起。
📊 使用分析
- 追踪每个提供商和模型的 Token 使用情况
- 成本估算和支出趋势
- 月度报告和洞察
- 优化您的 AI 支出
💡 重要 - 理解仪表板成本:
使用分析中显示的“成本”仅用于追踪和比较目的。
9Router 本身从不向您收费。您只需直接向提供商付款(如果使用付费服务)。示例: 如果您的仪表板在使用 iFlow 模型时显示“$290 总成本”,这代表
您直接使用付费 API 时需要支付的金额。您的实际成本 = $0(iFlow 是免费无限制的)。将其视为“节省追踪器”,显示您通过使用免费模型或
通过 9Router 路由节省了多少!
🌐 随处部署
- 💻 本地主机 - 默认,离线工作
- ☁️ VPS/云 跨设备共享
- 🐳 Docker - 一键部署
- 🚀 Cloudflare Workers - 全球边缘网络
💰 定价一览
| 层级 | 提供商 | 成本 | 配额重置 | 最适合 |
|---|---|---|---|---|
| 💳 订阅 | Claude Code (Pro) | $20/月 | 5h + 每周 | 已订阅用户 |
| Codex (Plus/Pro) | $20-200/月 | 5h + 每周 OpenAI 用户 | ||
| Gemini CLI | 免费 | 180K/月 + 1K/天 | 所有人! | |
| GitHub Copilot | $10-19/月 | 每月 | GitHub 用户 | |
| 💰 廉价 | GLM-4.7 | $0.6/1M | 每日 10AM | 预算备份 |
| MiniMax M2.1 | $0.2/1M | 5 小时滚动 | 最便宜选项 | |
| Kimi K2 | $9/月固定 | 10M tokens/月 | 可预测成本 | |
| 🆓 免费 | iFlow | $0 | 无限制 | 8 个模型免费 |
| Qwen | $0 | 无限制 | 3 个模型免费 | |
| Kiro | $0 | 无限制 | Claude 免费 |
💡 专业提示: 从 Gemini CLI(180K 免费/月)+ iFlow(无限制免费)组合开始 = $0 成本!
📊 理解 9Router 成本和计费
9Router 计费现实:
✅ 9Router 软件 = 永远免费开源,从不收费) ✅ 仪表板“成本” = 仅显示/追踪(非实际账单) ✅ 您直接向提供商付款(订阅或 API 费用) ✅ 免费提供商保持免费(iFlow, Kiro, Qwen = $0 无限制) ❌ 9Router 从不发送发票或向您的卡收费
成本显示如何工作:
仪表板显示估算成本,就像您直接使用付费 API 一样。这不是计费 - 它是一个比较工具,用于显示您的节省。
**示例场景:``` 仪表板显示: • 总请求数:1,662 • 总 Token 数:47M • 显示成本:$290
现实检查: • 提供商:iFlow(免费无限制) • 实际付款:$0.00 • $290 的含义:您通过使用免费模型节省的金额!
**付款规则:**
- **订阅提供商**(Claude Code, Codex):通过他们的网站直接向他们付款
- **廉价提供商**(GLM, MiniMax):直接向他们付款,9Router 只是路由
- **免费**(iFlow, Kiro, Qwen):真正永远免费,没有隐藏费用
- **9Router**:从不收取任何费用,永远
---
## 🎯 使用案例
### 案例 1:“我有 Claude Pro 订阅”
**问题:** 配额未使用即过期,重度编程时遇到速率限制
**解决方案:**
Combo: "maximize-claude"
- cc/claude-opus-4-6 (use subscription fully)
- glm/glm-4.7 (cheap backup when quota out) 3 if/kimi-k2-thinking (free emergency fallback)
Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total vs. $20 + hitting limits = frustration
### 案例 2:“我想要零成本”
**问题:** 负担不起订阅,需要可靠的 AI 编程
**解决方案:**
Combo: "free-forever"
- gc/gemini-3-flash (180K free/month)
- if/kimi-k2-thinking (unlimited free)
- qw/qwen3-c-plus (unlimited free)
Monthly cost: $0 Quality: Production-ready models
### 案例 3:“我需要 24/7 编程,无中断”
**问题:** 截止日期,不能承受停机
**解决方案:**
Combo: "always-on"
- cc/claude-opus-4-6 (best quality)
- cx/gpt-5.2-codex (second subscription)
- glm/glm-4.7 (cheap, resets daily)
- minimaxMiniMax-M2.1 (cheapest, 5h reset)
- if/kimi-k2-thinking (free unlimited)
Result: 5 layers of fallback = zero downtime Monthly cost: $20-200 (subscriptions) + $10-20 (backup)
### 案例 4:“我想在 OpenClaw 中使用免费 AI”
**问题:** 需要在消息应用(WhatsApp, Telegram, Slack...)中使用 AI 助手,完全免费
**解决方案:**
Combo: "openclaw-free"
- if/glm-4.7 (unlimited free)
- if/minimax-m2.1 (unlimited free)
- if/kimi-k2-thinking (unlimited free)
Monthly cost: $0 Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
---
## ❓ 常见问题
<details class="dsh-details"><summary class="dsh-details-summary"><b>📊 为什么我的仪表板显示高成本?</b></summary><div class="dsh-details-body">
<p>仪表板追踪您的 Token 使用情况,并显示<strong>估算成本</strong>,就像您直接使用付费 API 一样。这<strong>不是实际计费</strong> - 它是一个参考,显示您通过 9Router 使用免费模型或现有订阅节省了多少。</p>
<p><strong>示例:</strong></p>
<ul>
<li><strong>仪表板显示:</strong>“$290 总成本”</li>
<li><strong>现实:</strong> 您正在使用 iFlow(免费无限制)</li>
<li><strong>您的实际成本:</strong> <strong>$0.00</strong></li>
<li><strong>$290 的含义:</strong> 您通过使用免费模型而不是付费 API <strong>节省</strong>的金额!</li>
</ul>
<p>成本显示是一个“节省追踪器”,帮助您了解使用模式和优化机会。</p>
</div></details>
<details class="dsh-details"><summary class="dsh-details-summary"><b>💳 9Router 会向我收费吗?</b></summary><div class="dsh-details-body">
<p><strong>不会。</strong> 9 是免费的开源软件,在您自己的计算机上运行。它从不向您收费。</p>
<p><strong>您只需支付:</strong></p>
<ul>
<li>✅ <strong>订阅提供商</strong>(Claude Code $20/月, Codex $20-200/月)→ 在他们的网站上直接向他们付款</li>
<li>✅ <strong>廉价提供商</strong>(GLM, MiniMax)→ 直接向他们付款,9Router 只是路由您的请求</li>
<li>❌ <strong>9Router 本身</strong> → <strong>从不收取任何费用,永远</strong></li>
</ul>
<p>9Router 是本地代理/路由器。它没有您的信用卡,不能发送发票,也没有计费系统。完全免费的软件。</p>
</div></details>
<details class="dsh-details"><summary class="dsh-details-summary"><b>🆓 免费提供商真的无限制吗?</b></summary><div class="dsh-details-body">
<p><strong>是的!</strong> 标记为免费(iFlow, Kiro, Qwen)的提供商是真正无限制的,<strong>没有隐藏费用</strong>。</p>
<p>这些是各自公司提供的免费服务:</p>
<ul>
<li><strong>iFlow</strong>:通过 OAuth 免费无限制访问 8+ 模型</li>
<li><strong>Kiro</strong>:通过 AWS Builder ID 免费无限制 Claude 模型</li>
<li><strong>Qwen</strong>:通过设备认证免费无限制访问 Qwen 模型</li>
</ul>
<p>Router 只是将您的请求路由到它们 - 没有“陷阱”或未来计费。它们是真正的免费服务,9Router 使它们易于使用并支持回退。</p>
<p><strong>注意:</strong> 一些订阅提供商(Antigravity, GitHub Copilot)可能有免费预览期,后来可能变成付费,但这会由这些提供商明确宣布,而不是 9Router。</p>
</div></details>
<details class="dsh-details"><summary class="dsh-details-summary"><b>💰 如何最小化我的实际 AI 成本?</b></summary><div class="dsh-details-body">
<p><strong>免费优先策略:</strong></p>
<ol>
<li>
<p><strong>从 100% 免费组合开始:</strong></p>
<pre><code>1. gc/gini-3-flash (180K/month free from Google)
2. if/kimi-k2-thinking (unlimited free from iFlow)
3. qw/qwen3-coder-plus (unlimited free from Qwen)</code></pre>
<p><strong>成本:$0/月</strong></p>
</li>
<li>
<p><strong>仅在需要时添加廉价备份:</strong></p>
<pre><code>4. glm/glm-4.7 ($0.6/1M tokens)</code></pre>
<p><strong>额外成本:仅为您实际使用的付费</strong></p>
</li>
<li>
<p><strong>最后使用订阅提供商:</strong></p>
<ul>
<li>仅当您已经拥有它们时</li>
<li>9Router 通过配额追踪帮助最大化其价值</li>
</ul>
</li>
</ol>
<p><strong>结果:</strong> 大多数用户可以仅使用免费层以 $0/月运行!</p>
</div></details>
<details class="dsh-details"><summary class="dsh-details-summary"><b>📈 如果我的使用量突然激增怎么办?</b></summary><div class="dsh-details-body">
<p>9Router 的智能回退可防止意外费用:</p>
<p><strong>场景:</strong> 您正在进行编程冲刺并耗尽了配额</p>
<p><strong>没有 9Router:</strong></p>
<ul>
<li>❌ 遇到速率限制 → 工作停止 → 沮丧</li>
<li>❌ 或:意外累积巨额 API 账单</li>
</ul>
<p><strong>有 9Router:</strong></p>
<ul>
<li>✅订阅达到限制 → 自动回退到廉价层</li>
<li>✅ 廉价层变得昂贵 → 自动回退到免费层</li>
<li>✅ 永不停止编程 → 可预测的成本</li>
</ul>
<p><strong>您在控制中:</strong> 在仪表板中设置每个提供商的支出限制,9Router 会遵守它们。</p>
</div></details>
---
## 📖 设置指南
<details class="dsh-details"><summary class="dsh-details-summary"><b>🔐 订阅提供商(最大化价值)</b></summary><div class="dsh-details-body">
<h3>Claude Code (Pro/Max)</h3>
<pre><code class="language-bash">Dashboard → Providers → Connect Claude Code → OAuth login → Auto token refresh → 5-hour + weekly quota tracking
Models: cc/claude-opus-4-6 cc/claude-sonnet-4-5-20250929 cc/claude-haiku-4-5-20251001</code></pre>
<p><strong>专业提示:</strong> 使用 Opus 处理复杂任务,Sonnet 追求速度。9Router 追踪每个模型的配额!</p>
<h3>OpenAI Codex (Plus/Pro)</h3>
<pre><code class="language-bash">Dashboard → Providers → Connect Codex → OAuth login (port 1455) → 5-hour + weekly reset
Models: /gpt-5.2-codex cx/gpt-5.1-codex-max</code></pre>
<h3>Gemini CLI(免费 180K/月!)</h3>
<pre><code class="language-bash">Dashboard → Providers → Connect Gemini CLI → Google OAuth → 180K completions/month + 1K/day
Models: gc/gemini-3-flash-preview gc/gemini-2.5-pro</code></pre>
<p><strong>最佳价值:</strong> 巨大的免费层!在付费层之前使用这个。</p>
<h3>GitHub Copilot</h3>
<pre><code class="language-bash">Dashboard → Providers → Connect GitHub → OAuth via → Monthly reset (1st of month)
Models: gh/gpt-5 gh/claude-4.5-sonnet gh/gemini-3-pro</code></pre>
</div></details>
<details class="dsh-details"><summary class="dsh-details-summary"><b>💰 廉价提供商(备份)</b></summary><div class="dsh-details-body">
<h3>GLM-4.7(每日重置,$0.6/1M)</h3>
<ol>
<li>注册:<a href="https://open.bigmodel.cn/">Zhipu AI</a></li>
<li>从 Coding Plan 获取 API key</li>
<li>仪表板 → 添加 API Key:
<ul>
<li>Provider: <code>glm</code></li>
<li>API Key: <code>your-key</code></li>
</ul></li>
</ol>
<p><strong>使用:</strong> <code>glm/glm-4.7</code></p>
<p><strong>专业提示:</strong> Coding Plan 以 1/7 的成本提供 3× 配额!每日 10:00 AM 重置。</p>
<h3>MiniMax M2.1(5h 重置,$0.20/1M)</h3>
<ol>
<li>注册:<a href="https://www.minimax.io/">MiniMax</a></li>
<li>获取 API key</li>
<li>仪表板 → 添加 API Key</li>
</ol>
<p><strong>使用:</strong> <code>minimax/MiniMax-M2.1</code></p>
<p><strong>专业提示:</strong> 长上下文(1M tokens)的最便宜选项!</p>
<h3>Kimi K2($9/月固定)</h3>
<ol>
<li>订阅:<a href="https://platform.moonshot.ai/">Moonshot AI</a></li>
<li>获取 API key</li>
<li>仪表板 → 添加 API Key</li>
</ol>
<p><strong>使用:</strong> <code>kimi/kimi-latest</code></p>
<p><strong>专业提示:</strong> 固定 $9/月可获得 10M tokens = $0.90/1M 实际成本!</p>
</div></details>
<details class="dsh-details"><summary class="dsh-details-summary"><b>🆓 免费提供商(紧急备份)</b></summary><div class="dsh-details-body">
<h3>i(8 个免费模型)</h3>
<pre><code class="language-bash">Dashboard → Connect iFlow → iFlow OAuth login → Unlimited usage
Models: if/kimi-k2-thinking if/qwen3-coder-plus if/glm-4.7 if/minimax-m2 if/deepseek-r1</code></pre>
<h3>Qwen(3 个免费模型)</h3>
<pre><code class="language-bash">Dashboard → Connect Qwen → Device code authorization → Unlimited usage
Models: qw/qwen3-coder-plus qw/qwen3-coder-flash</code></pre>
<h3>Kiro(Claude 免费```bash</h3>
<p>Dashboard → Connect Kiro<br />
→ AWS Builder ID or Google/GitHub<br />
→ Unlimited usage</p>
<p>Models:<br />
kr/claude-sonnet-4.5<br />
kr/claude-haiku-4.5</p>
<pre><code></code></pre>
</div></details>
<details class="dsh-details"><summary class="dsh-details-summary"><b>🎨 创建组合</b></summary><div class="dsh-details-body">
<h3>示例 1:最大化订阅 → 廉价备份</h3>
<pre><code>Dashboard → Combos → Create New
Name: premium-coding
Models:
1. cc/claude-opus-4-6 (Subscription primary)
2. glm/glm4.7 (Cheap backup, $0.6/1M)
3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M)
Use in CLI: premium-coding
Monthly cost example (100M tokens):
80M via Claude (subscription): $0 extra
15M via GLM: $9
5M via MiniMax: $1
Total: $10 + your subscription</code></pre>
<h3>示例 2:仅免费(零成本)</h3>
<pre><code>Name: free-combo
Models:
1. gc/gemini-3-flash-preview (180K free/month)
2. if/kimi-k2-thinking (unlimited)
3. qw/qwen3-coder-plus (unlimited)
Cost: $0 forever!</code></pre>
</div></details>
<details class="dsh-details"><summary class="dsh-details-summary"><b>🔧 CLI 集成</b></summary><div class="dsh-details-body">
<h3>Cursor IDE</h3>
<pre><code>Settings → Models → Advanced:
OpenAI API Base URL: http://localhost:20128/v1
OpenAI API Key: [from 9router dashboard]
Model: cc/claude-opus-4-6</code></pre>
<p>使用组合:<code>premium-coding</code></p>
<h3>Claude Code</h3>
<p>编辑 <code>~/.claude/config.json</code>:</p>
<pre><code class="language-json">{
"anthropic_api_base": "http://localhost:20128/v1",
"anthropic_api_key": "your-9router-api-key"
}</code></pre>
<h3>Codex CLI</h3>
<pre><code class="language-bash">export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-9router-api-key"
codex "your prompt"</code></pre>
<h3>OpenClaw</h3>
<p><strong>选项 1 — 仪表板(推荐):</strong></p>
<pre><code>Dashboard → CLI Tools →Claw → Select Model → Apply</code></pre>
<p><strong>选项 2 — 手动:</strong> 编辑 <code>~/.openclaw/openclaw.json</code>:</p>
<pre><code class="language-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"
}
]
}
}
}
}</code></pre>
<blockquote>
<p><strong>注意:</strong> OpenClaw 仅适用于本地 9Router。使用 <code>127.0.0.1</code> 而不是 <code>localhost</code> 以避免 IPv6 解析问题。</p>
</blockquote>
<h3>Cline / Continue / RooCode</h3>
<pre><code>Provider: OpenAI Compatible
Base URL: http://localhost:20128/v1
API Key: [from dashboard]
Model: cc/claudeus-4-6</code></pre>
</div></details>
<details>
<summary><b>🚀 部署</b></summary>
### VPS 部署
```bash
# Clone and install
git clone https://github.com/decolua/9router.git
cd 9router
npm install
npm run build
# Configure
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_URLhttp://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"
# Start
npm run start
# Or use PM2
npm install -g pm2
pm2 start npm --name 9router -- start
pm2 save
pm2 startup
Docker
# Build image (from repository root)
docker build -t 9router .
# Run container (command used in current setup)
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 \
9
容器默认值:
PORT=20128HOSTNAME=0.0.0.0
有用命令:
docker logs -f 9router
docker restart 9router
docker stop 9router && docker rm 9router
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
JWT_SECRET |
自动生成(~/.9router/jwt-secret) |
仪表板认证 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-secret |
生成的 API Key 的 HMAC 密 |
README 内容已截断, 请前往 GitHub 查看完整内容。