9router 是什么?

9Router 是一个本地运行的 AI 编程网关:在 localhost:20128 暴露 OpenAI 兼容 /v1 接口,把 Claude Code、Codex、Cursor、Cline、Copilot、Antigravity 等工具接入 40+ 提供商、100+ 模型,并按「订阅 → 低价 → 免费」三层自动切换,配合 RTK 压缩工具输出节省 20-40% 输入 token。它解决的是多模型账号切换繁琐、订阅配额浪费、tool_result 吃掉上下文这三类成本问题,定位是个人开发者的模型聚合与降本路由器,而非托管云服务。

⭐ 21,817 Stars 🍴 3,678 Forks JavaScript MIT 作者: decolua 商业引流:中
来源:README.zh-CN.md 标题/为什么选择/工作原理;package.json name=9router-app 查看 GitHub 仓库 →

为什么值得关注

上线约四个月即冲到 1.3 万星,热度来自一个直白且有争议的卖点——「免费、无限量地用 Claude/GPT/Gemini 编程」。它把多个免费/低价提供商(Kiro、OpenCode Free、Vertex 试用额度、GLM、MiniMax)和已有订阅串成自动 fallback,再叠加 RTK token 压缩,对长期被速率限制和 API 账单困扰的重度 CLI 用户很有吸引力,并有多个 YouTube 教程助推传播。需要清醒看待的是:其「免费」高度依赖第三方免费层是否持续,README 自己也记录了 iFlow/Qwen/Gemini 免费层已在 2026 年关停。

来源:GitHub 13.3k stars,created 2026-01-05;README 视频教程区、免费提供商注记

核心功能

多工具 / 多提供商统一网关

对外提供 OpenAI 兼容的 /v1/chat/completions 与 /v1/models,内部在 OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro ↔ Vertex ↔ Antigravity ↔ Ollama 等格式间互转,使任意支持自定义端点的 CLI 工具都能复用同一套账号与模型池。

