让 AI 编程不断线:9Router 的本地模型路由与 Token 节流术

项目地址:decolua/9router

9Router 面向 Claude Code、Codex、Cursor、Cline 等 AI 编程工具,提供本地路由、模型切换、Token 节省与多供应商接入能力。

一句话看懂

9Router 是一个跑在本地的 AI Router。你把 AI 编程工具的 API Endpoint 指到 http://localhost:20128/v1,它再帮你把请求转发到不同模型供应商:订阅额度优先,用完后切到便宜模型,再不行切到免费额度。与此同时,它还会做格式转换、配额追踪、Token 刷新,以及 README 中重点强调的 RTK Token 节省。

如果你每天大量使用 AI 写代码,9Router 解决的是一个很实际的问题:模型额度、成本和工具兼容性经常打断工作流。

项目速览

维度 内容
项目类型 本地 AI API 路由器 / Token Saver
技术栈 Next.js、React、Express、代理中间件、本地存储
默认端口 20128
核心协议 OpenAI 兼容 /v1 接口,并做 Claude/OpenAI 格式转换
面向工具 Claude Code、Codex、Cursor、Cline、OpenCode、OpenClaw 等
README 目标 节省 20-40% tokens,自动切换免费/低价/订阅模型

工作原理

9Router 在本地充当网关。外部看起来它像一个 OpenAI 兼容接口;内部则根据模型、账号、额度和策略,把请求转给不同供应商。
AI 编程工具

Claude Code / Codex / Cursor
本地 endpoint

localhost:20128/v1
9Router 智能路由
RTK Token 节省
OpenAI / Claude 格式转换
配额追踪与 Token 刷新
自动 fallback
订阅模型
低价模型
免费额度

这个设计的好处是,工具侧配置只做一次。以后你添加新供应商、换模型、调整优先级,都在 9Router 控制台里完成,不需要每个 CLI 单独改一遍。

为什么它对 AI 编程有用

AI 编程工具的消耗不只是用户输入。git diff、grep、文件读取、测试输出、工具返回值都会进入上下文,尤其是长任务里,tool_result 很容易吃掉大量 Token。9Router 的 RTK Token 节省器就是针对这类输出做压缩和裁剪,减少无效上下文。

更重要的是 fallback。真实工作里最烦的不是模型贵,而是写到一半被限流、额度用完、供应商故障。9Router 把供应商分层:订阅优先、低价兜底、免费补位,让"继续工作"比"手动换模型"更自然。

技术栈与模块

仓库的 package.json 显示它是一个 Next.js 应用,依赖 React 19、Next 16、Express、http-proxy-middleware、jose、sql.js、zustand、Monaco、Recharts 等。大致可以分成四层:

层级 作用
Web Dashboard 管理供应商、模型、密钥、额度和路由策略
API Gateway 暴露 OpenAI 兼容接口,接收工具请求
Provider Adapter 做不同供应商的协议与鉴权适配
Local State 保存配置、统计、会话和配额信息

Dashboard

Next.js / React
本地配置与统计
/v1 API Gateway
路由策略引擎
Provider Adapters
Claude / Codex / Copilot
GLM / MiniMax 等低价模型
Kiro / OpenCode Free / Vertex credits

路由策略可以怎么设计

9Router 最值得玩味的地方,是它把"选模型"从一次性配置变成了策略。你可以按成本、稳定性、上下文长度、供应商额度来设计路由。
额度充足
接近上限
一次编码请求
检查订阅额度
订阅模型
低价模型
免费模型兜底
RTK 压缩 tool_result
返回结果

一个实用策略是:复杂架构设计和大规模重构走高质量模型,日常补测试、解释报错、改文案走低价模型,临时探索和重复性任务走免费额度。这样既不牺牲关键任务质量,也不会把昂贵额度浪费在低风险任务上。

快速开始

全局安装方式:

bash 复制代码
npm install -g 9router
9router

然后打开控制台:

text 复制代码
http://localhost:20128

在 AI 编程工具中填写:

text 复制代码
Endpoint: http://localhost:20128/v1
API Key: 控制台生成或复制的 key
Model: 选择 9Router 中配置的模型名

源码运行方式:

bash 复制代码
git clone https://github.com/decolua/9router.git
cd 9router
cp .env.example .env
npm install
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev

适合谁

9Router 特别适合高频 AI 编程用户:每天在多个 CLI、编辑器、模型之间切换的人;已经购买多个订阅,希望把额度用满的人;以及团队里想统一模型入口、降低配置混乱的人。

它不太适合只偶尔聊天、只用单一官方客户端的人。它引入了一个本地网关,就意味着你需要理解密钥保存、供应商配置、端口暴露、日志记录这些基础问题。

使用时要留意

9Router 会处理 API Key、账号 Token 和请求内容。部署在个人电脑上通常问题不大;如果放在服务器或团队环境里,就要认真做访问控制、日志脱敏和配置备份。尤其不要把本地控制台暴露到公网。

另外,Token 压缩不是魔法。它能减少冗余工具输出,但如果任务本身需要完整上下文,过度压缩可能影响模型判断。最稳妥的方式是先观察几天统计,再逐步调整策略。

排查问题时先看三件事

如果工具接入后不可用,先不要急着换模型。可以按下面顺序排查:

检查项 说明
Endpoint AI 工具是否确实指向 http://localhost:20128/v1
API Key 工具侧 key 是否和 9Router 控制台一致
Model 模型名是否是 9Router 已配置并可路由的名称
Provider 供应商账号是否登录、Token 是否过期、额度是否可用
Logs 控制台是否显示格式转换、限流、鉴权或网络错误

如果团队共用一台 9Router,更要把访问边界说清楚。它适合作为本地或内网基础设施,不适合裸奔在公网。

总结

9Router 的定位很清楚:它不是一个新模型,也不是一个聊天客户端,而是 AI 编程工作流里的"本地调度台"。它把供应商、额度、协议和 Token 成本放到一个入口里管理。对重度 AI 编程用户来说,这种基础设施感很有价值,因为它让你少一点被额度和配置打断,多一点把注意力留给代码本身。

相关推荐
不停喝水1 分钟前
【前端转全栈java速通课】 项目实战④12-14节 拦截器过滤器和全局配置-cors跨域设置-token体系-利用session做验证码
java·开发语言·前端·ai·容器
Dawson Zhu2 分钟前
《Agentic Design Patterns》第 19 章导读:评估与监控
人工智能·语言模型·架构·aigc·agi
鱼宵4 分钟前
Spring AI RAG 问答助手:回答带引用,AI 不再睁眼说瞎话
java·人工智能·spring·springai
lisw055 分钟前
环境智能(ambient intelligence)概述!
网络·人工智能·计算机视觉
虎鲸不是鱼5 分钟前
AI 自动化逆向(五)控制组:区分「没有」和「没取到」
人工智能·自动化·大模型·ai逆向·ai反编译
jerryinwuhan6 分钟前
从GPT到Agent:下一代人工智能系统架构演进
人工智能·gpt·系统架构
研发小能7 分钟前
DevOps 流水线怎么选?自研、开源拼装还是企业级平台
运维·开源·devops·嘉为蓝鲸
薛定猫AI7 分钟前
【技术干货】基于本地优先架构的开源AI智能体Octopus系统设计与实战解析
python·机器学习·ai·大模型·技术实战
console.log('npc')8 分钟前
第 3 章 工程化与项目初始化
前端·人工智能·大模型
墨云安全8 分钟前
AI 渗透测试是怎么实现的?2026 年大模型驱动测试用例生成的工程拆解
网络·人工智能·网络安全·渗透测试·测试用例