decolua/9router

GitHub: decolua/9router

一个 AI 模型智能路由与 Token 节省代理工具,解决 AI 辅助编码过程中频繁触发频率限制和 API 成本过高的问题。

Stars: 6736 | Forks: 1191

9Router Dashboard # 9Router - 免费 AI 路由与 Token 节省工具 **永不停止编码。通过 RTK 节省 20-40% 的 Token,并自动回退至免费及廉价的 AI 模型。** **将所有 AI 代码工具(Claude Code, Cursor, Antigravity, Copilot, Codex, Gemini, OpenCode, Cline, OpenClaw 等)连接至 40 多个 AI 提供商及 100 多个模型。** [![npm](https://img.shields.io/npm/v/9router.svg)](https://www.npmjs.com/package/9router) [![Downloads](https://img.shields.io/npm/dm/9router.svg)](https://www.npmjs.com/package/9router) [![License](https://img.shields.io/npm/l/9router.svg)](https://github.com/decolua/9router/blob/main/LICENSE) decolua%2F9router | Trendshift [🚀 快速开始](#-quick-start) • [💡 功能特性](#-key-features) • [📖 配置指南](#-setup-guide) • [🌐 网站](https://9router.com) [🇻🇳 Tiếng Việt](./i18n/README.vi.md) • [🇨🇳 中文](./i18n/README.zh-CN.md) • [🇯🇵 日本語](./i18n/README.ja-JP.md)
## 🤔 为什么选择 9Router? **不再浪费金钱、Token 并频频触及限制:** - ❌ 订阅配额每个月都有剩余浪费 - ❌ 频率限制让你在编码中途被迫停止 - ❌ 工具输出(如 git diff, grep, ls...)极耗 Token - ❌ 昂贵的 API 费用(每个提供商 $20-50/月) - ❌ 需要手动在不同提供商之间切换 **9Router 帮你解决这些问题:** - ✅ **RTK Token 节省器** - 自动压缩 `tool_result` 内容,每次请求节省 20-40% Token - ✅ **榨干订阅价值** - 跟踪配额,在重置前用尽每一分价值 - ✅ **自动回退** - 订阅 → 廉价 → 免费,实现零停机 - ✅ **多账号支持** - 在同一提供商的不同账号间轮询 - ✅ **通用兼容** - 适用于 Claude Code, Codex, Cursor, Cline 及任何 CLI 工具 ## 🔄 工作原理 ``` ┌─────────────┐ │ Your CLI │ (Claude Code, Codex, OpenClaw, Cursor, Cline...) │ Tool │ └──────┬──────┘ │ http://localhost:20128/v1 ↓ ┌─────────────────────────────────────────────┐ │ 9Router (Smart Router) │ │ • RTK Token Saver (cut tool_result tokens) │ │ • Format translation (OpenAI ↔ Claude) │ │ • Quota tracking │ │ • Auto token refresh │ └──────┬──────────────────────────────────────┘ │ ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, GitHub Copilot │ ↓ quota exhausted ├─→ [Tier 2: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) │ ↓ budget limit └─→ [Tier 3: FREE] Kiro, OpenCode Free, Vertex ($300 credits) Result: Never stop coding, minimal cost + 20-40% token savings via RTK ``` ## ⚡ 快速开始 **1. 全局安装:** ``` npm install -g 9router 9router ``` 🎉 仪表盘将在 `http://localhost:20128 启动` **2. 连接免费提供商(无需注册):** 仪表盘 → 提供商 → 连接 **Kiro AI**(免费 Claude 无限制)或 **OpenCode Free**(无需认证) → 完成! **3. 在您的 CLI 工具中使用:** ``` Claude Code/Codex/OpenClaw/Cursor/Cline Settings: Endpoint: http://localhost:20128/v1 API Key: [copy from dashboard] Model: kr/claude-sonnet-4.5 ``` **大功告成!** 开始使用免费 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 Setup Tutorial
🇺🇸 English
9Router + Claude Code FREE Setup
by Build AI With Hamid
Tiết kiệm chi phí LLM với 9Router
🇻🇳 Tiếng Việt
Tiết kiệm chi phí LLM cho OpenClaw với 9Router
by Mì AI
Claude Code FREE Forever
🇺🇸 English
Claude Code FREE Forever — Unlimited Models
by Build AI With Hamid
Claude CLI Free Setup
🇺🇸 English
Claude CLI Free Setup with 9Router 🚀
by CodeVerse Soban
Cài đặt OpenClaw Free A-Z
🇻🇳 Tiếng Việt
Cài Đặt OpenClaw Free Từ A-Z + 9Router
by Mai Gia
FREE OpenClaw with Claude Opus
🇺🇸 English
FREE OpenClaw + Claude Opus 4.6
by Build AI With Hamid
## 🛠️ 支持的 CLI 工具 9Router 可与所有主流 AI 编码工具无缝协作:
Claude Code
Claude-Code
OpenClaw
OpenClaw
Codex
Codex
OpenCode
OpenCode
Cursor
Cursor
Antigravity
Antigravity
Cline
Cline
Continue
Continue
Droid
Droid
Roo
Roo
Copilot
Copilot
Kilo Code
Kilo Code
## 🌐 支持的提供商 ### 🔐 OAuth 提供商
Claude Code
Claude-Code
Antigravity
Antigravity
Codex
Codex
GitHub
GitHub
Cursor
Cursor
### 🆓 免费提供商
Kiro
Kiro AI
Claude 4.5 + GLM-5 + MiniMax
Unlimited FREE
OpenCode Free
OpenCode Free
No auth • Auto-fetch models
Unlimited FREE
Vertex AI
Vertex AI
Gemini 3 Pro + GLM-5 + DeepSeek
$300 credits free
### 🔑 API 密钥提供商(40+)
OpenRouter
OpenRouter
GLM
GLM
Kimi
Kimi
MiniMax
MiniMax
OpenAI
OpenAI
Anthropic
Anthropic
Gemini
Gemini
DeepSeek
DeepSeek
Groq
Groq
xAI
xAI
Mistral
Mistral
Perplexity
Perplexity
Together
Together AI
Fireworks
Fireworks
Cerebras
Cerebras
Cohere
Cohere
NVIDIA
NVIDIA
SiliconFlow
SiliconFlow

