写代码的人最近大概都有个共同的焦虑:Claude Code 好用,但额度用完怎么办?Cursor 订阅费不便宜,Cline 也要烧 API 额度。于是有个开源项目应运而生——9router,一周涨了 6000 多 Star,直逼 10,600。
它的核心思路其实很朴素:既然每个模型提供商都有免费额度或低价方案,为什么不把它们聚合起来,让编码工具自动选最便宜的那条路走?
架构设计:一个反向代理解决所有"额度焦虑"
9router 本质上是一个 OpenAI 兼容的 API 代理层。你在 Claude Code、Cursor、Cline、GitHub Copilot 甚至 OpenAI Codex 里把 API 地址指向 9router,它再把请求转发到后端的实际模型提供商。
听起来不复杂?关键在于它做了几件很务实的事:
自动降级(Auto-fallback)——主提供商挂了或者额度用完了,自动切到备胎。不是"报错等你手动换",而是无感切换。这个设计对长时间跑编码任务特别重要——你不想半夜两点被一个 429 错误打断。
RTK Token 压缩(-40% tokens)——这是它的一个差异化技术点。通过请求级别的 Token 优化,能减少约 40% 的 Token 消耗。对于按 Token 计费的场景,这直接等于省钱。具体实现上是在转发前对 prompt 做压缩和去重,减少冗余上下文。
40+ 提供商支持——从 OpenAI、Anthropic、Google 到各种区域性提供商(包括小米等国内厂商的 Token 计划),覆盖面很广。这意味着你可以把各家免费额度都利用起来。
实际部署
部署方式比较灵活:
# Docker 一键部署
docker run -d -p 8080:8080 decolua/9router
# 或者 npm 全局安装
npm i -g 9router
部署完后,在你的编码工具里把 API Base URL 改为 http://localhost:8080/v1,配上对应的 API Key 就行。
为什么这个工具突然火了
表面看,"把多个 API 提供商聚合起来"这件事不是新概念。OpenRouter、LiteLLM 都在做类似的事。但 9router 的切入点更聚焦——它专门为编码场景设计,不是通用 API 网关。
这意味着什么?
- 它理解编码工具的请求模式(长对话、多文件上下文、反复编辑),Token 压缩策略是针对性优化的
- 自动降级的逻辑考虑了编码场景的连续性需求——不能写到一半模型突然切换导致上下文丢失
- 社区贡献的提供商列表很多是个人开发者发现的小众免费渠道,通用网关不会收录这些
几个需要注意的点
这不是"完全免费"的魔法棒。 它帮你最大化利用免费额度和低价渠道,但重度使用还是会花钱。别指望用它替代付费订阅来跑企业级项目。
提供商质量参差不齐。 40+ 提供商里有些是个人搭建的转发服务,稳定性和数据隐私需要自己评估。生产项目建议只选知名提供商。
Token 压缩有代价。 减少 40% Token 的同时,极端情况下可能损失一些上下文精度。对于需要完整上下文的复杂重构任务,建议关掉压缩。
适合谁
- 个人开发者——想在不花太多钱的情况下体验 Claude Code、Cursor 等工具的完整能力
- 学生/学习者——预算有限但需要大量编码练习
- 多工具使用者——同时用 Claude Code + Cursor + Cline,想统一管理 API 入口
不适合重度企业用户。如果你的团队每天有数百次 API 调用,直接跟提供商谈企业协议更划算。
来源:9router GitHub · MIT 协议