来源:README API 参考、格式转换;src/sse/handlers/chat.js、open-sse/executors/*
三层自动切换组合(combo)

用户可命名组合并排列优先级,如「订阅 cc/claude-opus → 低价 glm → 免费 kiro」,当配额耗尽或请求出错时自动降级到下一层,目标是零停机继续编程。

来源:README 智能三层切换、价格一览
RTK token 节省器

在请求送达 LLM 之前检测 tool_result(git diff、grep、ls、tree、日志等)并应用无损压缩过滤器,README 称可省 20-40% 输入 token;默认开启,过滤失败时静默回退原文,不中断请求。移植自 Rust 项目 RTK。

来源:README RTK 章节、致谢;open-sse 配置
OAuth 订阅账号接入与 MITM 拦截

通过 OAuth 2.0 (PKCE) 接入 Claude、Codex、Cursor、GitHub、Antigravity 等订阅账号并自动刷新 token;对不允许自定义端点的封闭工具(Cursor/Copilot/Kiro/Antigravity),用本地 MITM 模块安装证书拦截其 HTTPS 流量以注入路由。

来源:src/lib/oauth/services/*、src/mitm/handlers/{cursor,copilot,kiro,antigravity}.js、src/mitm/cert
控制面板与用量分析

Next.js 控制面板提供提供商管理、组合编排、实时配额倒计时、请求日志(调试模式)、用量与「成本」追踪(README 明确该成本仅为对比展示、9Router 本身不收费),并支持配置云同步。

来源:README 主要功能表;src/app/dashboard、src/lib/usage

技术架构

整体是一个 Next.js 16 全栈应用,单进程同时承载控制面板(src/app)和路由后端。请求路径上的核心是 src/sse 与 open-sse 两层:src/sse/handlers 按能力分流(chat/embeddings/image/search/stt/tts),open-sse/executors 为每个提供商实现具体调用,open-sse/config 集中管理 providers、models、provider-models 映射。src/lib 提供横切能力——oauth(各家登录与刷新)、network/tunnel(代理与穿透)、db/localDb(基于 JSON 文件的 LowDB + sql.js 持久化用量/请求详情)、usage(统计)。src/mitm 是相对独立的拦截子系统,含证书生成、DNS、按工具区分的 handler,用于改写封闭工具的出站流量。cli/ 是单独发布的 npm 包,含 postinstall、托盘运行时与菜单式配置。整体没有外部数据库依赖,状态落在本地 JSON/SQLite 文件,符合「本地优先」定位。

来源:git tree(src/sse、open-sse、src/lib、src/mitm、cli);package.json deps(next、sql.js、http-proxy-middleware、jose、undici)

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) next react tailwindcss 4 sql.js http-proxy-middlewarehttp-proxy-mid… 多工具 / 多提供商统一网关多工具 / 多提供商统一… 三层自动切换组合(combo)三层自动切换组合(com… RTK token 节省器 OAuth 订阅账号接入与 MITM 拦截OAuth 订阅账号接入与… 控制面板与用量分析 9router 项目本体 核心功能 关键依赖

中心为项目本体,内环 = 核心功能模块,外环 = 关键技术依赖;按 deep.json 中的 core_features 与 tech_stack.key_deps 自动生成

技术栈

语言JavaScript (Node.js 20+)框架Next.js 16 + React 19
nextreacttailwindcss 4sql.jshttp-proxy-middlewarejose (JWT/OAuth)undici@xyflow/reactzustandexpress
本地优先:LowDB(JSON 文件)+sql.js 持久化,SSE 流式,OAuth2.0 PKCE+JWT+API Key 认证;可部署到本地/VPS/Docker/Cloudflare Workers
来源:README 技术栈章节;package.json dependencies

快速上手

最简路径用 npm 全局安装:`npm install -g 9router` 然后运行 `9router`,控制面板默认在 http://localhost:20128 打开;在面板里连接免费提供商(Kiro AI 或 OpenCode Free,后者无需注册),再到 CLI 工具填入 Endpoint=http://localhost:20128/v1、API Key(面板复制)、Model(如 kr/claude-sonnet-4.5)即可。本仓库的包是私有的 9router-app,源码运行属本地开发方式:`cp .env.example .env && npm install && PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev`,生产用 `npm run build` 后 `npm run start`。首次登录密码取 .env 的 INITIAL_PASSWORD,未设置时回退为 123456。
来源:README 快速开始、从源码运行、故障排除

使用场景

适合:①已有 Claude Code/Codex/Cursor 订阅、想在配额用尽后自动降级到低价或免费模型而不中断的重度 CLI 用户;②希望用 RTK 压缩工具输出、降低长会话 token 消耗的场景;③需要在多个提供商/多账号间统一切换、集中查看用量的个人开发者。不适合:对供应商条款合规要求严格的团队/企业、以及把它当成稳定托管服务来依赖的场景——免费层随时可能关停。

来源:README 为什么选择/价格一览/故障排除,结合定位推断

优势与局限

优势

  • 把多工具、多提供商、多账号收敛到一个 OpenAI 兼容端点,确实降低了来回切配置的摩擦
  • 三层自动 fallback + RTK 压缩的组合,对长期触碰速率限制和高 token 账单的用户有实打实的省钱省时价值
  • 本地优先、无外部数据库依赖,状态落在本地文件,部署门槛低、隐私边界相对清晰
  • 格式转换覆盖面广(含 Cursor/Kiro/Antigravity 等私有格式),并对封闭工具提供 MITM 接入,兼容性强
  • MIT 许可、文档与教程丰富,并诚实标注了「成本」仅为展示、免费层会变动等关键事实

局限

  • 「免费/无限」高度依赖第三方免费层与试用额度的持续性,README 已记录 iFlow/Qwen/Gemini 免费层在 2026 年关停,可持续性是结构性风险
  • 通过订阅 OAuth 账号路由到聚合用途、以及用免费层做编程后端,可能触碰相关提供商的服务条款,存在封号风险(项目未对此给出合规承诺)
  • MITM 拦截需在本机安装证书改写 HTTPS 流量,对 Cursor/Copilot 等封闭工具属灰色接入方式,且本地证书本身带来安全面
  • OAuth token 与 API Key 以本地 JSON/SQLite 明文或弱保护方式存储,需自行评估本机安全
  • 上线仅约四个月、版本迭代极快(v0.4.x 频繁发布),稳定性与长期维护仍待观察;本仓库主包标注 private 也增加了从源码自建的不确定性
来源:README 多处自述 + 对 src/mitm、src/lib/oauth、localDb 的结构推断;合规判断为基于事实的风险提示

最新版本

最近发布为 v0.4.59 / v0.4.58(2026-05-21,与 push 同日),处于高频小版本迭代阶段;README 提到近期改动包括云同步运行时优先使用服务端 BASE_URL/CLOUD_URL、云请求加入超时与快速失败以避免 UI 挂起。版本号停留在 0.4.x,仍属早期活跃开发期。

来源:GitHub Releases v0.4.59/v0.4.58 (2026-05-21);README 云运行时说明

总结评价

9Router 在工程上把「多模型聚合 + 自动降级 + token 压缩」做成了一个开箱即用的本地网关,对重度 CLI 编程用户的省钱省心诉求命中得很准,这是它快速涨星的真实原因。但它的核心卖点「免费无限」并非来自自身能力,而是叠加了若干第三方免费层和订阅账号的路由,可持续性、服务条款合规与封号风险都需要使用者自行承担;MITM 接入和本地凭证存储也带来额外安全考量。作为降本工具值得了解和短期试用,但不宜当作稳定后端长期依赖,更适合理解为「在规则边缘吃红利」的过渡性方案。

来源:综合 README 卖点与 src 结构、Releases 节奏的事实判断

常见问题

9router 是什么?

9Router 是一个本地运行的 AI 编程网关:在 localhost:20128 暴露 OpenAI 兼容 /v1 接口,把 Claude Code、Codex、Cursor、Cline、Copilot、Antigravity 等工具接入 40+ 提供商、100+ 模型,并按「订阅 → 低价 → 免费」三层自动切换,配合 RTK 压缩工具输出节省 20-40% 输入 token。

9router 有哪些核心功能?

9router 的核心功能包括:多工具 / 多提供商统一网关、三层自动切换组合(combo)、RTK token 节省器、OAuth 订阅账号接入与 MITM 拦截、控制面板与用量分析。

9router 为什么最近很受关注?

上线约四个月即冲到 1.3 万星,热度来自一个直白且有争议的卖点——「免费、无限量地用 Claude/GPT/Gemini 编程」。它把多个免费/低价提供商(Kiro、OpenCode Free、Vertex 试用额度、GLM、MiniMax)和已有订阅串成自动 fallback,再叠加 RTK token 压缩,对长期被速率限制和 API 账单困扰的重度 CLI 用户很有吸引力,并有多个 YouTube 教程助推传播。

9router 适合哪些使用场景?

适合:①已有 Claude Code/Codex/Cursor 订阅、想在配额用尽后自动降级到低价或免费模型而不中断的重度 CLI 用户;②希望用 RTK 压缩工具输出、降低长会话 token 消耗的场景;③需要在多个提供商/多账号间统一切换、集中查看用量的个人开发者。不适合:对供应商条款合规要求严格的团队/企业、以及把它当成稳定托管服务来依赖的场景——免费层随时可能关停。

透明度声明
本页内容由 AI(大语言模型)基于以下公开材料自动生成:GitHub README、代码目录结构、依赖文件、Release 信息。 分析时间: 2026-05-22 11:52. 质量评分: 100/100.

数据来源:README、GitHub API、依赖文件