...and 20+ more providers including Nebius, Chutes, Hyperbolic, and custom OpenAI/Anthropic compatible endpoints

## 💡 核心功能 | 功能 | 作用 | 为何重要 | |---------|--------------|----------------| | 🚀 **RTK Token 节省器** ([RTK](https://github.com/rtk-ai/rtk) ⭐40K) | 在发送给 LLM 之前压缩工具输出(`git diff`, `grep`, `ls`, `tree`...) | 每次请求**节省 20-40% 输入 Token** | | 🪨 **Caveman 模式** ([Caveman](https://github.com/JuliusBrussee/caveman) ⭐52K) | 注入穴居人风格提示 → LLM 回复简明扼要,保留技术实质 | **最多节省 65% 输出 Token** | | 🎯 **智能 3 级回退** | 自动路由:订阅 → 廉价 → 免费 | 永不停止编码,零停机 | | 📊 **实时配额跟踪** | 实时 Token 计数 + 重置倒计时 | 实现订阅价值最大化 | | 🔄 **格式转换** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro ↔ Vertex | 兼容任何 CLI 工具 | | 👥 **多账号支持** | 每个提供商支持多个账号 | 负载均衡 + 冗余备份 | | 🔄 **自动 Token 刷新** | OAuth Token 自动刷新 | 无需手动重新登录 | | 🎨 **自定义组合** | 创建无限模型组合 | 按需定制回退策略 | | 📝 **请求日志** | 调试模式,包含完整的请求/响应日志 | 轻松排查问题 | | 💾 **云端同步** | 跨设备同步配置 | 处处皆为相同配置 | | 📊 **使用分析** | 随时间追踪 Token、成本及趋势 | 优化您的支出 | | 🌐 **随处部署** | 本地、VPS、Docker、Cloudflare Workers | 灵活的部署选项 |
📖 功能详情 ### 🚀 RTK Token 节省器 工具输出(如 `git diff`, `grep`, `find`, `ls`, `tree`, 日志转储...)通常会消耗掉你 30-50% 的 Prompt 预算。RTK 会检测这些内容,并在请求发送给 LLM **之前**应用智能无损压缩: - **过滤器:** `git-diff`, `git-status`, `grep`, `find`, `ls`, `tree`, `dedup-log`, `smart-truncate`, `read-numbered`, `search-list` - **自动检测:** 无需配置——RTK 会窥探每个 `tool_result` 的前 1KB 并自动选择合适的过滤器。 - **设计安全:** 如果某个过滤器发生故障、抛出异常或使输出变得更大,RTK 会静默保留原始文本。错误永远不会破坏您的请求。 - **通用兼容:** 适用于所有格式(OpenAI, Claude, Gemini, Cursor, Kiro, OpenAI Responses),因为它运行在**任何格式转换之前**。 - **默认开启:** 随时可在仪表盘 → Endpoint 设置中切换。 ``` Without RTK: 47K tokens sent to LLM With RTK: 28K tokens sent to LLM (40% saved · same context · same answer) ``` ### 🎯 智能 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** ↔ **Cursor** ↔ **Kiro** ↔ **Vertex** ↔ **Antigravity** ↔ **Ollama** ↔ **OpenAI Responses** - 你的 CLI 工具发送 OpenAI 格式 → 9Router 进行转换 → 提供商接收原生格式 - 兼容任何支持自定义 OpenAI Endpoint 的工具 ### 👥 多账号支持 - 为单个提供商添加多个账号 - 自动轮询或基于优先级的路由 - 当一个账号配额耗尽时自动回退到下一个账号 ### 🔄 自动 Token 刷新 - OAuth Token 在过期前自动刷新 - 无需手动重新认证 - 在所有提供商间提供无缝体验 ### 🎨 自定义组合 - 创建无限的模型组合 - 混搭订阅、廉价和免费层 - 为您的组合命名以便访问 - 通过云端同步跨设备分享组合 ### 📝 请求日志 - 启用调试模式以获取完整的请求/响应日志 - 跟踪 API 调用、标头和 Payload - 排查集成问题 - 导出日志以供分析 ### 💾 云端同步 - 跨设备同步提供商、组合和设置 - 自动后台同步 - 安全的加密存储 - 随时随地访问您的配置 #### 云端运行时注意事项 - 在生产环境中,请优先使用服务器端的云端变量: - `BASE_URL`(同步调度器使用的内部回调 URL) - `CLOUD_URL`(云端同步 Endpoint 基础 URL) - `NEXT_PUBLIC_BASE_URL` 和 `NEXT_PUBLIC_CLOUD_URL` 出于兼容性/UI 目的仍受支持,但服务器运行时现在优先使用 `BASE_URL`/`CLOUD_URL`。 - 云端同步请求现在使用超时和快速失败机制,以避免在云端 DNS/网络不可用时导致 UI 卡顿。 ### 📊 使用分析 - 追踪每个提供商和模型的 Token 使用情况 - 成本估算与支出趋势 - 每月报告与深度洞察 - 优化您的 AI 支出 ### 🌐 随处部署 - 💻 **本地** - 默认方式,支持离线使用 - ☁️ **VPS/云端** - 跨设备共享 - 🐳 **Docker** - 一键部署 - 🚀 **Cloudflare Workers** - 全球边缘网络
## 💰 价格一览 | 层级 | 提供商 | 成本 | 配额重置 | 最适用场景 | |------|----------|------|-------------|----------| | **🚀 TOKEN 节省器** | **RTK (内置)** | **免费** | 始终开启 | **每次请求节省 20-40% Token** | | **💳 订阅** | Claude Code (Pro/Max) | $20-200/月 | 5小时 + 每周 | 已有订阅的用户 | | | Codex (Plus/Pro) | $20-200/月 | 5小时 + 每周 | OpenAI 用户 | | | GitHub Copilot | $10-19/月 | 每月 | GitHub 用户 | | | Cursor IDE | $20/月 | 每月 | Cursor 用户 | | **💰 廉价** | GLM-5.1 / GLM-4.7 | $0.6/百万 Token | 每天 10AM | 经济备选方案 | | | MiniMax M2.7 | $0.2/百万 Token | 5小时滚动 | 最便宜的选项 | | | Kimi K2.5 | $9/月固定 | 10M Token/月 | 成本可预测 | | **🆓 免费** | Kiro AI | $0 | 无限制 | Claude 4.5 + GLM-5 + MiniMax 免费 | | | OpenCode Free | $0 | 无限制 | 无需认证,自动获取模型 | | | Vertex AI | $300 额度 | 新 GCP 账户 | Gemini 3 Pro + DeepSeek + GLM-5 | **💡 专业提示:** RTK + Kiro AI + OpenCode Free 组合 = **零成本 + 节省 20-40% Token**! ### 📊 了解 9Router 的成本与计费 **9Router 计费真相:** ✅ **9Router 软件 = 永远免费**(开源,绝不收费) ✅ **仪表盘上的“成本” = 仅用于显示/跟踪**(并非实际账单) ✅ **您直接向提供商付款**(订阅费或 API 费用) ✅ **免费提供商始终免费**(iFlow, Kiro, Qwen = $0 无限制) ❌ **9Router 绝不会发送发票** 或向您的信用卡扣费 **成本显示的工作原理:** 仪表盘显示的**估算成本**,是假设您直接使用付费 API 所产生的费用。这**不是计费**——它是一个对比工具,用展示您节省了多少。 **示例场景:** ``` Dashboard Display: • Total Requests: 1,662 • Total Tokens: 47M • Display Cost: $290 Reality Check: • Provider: iFlow (FREE unlimited) • Actual Payment: $0.00 • What $290 Means: Amount you SAVED by using free models! ``` **支付规则:** - **订阅提供商**(Claude Code, Codex):通过它们的网站直接支付 - **廉价提供商**(GLM, MiniMax):直接向它们支付,9Router 只做路由 - **免费提供商**(iFlow, Kiro, Qwen):真正永久免费,没有任何隐藏费用 - **9Router**:永远不收取任何费用 ## 🎯 使用场景 ### 场景 1:“我拥有 Claude Pro 订阅” **问题:** 配额未用完就过期,高强度编码时触发限制 **解决方案:** ``` Combo: "maximize-claude" 1. cc/claude-opus-4-7 (use subscription fully) 2. glm/glm-5.1 (cheap backup when quota out) 3. kr/claude-sonnet-4.5 (free emergency fallback) Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total vs. $20 + hitting limits = frustration ``` ### 场景 2:“我希望实现零成本” **问题:** 负担不起订阅费用,但需要可靠的 AI 辅助编码 **解决方案:** ``` Combo: "free-forever" 1. kr/claude-sonnet-4.5 (Claude 4.5 free unlimited) 2. kr/glm-5 (GLM-5 free via Kiro) 3. oc/ (OpenCode Free, no auth) Monthly cost: $0 Quality: Production-ready models + RTK saves 20-40% tokens ``` ### 场景 3:“我需要 24/7 不间断编码” **问题:** 有截止日期,无法承受停机时间 **解决方案:** ``` Combo: "always-on" 1. cc/claude-opus-4-7 (best quality) 2. cx/gpt-5.5 (second subscription) 3. glm/glm-5.1 (cheap, resets daily) 4. minimax/MiniMax-M2.7 (cheapest, 5h reset) 5. kr/claude-sonnet-4.5 (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" 1. kr/claude-sonnet-4.5 (Claude 4.5 free) 2. kr/glm-5 (GLM-5 free) 3. kr/MiniMax-M2.5 (MiniMax free) Monthly cost: $0 Access via: 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 是一个本地代理/路由器。它没有您的信用卡信息,无法发送发票,也没有任何计费系统。它是完全免费的软件。
🆓 免费提供商真的是无限的吗? **是的!** 当前的免费提供商(Kiro, OpenCode Free, Vertex)都是真正免费的,**没有隐藏费用**。 这些是各家公司提供的免费服务: - **Kiro AI**:通过 AWS Builder ID / Google / GitHub OAuth 免费无限制使用 Claude 4.5 + GLM-5 + MiniMax - **OpenCode Free**:无授权直通代理,模型从 `opencode.ai/zen/v1/models` 自动获取 - **Vertex AI**:新 Google Cloud 账户可获得 $300 免费额度(90 天) 9Router 只是将您的请求路由给它们——没有任何“陷阱”或未来的计费。它们是真正的免费服务,而 9Router 结合回退支持让您可以轻松使用它们。 **已停止的免费层级(不再推荐):** - ❌ **iFlow**:曾经免费无限制,现已改为付费(2026 年) - ❌ **Qwen Code**:免费 OAuth 层级已由阿里巴巴于 2026-04-15 停止服务 - ❌ **Gemini CLI**:仍然可用,但将其用于非 CLI 工具(Claude, Codex, Cursor 等)可能会导致账号被封——仅当您坚持使用 Gemini CLI 本身时才可使用
💰 如何将我的实际 AI 成本降至最低? **免费优先策略:** 1. **从 100% 免费组合开始:** 1. gc/gemini-3-flash(Google 提供每月 180K 免费额度) 2. if/kimi-k2-thinking(iFlow 提供免费无限制) 3. qw/qwen3-coder-plus(Qwen 提供免费无限制) **成本:$0/月** 2. **仅在需要时添加廉价备选方案:** 4. glm/glm-4.7($0.6/百万 Token) **额外成本:仅按实际使用量付费** 3. **最后才使用订阅提供商:** - 仅当您已经拥有时 - 9Router 通过配额跟踪帮助您实现其价值最大化 **结果:** 大多数用户可以完全依靠免费层级实现 $0/月运行!
📈 如果我的使用量突然激增怎么办? 9Router 的智能回退功能可防止产生意外费用: **场景:** 您正在进行冲刺编码并耗尽了所有配额 **没有 9Router 时:** - ❌ 触及频率限制 → 工作停止 → 感到沮丧 - ❌ 或者:意外累积巨额 API 账单 **使用 9Router 后:** - ✅ 订阅触及限制 → 自动回退到廉价层 - ✅ 廉价层变得昂贵 → 自动回退到免费层 - ✅ 永不停止编码 → 成本可预测 **一切尽在掌控:** 在仪表盘中设置每个提供商的支出限制,9Router 将严格遵守。
## 📖 配置指南
🔐 订阅提供商(实现价值最大化) ### Claude Code (Pro/Max) ``` Dashboard → Providers → Connect Claude Code → OAuth login → Auto token refresh → 5-hour + weekly quota tracking Models: cc/claude-opus-4-7 cc/claude-opus-4-6 cc/claude-sonnet-4-6 cc/claude-haiku-4-5-20251001 ``` **专业提示:** 复杂任务使用 Opus,追求速度使用 Sonnet。9Router 会跟踪每个模型的配额! ### OpenAI Codex (Plus/Pro) ``` Dashboard → Providers → Connect Codex → OAuth login (port 1455) → 5-hour + weekly reset Models: cx/gpt-5.5 cx/gpt-5.4 cx/gpt-5.3-codex cx/gpt-5.2-codex ``` ### GitHub Copilot ``` Dashboard → Providers → Connect GitHub → OAuth via GitHub → Monthly reset (1st of month) Models: gh/gpt-5.4 gh/claude-opus-4.7 gh/claude-sonnet-4.6 gh/gemini-3.1-pro-preview gh/grok-code-fast-1 ``` ### Cursor IDE ``` Dashboard → Providers → Connect Cursor → OAuth login → Monthly subscription Models: cu/claude-4.6-opus-max cu/claude-4.5-sonnet-thinking cu/gpt-5.3-codex ```
💰 廉价提供商(备用方案) ### GLM-5.1 / GLM-4.7(每天重置,$0.6/百万 Token) 1. 注册:[Zhipu AI](https://open.bigmodel.cn/) 2. 从 Coding Plan 获取 API Key 3. 仪表盘 → 添加 API Key: - 提供商:`glm` - API Key:`your-key` **使用:** `glm/glm-5.1`, `glm/glm-5`, `glm/glm-4.7` **专业提示:** Coding Plan 以 1/7 的成本提供 3 倍配额!每天上午 10:00 重置。 ### MiniMax M2.7(5小时重置,$0.20/百万 Token) 1. 注册:[MiniMax](https://www.minimax.io/) 2. 获取 API Key 3. 仪表盘 → 添加 API Key **使用:** `minimax/MiniMax-M2.7`, `minimax/MiniMax-M2.5` **专业提示:** 长上下文(1M Token)的最廉价选择! ### Kimi K2.5($9/月固定) 1. 订阅:[Moonshot AI](https://platform.moonshot.ai/) 2. 获取 API Key 3. 仪表盘 → 添加 API Key **使用:** `kimi/kimi-k2.5`, `kimi/kimi-k2.5-thinking` **专业提示:** 固定 $9/月享有 10M Token,实际成本为 $0.90/百万 Token!
🆓 免费提供商(推荐) ### Kiro AI(Claude 4.5 + GLM-5 + MiniMax 免费) ``` Dashboard → Connect Kiro → AWS Builder ID, AWS IAM Identity Center, Google, or GitHub → Unlimited usage Models: kr/claude-sonnet-4.5 kr/claude-haiku-4.5 kr/glm-5 kr/MiniMax-M2.5 kr/qwen3-coder-next kr/deepseek-3.2 ``` **专业提示:** 使用 Claude 的最佳免费选择。无需 API Key,无需付款,完全无限制。 ### OpenCode Free(无需认证,自动获取模型) ``` Dashboard → Connect OpenCode Free → No login required (passthrough proxy) → Models auto-fetched from opencode.ai/zen/v1/models ``` **专业提示:** 最快的设置方式。连接即可开始编码。 ### Vertex AI(新 GCP 账户可获得 $300 免费额度) ``` Dashboard → Connect Vertex AI → Upload Google Cloud Service Account JSON → Enable Vertex AI API in your GCP project Models: vertex/gemini-3.1-pro-preview vertex/gemini-3-flash-preview vertex/gemini-2.5-flash Vertex Partner (Anthropic / DeepSeek / GLM / Qwen via Vertex): vertex-partner/glm-5-maas vertex-partner/deepseek-v3.2-maas vertex-partner/qwen3-next-80b-a3b-thinking-maas ``` **专业提示:** 新 Google Cloud 账户可在 90 天内获得 $300 免费额度。对于日常编码绰绰有余。
🎨 创建组合 ### 示例 1:榨干订阅价值 → 廉价备选 ``` Dashboard → Combos → Create New Name: premium-coding Models: 1. cc/claude-opus-4-7 (Subscription primary) 2. glm/glm-5.1 (Cheap backup, $0.6/1M) 3. minimax/MiniMax-M2.7 (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 ``` ### 示例 2:仅免费(零成本) ``` Name: free-combo Models: 1. kr/claude-sonnet-4.5 (Claude 4.5 free unlimited) 2. kr/glm-5 (GLM-5 free via Kiro) 3. vertex/gemini-3.1-pro-preview ($300 free credits) Cost: $0 forever (+ 20-40% token savings via RTK)! ```
🔧 CLI 集成 ### Cursor IDE ``` Settings → Models → Advanced: OpenAI API Base URL: http://localhost:20128/v1 OpenAI API Key: [from 9router dashboard] Model: cc/claude-opus-4-7 ``` 或使用组合:`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 — 仪表盘(推荐):** ``` Dashboard → CLI Tools → OpenClaw → Select Model → Apply ``` **选项 2 — 手动:** 编辑 `~/.openclaw/openclaw.json`: ``` { "agents": { "defaults": { "model": { "primary": "9router/kr/claude-sonnet-4.5" } } }, "models": { "providers": { "9router": { "baseUrl": "http://127.0.0.1:20128/v1", "apiKey": "sk_9router", "api": "openai-completions", "models": [ { "id": "kr/claude-sonnet-4.5", "name": "Claude Sonnet 4.5 (Kiro Free)" } ] } } } } ``` ### Cline / Continue / RooCode ``` Provider: OpenAI Compatible Base URL: http://localhost:20128/v1 API Key: [from dashboard] Model: cc/claude-opus-4-7 ```
🚀 部署 ### 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=20128` - `HOSTNAME=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` | 服务器端云同步 Endpoint 基础 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 Key 的 HMAC 密钥 | | `MACHINE_ID_SALT` | `endpoint-proxy-salt` | 用于稳定机器 ID 哈希的 Salt | | `ENABLE_REQUEST_LOGS` | `false` | 启用 `logs/` 目录下的请求/响应日志 | | `AUTH_COOKIE_SECURE` | `false` | 强制使用 `Secure` 认证 Cookie(在 HTTPS 反向代理后请设置为 `true`) | | `REQUIRE_API_KEY` | `false` | 在 `/v1/*` 路由上强制要求 Bearer API Key(对于暴露在公网的部署强烈推荐) | | `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` 管理。 - 使用历史和日志:`${DATA_DIR}/usage.json` 和 `${DATA_DIR}/log.txt`,由 `src/lib/usageDb.js` 管理。 - 可选的请求/转换器日志:当 `ENABLE_REQUEST_LOGS=true` 时生成在 `/logs/...` 目录下。 - 在 Docker 容器中,`${DATA_DIR}` 和 `~/.9router` 会解析到相同的位置——构建时会创建符号链接 `/root/.9router -> /app/data`。
## 📊 可用模型
查看所有可用模型 **Claude Code (`cc/`)** - Pro/Max: - `cc/claude-opus-4-7` - `cc/claude-opus-4-6` - `cc/claude-sonnet-4-6` - `cc/claude-sonnet-4-5-20250929` - `cc/claude-haiku-4-520251001` **Codex (`cx/`)** - Plus/Pro: - `cx/gpt-5.5` - `cx/gpt-5.4` - `cx/gpt-5.3-codex` - `cx/gpt-5.2-codex` - `cx/gpt-5.1-codex-max` **GitHub Copilot (`gh/`)**: - `gh/gpt-5.4` - `gh/claude-opus-4.7` - `gh/claude-sonnet-4.6` - `gh/gemini-3.1-pro-preview` - `gh/grok-code-fast-1` **Cursor (`cu/`)** - 订阅: - `cu/claude-4.6-opus-max` - `cu/claude-4.5-sonnet-thinking` - `cu/gpt-5.3-codex` - `cu/kimi-k2.5` **GLM (`glm/`)** - $0.6/百万 Token: - `glm/glm-5.1` - `glm/glm-5` - `glm/glm-4.7` **MiniMax (`minimax/`)** - $0.2/百万 Token: - `minimax/MiniMax-M2.7` - `minimax/MiniMax-M2.5` **Kimi (`kimi/`)** - $9/月固定: - `kimi/kimi-k2.5` - `kimi/kimi-k2.5-thinking` **Kiro (`kr/`)** - 免费无限制: - `kr/claude-sonnet-4.5` - `kr/claude-haiku-4.5` - `kr/glm-5` - `kr/MiniMax-M2.5` - `kr/qwen3-coder-next` - `kr/deepseek-3.2` **OpenCode Free (`oc/`)** - 免费无需认证: - 从 `opencode.ai/zen/v1/models` 自动获取 **Vertex AI (`vertex/`)** - $300 免费额度: - `vertex/gemini-3.1-pro-preview` - `vertex/gemini-3-flash-preview` - `vertex/gemini-2.5-flash` - `vertex-partner/glm-5-maas` - `vertex-partner/deepseek-v3.2-maas`
## 🐛 故障排除 **"Language model did not provide messages"(语言模型未提供消息)** - 提供商配额已耗尽 → 检查仪表盘配额跟踪器 - 解决方案:使用组合回退或切换到更廉价的层级 **频率限制** - 订阅配额耗尽 → 回退到 GLM/MiniMax - 添加组合:`cc/claude-opus-4-7 → glm/glm-5.1 → kr/claude-sonnet-4.5` **OAuth Token 过期** - 已由 9Router 自动刷新 - 如果问题持续存在:仪表盘 → 提供商 → 重新连接 **成本过高** - 在仪表盘 → Endpoint 设置中启用 RTK(默认开启,可节省 20-40% Token) - 在仪表盘中检查使用统计 - 将主要模型切换为 GLM/MiniMax - 非关键任务使用免费层级(Kiro, OpenCode Free, Vertex) **仪表盘在错误的端口上启动** - 设置 `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 文件) - **流式传输**:Server-Sent Events (SSE) - **认证**:OAuth 2.0 (PKCE) + JWT + API Keys ## 📝 API 参考 ### Chat Completions ``` 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": "Write a function to..."} ], "stream": true } ``` ### 列出模型 ``` GET http://localhost:20128/v1/models Authorization: Bearer your-api-key → Returns all models + combos in OpenAI format ``` ## 📧 支持 - **网站**:[9router.com](https://9router.com) - **GitHub**:[github.com/decolua/9router](https://github.com/decolua/9router) - **Issues**:[github.com/decolua/9router/issues](https://github.com/decolua/9router/issues) ## 👥 贡献者 感谢所有帮助让 9Router 变得更好的贡献者! [![Contributors](https://contrib.rocks/image?repo=decolua/9router&max=150&columns=15&anon=1&v=20260309)](https://github.com/decolua/9router/graphs/contributors) ## 📊 Star 趋势图 [![Star Chart](https://starchart.cc/decolua/9router.svg?variant=adaptive)](https://starchart.cc/decolua/9router) ## 🔀 分支 **[OmniRoute](https://github.com/diegosouzapw/OmniRoute)** — 9Router 的全功能 TypeScript 分支。新增了 36+ 提供商、4 级自动回退、多模态 API(图像、Embedding、音频、TTS)、熔断器、语义缓存、LLM 评估以及精美的仪表盘。包含 368+ 个单元测试。可通过 npm 和 Docker 获取。 ## 🙏 致谢 站在巨人的肩膀上: - **CLIProxyAPI** — 启发了这个 JavaScript 移植版本的原始 Go 语言实现。 - **[RTK](https://github.com/rtk-ai/rtk)** ![Stars](https://img.shields.io/github/stars/rtk-ai/rtk?style=flat&color=yellow) — Rust 编写的 Token 节省器。9Router 将其压缩流水线移植到了 JS → 每次请求可**减少 20-40% 输入 Token**。 - **[Caveman](https://github.com/JuliusBrussee/caveman)** ![Stars](https://img.shields.io/github/stars/JuliusBrussee/caveman?style=flat&color=yellow) 由 **[@JuliusBrussee](https://github.com/JuliusBrussee)** 开发 — 爆火的 *“为什么用很多 token,明明几个 token 就行”*。9Router 改编了其 Prompt → **减少 65% 输出 Token**。 衷心感谢这些作者——没有他们的工作,9Router 的 Token 节省功能就不会存在。请在 GitHub 上给他们点个 ⭐! ## 📄 许可证 MIT 许可证 - 详情请参阅 [LICENSE](LICENSE)。
用 ❤️ 为 24/7 不间断编码的开发者而构建
标签:AI编程助手, AI路由, API白嫖, API网关, Claude, Copilot, Cursor, CVE检测, DLL 劫持, Gemini, GNU通用公共许可证, GPT, MITM代理, Node.js, NPM包, OSV-Scalibr, Token节省, 云资产清单, 代码生成, 免费AI, 多模型切换, 大语言模型, 威胁情报, 开发者工具, 开源, 成本优化, 提示词压缩, 渗透测试工具, 漏洞管理, 自动降级, 自定义脚本, 请求拦截, 负载均衡, 逆向工程