9Router:免费开源的AI智能路由器/网关,让开发者永不中断编码体验,降低AI使用成本!
数据来源:GitHub API、官方网站、项目文档、技术栈深度解析、全网搜索(中文社区讨论)范围:项目背景、技术架构、核心功能、市场定位、社区生态、发展前景

一、项目概述
基本信息
| 项目名称 | |
| GitHub 仓库 | |
| 官方网站 | |
| npm 包名 | 9router |
| 作者 | |
| 开源协议 | |
| 创建时间 | |
| 最新版本 | |
| GitHub Stars | |
| Fork 数 | |
| Open Issues | |
| 主要编程语言 | |
| 辅助语言 | |
| 技术栈 | |
| 部署方式 |
一句话定位
9Router 是一个免费开源的 AI 智能路由器/网关,作为 AI 编程工具(Claude Code、Cursor、Cline 等)与 60+ AI 模型提供商之间的智能中间件,通过双层翻译架构、三层自动降级、RTK Token 压缩、MITM 流量拦截等核心技术,让开发者永不中断编码体验,同时大幅降低 AI 使用成本。
全网关注度
| CSDN | |
| 技术栈 (jishuzhan.net) | |
| 今日头条 | |
| Vibe Shit | |
| GitHub |
二、问题背景与市场痛点
当前 AI 编程工具的核心痛点
git diff、grep、ls 等)占用 30-50% 的 Token 预算 | ||
9Router 的解决方案全景
传统方式: 工具 → 单一提供商 → 限额/限速 → 停止编码 → 手动切换 → 重新配置9Router 方式: 工具 → 9Router(智能网关)→ 自动三层降级 → 永不中断 ↓ 双层翻译架构(OpenAI 作为中间标准) ↓ RTK 压缩(节省 20-40% Token) ↓ 格式转换(14 种格式双向互转)三、核心功能深度解析
3.1 🚀 RTK Token 压缩器
原理:在请求到达 LLM 之前,自动检测并压缩工具输出内容,采用无损压缩算法。
支持的过滤器:
git-diff:压缩 Git 差异输出git-status:压缩 Git 状态输出grep:压缩搜索结果find/ls/tree:压缩文件列表dedup-log:日志去重smart-truncate:智能截断read-numbered:带行号内容压缩search-list:搜索结果列表压缩
效果对比:
未启用 RTK:47K tokens 发送至 LLM启用 RTK:28K tokens 发送至 LLM(节省 40%,上下文不变,答案质量不变)设计亮点:自动检测、失败安全、通用性佳、默认开启。
3.2 🪨 Caveman Mode(输出压缩)
通过注入特殊提示词,让 LLM 以更简洁方式回复,最高可节省 65% 的输出 Token。5 级强度可调。
3.3 🎯 智能三层自动降级
三层架构:
Tier 1:SUBSCRIPTION(订阅层) - Claude Code / Codex / GitHub Copilot / Cursor 等订阅Tier 2:CHEAP(廉价层) - GLM($0.60/1M tokens)、MiniMax($0.20/1M tokens)、Kimi($9/月)Tier 3:FREE(免费层) - Kiro AI(Claude 4.5 + GLM-5 + MiniMax,无限免费) - OpenCode Free(无需认证,无限免费) - Vertex AI($300 免费额度,Gemini 3 Pro + GLM-5 + DeepSeek)三层回退机制(代码级实现):
模型组合回退(Combo Fallback)→ 用户配置的模型序列 账户级回退(Account Fallback)→ 同一提供商的多账户轮询 URL 级回退(URL Fallback)→ 多 Base URL 切换(如 Antigravity 多域名)
指数退避策略:2^n × base 冷却时间增长,避免雪崩,快速自动恢复。
3.4 🔄 双层翻译架构(核心设计亮点)
这是 9Router 最关键的技术创新。采用 "OpenAI 作为中间标准" 的翻译策略,避免 N×M 的格式转换复杂度爆炸:
// 核心翻译流程functiontranslateRequest(sourceFormat, targetFormat, model, body) {let result = body;// Step 1: source → OpenAI(如果源不是 OpenAI)if (sourceFormat !== "openai") { result = sourceToOpenAI(sourceFormat, model, result); }// Step 2: OpenAI → target(如果目标不是 OpenAI)if (targetFormat !== "openai") { result = openAIToTarget(targetFormat, model, result); }return result;}支持的格式转换(14 种双向互转):
OpenAI ↔ Claude OpenAI ↔ Gemini OpenAI ↔ Cursor(Protobuf 协议) OpenAI ↔ Kiro(EventStream) OpenAI ↔ Antigravity(工具伪装+反检测) OpenAI ↔ Vertex OpenAI ↔ Ollama OpenAI-Responses ↔ OpenAI(Codex CLI 兼容) 等更多组合...
设计意义:复杂度从 O(N×M) 降至 O(N+M),新增一个格式只需实现到 OpenAI 的双向转换。
3.5 🔌 执行器模式(Executor Pattern)
每个复杂提供商有专用执行器处理特殊逻辑:
const executors = {antigravity: newAntigravityExecutor(), // 工具名称伪装"gemini-cli": newGeminiCLIExecutor(), // GCP 项目 ID 管理github: newGithubExecutor(), // Copilot Token 刷新kiro: newKiroExecutor(), // EventStream 解析codex: newCodexExecutor(), // Responses APIcursor: newCursorExecutor(), // Protobuf 序列化vertex: newVertexExecutor("vertex"), // GCP JWT};核心方法:buildUrl()、buildHeaders()、transformRequest()、execute()(内置重试)、refreshCredentials()
3.6 🛡️ MITM Bridge(中间人桥接流量拦截)
功能:拦截 CLI 工具的 HTTPS 请求(如 Claude Code 硬编码的 API 端点),实现透明代理。
技术实现:
生成 Root CA + 安装到系统信任存储 DNS 劫持(修改 hosts 文件: 127.0.0.1 api.anthropic.com)启动 HTTPS 代理服务器(端口 8443,Windows 非管理员+端口转发)
跨平台支持:Windows(PowerShell + 端口转发)、macOS(Keychain 信任)、Linux(update-ca-certificates)
支持拦截的工具:Claude Code、Codex、Gemini CLI、GitHub Copilot、Cursor、Kiro IDE 等。
3.7 🌊 流式响应处理机制
架构:
Provider Response (SSE/JSON) → TransformStream(格式转换) → DisconnectAwareStream(断开检测、延迟中止 500ms、资源清理) → Client (SSE/JSON)关键实现:
SSE 转换流:逐行解析 data:前缀,实时转换为 OpenAI 格式客户端断开检测:监听 ReadableStream 的 cancel回调强制 SSE→JSON 转换:Codex CLI 需要的特殊处理
3.8 📊 其他核心功能
| 多账号支持 | |
| 实时配额跟踪 | |
| 自动 Token 刷新 | |
| 云同步 | |
| OIDC Dashboard 登录 | |
| MCP stdio→SSE 桥接 | |
| Linux 证书自动注入 |
四、技术架构全景
4.1 系统架构图
┌─────────────────────────────────────────────────────────────────┐│ 客户端层 ││ Claude Code │ Cursor │ Codex CLI │ Cline │ OpenClaw │ Copilot │└──────────────────────────┬──────────────────────────────────────┘ │ localhost:20128/v1┌──────────────────────────▼──────────────────────────────────────┐│ 9Router 网关层 ││ ┌────────────────────────────────────────────────────────────┐ ││ │ Next.js App Router (Next.js 16 + React 19 + Tailwind CSS 4)│ ││ │ ┌──────────────┐ ┌──────────────────┐ │ ││ │ │ /v1/* 路由 │ │ Dashboard UI │ │ ││ │ │ (OpenAI 兼容) │ │ (多语言,33种) │ │ ││ │ └──────┬───────┘ └──────────────────┘ │ ││ │ ┌──────▼──────────────────────────────────────────────┐ │ ││ │ │ SSE Core (open-sse) │ │ ││ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐│ │ ││ │ │ │Format │ │Executor │ │Translator│ │Combo ││ │ ││ │ │ │Detection │→│Dispatch │→│Engine │→│Handler ││ │ ││ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘│ │ ││ │ └─────────────────────────────────────────────────────┘ │ ││ │ ┌──────────────────────────────────────────────────────┐ │ ││ │ │ MITM 模块 (HTTPS 代理 + DNS 劫持 + Root CA 信任) │ │ ││ │ └──────────────────────────────────────────────────────┘ │ ││ └────────────────────────────────────────────────────────────┘ ││ ┌────────────────────────────────────────────────────────────┐ ││ │ 数据持久化层 (SQLite — 3层驱动降级) │ ││ │ better-sqlite3 → node:sqlite → sql.js │ ││ └────────────────────────────────────────────────────────────┘ │└──────────────────────────┬──────────────────────────────────────┘ │┌──────────────────────────▼──────────────────────────────────────┐│ 上游提供商层 (60+) ││ ┌──────────────────────────────────────────────────────────┐ ││ │ OAuth: Claude, Codex, Gemini, GitHub, Cursor, Kiro... │ ││ │ API Key: OpenAI, Anthropic, OpenRouter, GLM, Kimi... │ ││ │ 兼容节点: Ollama, Vertex AI, 自定义 OpenAI 端点 │ ││ └──────────────────────────────────────────────────────────┘ │└─────────────────────────────────────────────────────────────────┘4.2 技术栈选型说明
| 前端框架 | ||
| 样式方案 | ||
| 数据库 | ||
| 流处理 | ||
| 部署 | ||
| 国际化 |
4.3 open-sse 目录结构
open-sse/├── config/ # 配置层(provider配置、模型映射、运行时参数)├── executors/ # 执行器层(12个专用执行器 + base抽象类)├── handlers/ # 处理器层(chatCore、streaming/nonStreaming/sseToJson)├── services/ # 服务层(provider解析、accountFallback、tokenRefresh、combo)├── translator/ # 翻译引擎(request/11个 + response/8个翻译器)└── utils/ # 工具层(streamHandler、SSE转换、proxyFetch)4.4 安全架构(近期修复)
五、支持的生态
5.1 支持的工具(12+)
| 终端 CLI | |
| IDE 插件 | |
| Other |
5.2 支持的提供商(60+)
免费提供商(Unlimited FREE)
| Kiro AI | ||
| OpenCode Free | ||
| Vertex AI |
OAuth 订阅提供商
API Key 提供商(40+)
OpenRouter、GLM(智谱)、Kimi(月之暗面)、MiniMax、OpenAI、Anthropic、Gemini、DeepSeek、Groq、xAI、Mistral、Perplexity、Together AI、Fireworks、Cerebras、Cohere、NVIDIA NIM、SiliconFlow 等。
5.3 支持的 AI 服务类型(9 类)
| Chat/LLM | |
| Embeddings | |
| TTS(文本转语音) | |
| STT(语音转文本) | |
| Image Generation | |
| Vision | |
| Video Generation | |
| Web Search | |
| Web Fetch |
六、产品开发动态
6.1 版本迭代
6.2 近一周重点更新
v0.4.33:修复 Windows 托盘图标杀毒软件误报 v0.4.32:MCP stdio→SSE 桥接 v0.4.31:OIDC Dashboard 登录(Authentik/Keycloak/Google/Okta SSO) v0.4.30:Linux 证书自动注入(支持主流发行版和浏览器)
6.3 社区活跃度
6.4 典型贡献者
| decolua | |
| Walter0697 | |
| toanalien | |
| Cursor Agent |
七、竞品对比分析
| OpenRouter | ||
| LiteLLM | ||
| PromptFoo | ||
| PortKey |
9Router 差异化优势
免费提供商的深度集成:Kiro、OpenCode Free 等无限免费提供商 RTK + Caveman 原生集成:双重 Token 节省,业界领先 双层翻译架构:复杂度 O(N×M)→O(N+M),14 种格式互转 MITM 流量拦截:透明代理 CLI 工具请求 完全本地化:数据在本地,无云端依赖 MIT 开源:完全透明,可自由修改分发
八、使用场景与用户画像
8.1 目标用户
| 个人开发者 | ||
| 开源项目维护者 | ||
| AI 编程爱好者 | ||
| 企业开发者 | ||
| 研究团队 |
8.2 三种典型场景
场景一:零成本 AI 开发环境
{"combo":"free-dev","models":["gc/gemini-3-flash-preview","kr/claude-sonnet-4.5","oc/auto"]}成本:$0/月
场景二:企业多租户网关
多账户配置 + 优先级路由 + 速率限制 统一管理 Claude Code、Cursor、Codex 团队使用
场景三:Claude Code 免费化
通过 MITM 拦截 Claude Code 流量 → 路由到免费提供商(如 Kiro 的 Claude 模型)
九、商业模式与可持续性分析
9.1 当前模式
完全免费 + 开源(MIT 协议)。
9.2 盈利可能性
9.3 可持续性
优势:MIT 协议可 fork(1,464 forks)、作者活跃(几乎每天 commit)、核心功能不依赖付费服务
风险:免费提供商政策变化、API 格式变更需及时适配、个人项目维护者精力有限
十、技术学习价值
| 双层翻译架构 | |
| 流式处理 | |
| 错误恢复 | |
| OAuth 集成 | |
| MITM 代理 |
十一、发展前景与建议
11.1 短期预测(3-6 个月)
Star 数突破 1 万(预计 2026 Q2 末) 更多国产 AI 提供商适配 Windows 体验完善(v0.4.33 已修复杀毒误报) 文档完善(GitBook 正在制作中) 更多中文社区教程出现
11.2 中长期预测(6-12 个月)
可能出现付费企业版 MCP Bridge 功能完善将催生插件生态 IDE 深度集成(VSCode/JetBrains 插件) 多语言社区进一步扩大
11.3 对项目方的建议
| 文档完善 | |
| 安全性透明 | |
| 性能基准 | |
| 贡献者激励 | |
| Roadmap 公开 |
十二、总结与评价
12.1 各维度评分
| 技术创新 | ||
| 实用性 | ||
| 易用性 | npm install -g | |
| 开源透明度 | ||
| 社区活跃度 | ||
| 文档质量 |
12.2 存在的问题
Windows 兼容性问题:v0.4.33 之前存在杀毒误报(已修复) 文档不够完善:深度技术文档和教程偏少 主要由个人维护:decolua 几乎是唯一核心贡献者,存在 Bus Factor 风险 免费提供商的依赖:核心卖点依赖第三方免费政策,存在政策风险 版本号未达 1.0:仍处于快速迭代期,API 可能存在 breaking changes
12.3 总评
9Router 是一个技术创新性强、实用性极高的开源项目,成功解决了 AI 编程工具的核心痛点。通过双层翻译架构、智能路由、Token 压缩、MITM 流量拦截等核心技术,让开发者能够以最低成本(甚至零成本)获得不间断的 AI 编程体验。项目处于快速发展期,社区关注度持续上升,中文社区已有大量教程和讨论,值得所有 AI 编程工具使用者高度关注。
推荐指数:⭐⭐⭐⭐⭐(5/5)
适合所有使用 AI 编程工具的开发者试用,特别是被 Token 限额和订阅费用困扰的个人开发者。
十三、快速上手指南
安装步骤
# 1. 全局安装npm install -g 9router# 2. 启动(Dashboard 自动打开)9router# Dashboard: localhost:20128# API 入口: localhost:20128/v1# 3. 连接免费提供商# Dashboard → Providers → Connect → Kiro AI / OpenCode Free# 4. 配置 AI 编程工具(以 Claude Code 为例)# Endpoint: localhost:20128/v1# API Key: [从 Dashboard 复制]# Model: kr/claude-sonnet-4.5# 5. 后台运行# 方法一:PM2npm install -g pm2pm2 start 9router# 方法二:Dockerdocker run -p 20128:20128 decolua/9router:latest
夜雨聆风