9router 是什么?

9Router 是面向 AI 编程工具的本地网关,在 localhost:20128 提供 OpenAI 兼容接口和控制面板,把多个 provider、账号和模型组合成带配额跟踪与自动回退的路由。

⭐ 21,817 Stars 🍴 3,678 Forks JavaScript MIT 作者: decolua
来源:github.com/decolua/9router 查看 GitHub 仓库 → 📘 使用教程 →

为什么值得关注

这些数值只用于排序,不是去重用户。官方项目把编程工具接入、多 provider fallback 和工具输出压缩放在一个本地界面里,正好对应频繁切换模型、配额和端点的使用痛点。

来源:github.com/decolua/9router

核心功能

统一的本地端点

当前根 README 把控制面板放在 http://localhost:20128/dashboard,并提供 http://localhost:20128/v1 作为 OpenAI 兼容 API。

来源:github.com/decolua/9router
组合与自动回退

可以把订阅、低价和免费 provider 排成 combo,在配额耗尽或请求错误时切到下一项,并支持同一 provider 的多账号。

来源:github.com/decolua/9router
RTK 工具输出压缩

RTK 在格式转换之前识别 git diff、grep、find、ls、tree 和日志等 tool_result;过滤失败或输出变大时保留原文。项目方给出的 20% 到 40% 是其自述数据,需要用自己的任务复测。

来源:github.com/decolua/9router
格式转换与用量界面

官方列出 OpenAI、Claude、Gemini、Cursor、Kiro、Vertex、Antigravity、Ollama 与 Responses 等格式转换,并在面板展示配额、token 和估算成本。

来源:github.com/decolua/9router

技术架构

请求从编程客户端进入本地 /v1,先经过可选 token saver,再做协议转换、配额检查和 combo 路由,最后发往所选上游 provider。仓库主应用是 Next.js/React 与自定义 Node 服务,package.json 当前包含 Express、sql.js、http-proxy-middleware、jose 和 undici;状态默认放在 ~/.9router。

来源:github.com/decolua/9router;https://github.com/decolua/9router/blob/ma…

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) sql.js http-proxy-middlewarehttp-proxy-mid… jose undici zustand 统一的本地端点 组合与自动回退 RTK 工具输出压缩 格式转换与用量界面 9router 项目本体 核心功能 关键依赖

技术栈

语言JavaScript / Node.js框架Next.js 16、React 19、自定义 Node/Express 服务
sql.jshttp-proxy-middlewarejoseundicizustand
Node.js 20+;npm 全局包或从源码/Docker 本地运行;默认数据目录 ~/.9router
来源:github.com/decolua/9router/blob/master/package.json;https://github.co…

快速上手

官方最短路径是 npm install -g 9router,然后运行 9router。当前根 README 指向 http://localhost:20128/dashboard,API 是 http://localhost:20128/v1;在面板连接 provider、复制 API key,再把支持自定义 OpenAI endpoint 的客户端指向 /v1。首次使用应先改默认密码,并只连接自己有权使用的账号或 API key。
来源:github.com/decolua/9router;https://github.com/decolua/9router/blob/ma…

使用场景

适合个人开发者在多个 API key、订阅账号和模型之间统一端点,并为非关键开发任务设置明确的回退链。需要团队级虚拟密钥、细粒度授权、审计和生产网关治理时,应优先评估专门的团队网关。

来源:github.com/decolua/9router;https://github.com/BerriAI/litellm/blob/ma…

优势与局限

优势

  • 针对 Claude Code、Codex、Cursor 等编程客户端提供统一端点
  • 把多账号、配额跟踪、combo 回退和工具输出压缩放在同一面板
  • 本地运行,配置和状态有明确数据目录

局限

  • 免费 provider 仍有额度和活动期限,官方 FAQ 明确说明模型列表会变化
  • 本地网关仍会把提示和工具输出发给所选上游 provider,并不等于离线
  • 当前根 README 与旧 GitBook 的 dashboard 端口说明不一致,应以安装后的启动输出为准
  • GitHub Latest release 是 v0.5.35,但主分支 package.json 已是 0.5.85,文档、源码和已安装包可能不同步
来源:github.com/decolua/9router;https://github.com/decolua/9router/release…

最新版本

2026-09-23 核对时,GitHub Releases 把 v0.5.35(页面显示 2026-07-16)标为 Latest,新增 Grok Imagine 视频接口、Copilot Claude 路由和 RTK 旁路请求头等;主分支 package.json 已是 0.5.85。安装或更新后应记录 9router --version,并按对应版本文档排查。

来源:github.com/decolua/9router/releases/tag/v0.5.35;https://github.com/de…

实测与证据

status: docs_only_official_sources_checked_not_installed  |  checked_at: 2026-09-23  |  environment: 只阅读 decolua/9router 官方根 README、GitBook、package.json 和 GitHub Releases;未安装 npm 包,未启动代理,也未连接任何 provider  |  limitations: 没有观察实际启动日志、端口、OAuth、fallback、RTK 压缩率或客户端兼容性;页面把 20% 到 40% 标成项目方数据,不作为本机结果。  |  observed_output: 当前根 README 给出的 dashboard 为 localhost:20128/dashboard、API 为 localhost:20128/v1;GitHub Releases 标记 v0.5.35 为 Latest,而主分支 package.json 为 0.5.85。

来源:github.com/decolua/9router;https://github.com/decolua/9router/release…

同类项目对比

相比 LiteLLM,9Router 更偏个人 AI 编程客户端:重点是订阅/免费 provider 接入、combo、配额界面和 RTK。LiteLLM 官方定位包含 Python SDK 与团队/组织网关,强调虚拟密钥、花费管理、guardrails 和负载均衡。个人本地编程路由可先看 9Router;生产团队治理更接近 LiteLLM 的范围。

来源:github.com/decolua/9router;https://github.com/BerriAI/litellm/blob/ma…

总结评价

9Router 适合愿意自行管理上游账号、额度和数据边界的个人开发者。先用一个低风险 provider 验证 /v1、模型列表和回退,再决定是否接入订阅账号;不要把项目方的免费与压缩宣传当成稳定配额或本机实测。

来源:github.com/decolua/9router

常见问题

9Router 当前默认使用哪些地址?

当前根 README 写的是控制面板 http://localhost:20128/dashboard,OpenAI 兼容 API 是 http://localhost:20128/v1。旧 GitBook 仍出现 3000 端口,遇到不一致时以已安装版本的启动输出为准。

9Router 所说的免费模型真的是无限量吗?

不是。官方 FAQ 写明 Kiro、OpenCode Free 和 Vertex 都受额度、试用期或模型活动影响,列表可以随时变化;自动回退不能把有限额度变成永久无限。

Dashboard 显示的 cost 是 9Router 账单吗?

不是。官方说明该数字是按付费 API 价格估算的对比值;9Router 不收这笔钱,但你仍可能向所选 provider 支付订阅或 API 费用。

9Router 的 RTK 节省 20% 到 40% token 是保证吗?

不是保证,这是项目 README 给出的示例范围。实际结果取决于 tool_result 类型和任务,应该对同一请求分别开启和关闭 RTK 后比较。

资料与核验范围
本文依据项目公开资料整理。版本、安装命令和功能边界可能随上游更新,请以所列来源和项目当前版本为准。 资料核对时间: 2026-09-23 13:55.

参考材料:README、GitHub API、依赖文件