让 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 diffgrep、文件读取、测试输出、工具返回值都会进入上下文,尤其是长任务里,tool_result 很容易吃掉大量 Token。9Router 的 RTK Token 节省器就是针对这类输出做压缩和裁剪,减少无效上下文。

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

技术栈与模块

仓库的 package.json 显示它是一个 Next.js 应用,依赖 React 19、Next 16、Express、http-proxy-middlewarejosesql.jszustand、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 编程用户来说,这种基础设施感很有价值,因为它让你少一点被额度和配置打断,多一点把注意力留给代码本身。

相关推荐
Artech1 小时前
[MAF预定义ChatClient中间件-07]PerServiceCallChatHistoryPersistingChatClient——基于ReAct循环的一步一存档
ai·agent·agent管道
AI原来如此1 小时前
Claude Opus与GPT-5激战,国内API中转站如何应对2026模型迭代潮?
大数据·人工智能·gpt·ai·大模型·ai编程
好评笔记1 小时前
深度学习面试八股—— GRU(Gated Recurrent Unit)
人工智能·rnn·深度学习·算法·机器学习·gru·校招
comcoo1 小时前
避坑指南:OpenClaw v2.7.9 Windows/macOS 零基础安装全过程
人工智能·windows·macos·github·开源软件·open claw·open claw部署包
南檐巷上学1 小时前
基于改进型CNN神经网络的车牌定位识别系统(Matlab)
人工智能·神经网络·matlab·cnn·车牌识别·vgg
3DVisionary1 小时前
模具电极3D检测真实案例:手机后盖注塑模石墨电极全流程实录
人工智能·3d·智能手机·案例分析·蓝光三维扫描·模具检测·石墨电极
AI人工智能+1 小时前
往来港澳通行证识别系统,深度融合计算机视觉与自然语言处理,为“智慧口岸”和“数字政务”提供了强有力的技术支撑
人工智能·深度学习·ocr·往来港澳通行证识别
糖葫芦君1 小时前
Claude code并行运行代理
人工智能·claude
AC赳赳老秦1 小时前
OpenClaw + 华为云自动化:批量管理云资源、生成月度云账单分析与成本优化报告
java·开发语言·javascript·人工智能·python·mysql·openclaw
一锅炖出任易仙1 小时前
创梦汤锅学习日记day30
学习·ai·ue5·游戏引擎