Hotdry.

Article

9router统一代理路由:连接AI编程工具与免费层提供商的工程实践

深入解析9router如何通过RTK令牌压缩与智能三层降级机制,将Claude Code、Cursor、Copilot等AI编程工具连接至40+免费提供商,实现40%令牌节省与零停机成本优化。

2026-05-11ai-systems

在大模型编程辅助工具日益普及的今天,开发者面临的核心困境不再是「如何获得 AI 能力」,而是「如何在有限预算下持续获得稳定可靠的 AI 服务」。订阅额度月底清零、配额限制导致工作中断、工具输出大量消耗令牌 —— 这些问题催生了 9router 这款开源项目。作为一个统一代理路由层,9router 将主流 AI 编程工具与 40 余个提供商串联起来,通过 RTK 令牌压缩与智能降级策略,帮助开发者实现近乎零成本的持续编程。

核心架构:本地代理的三层路由逻辑

9router 本质上是一个运行在本地(默认端口 20128)的 OpenAI 兼容代理服务。开发者只需将 AI 编程工具的 API 端点指向http://localhost:20128/v1,即可将请求透明地路由至任意已配置的提供商。其架构核心围绕三个层级构建:订阅层负责消耗开发者已有的 Claude Code、Codex、Copilot 订阅;廉价层作为预算受控的备份方案,典型代表为 GLM(每百万令牌 0.6 美元)和 MiniMax(每百万令牌 0.2 美元);免费层则提供完全零成本的 Claude 4.5、GLM-5、MiniMax 等模型访问。

当请求进入 9router 时,系统会按照 Combo 配置中定义的顺序逐一尝试。当前一层级的配额耗尽或发生错误时,自动无缝切换至下一层级。这种设计确保了编程工作流的连续性 —— 无论配额状态如何变化,开发者始终能够获得 AI 辅助能力。Combo 支持任意数量的模型组合,配置示例中常见的做法是设置 5 层降级链:Claude Opus 作为主模型、GPT-5 系列作为辅助订阅、GLM 作为廉价备份、MiniMax 作为最便宜选项、Kiro 的免费 Claude 4.5 作为兜底方案。这种五层冗余设计理论上可实现零停机运行。

RTK 令牌压缩:工具输出的智能精简

RTK(Result Token Kit)是 9router 内置的令牌压缩引擎,也是其最具差异化的技术特性。在实际编程场景中,git diffgrepfindlstree等命令的输出往往占据提示词预算的 30% 至 50%。RTK 在请求发送至大模型之前拦截tool_result内容,通过预设的过滤器对工具输出进行无损压缩。系统会读取每个tool_result的前 1KB 内容,自动识别并应用对应的过滤器 ——git diff使用专用的 diff 过滤器、grep结果使用模式匹配去重、日志文件使用智能截断。

RTK 的设计哲学强调安全性优先:任何过滤器若执行失败、抛出异常或可能导致输出膨胀,系统会自动保留原始内容,确保请求不会因压缩逻辑缺陷而中断。这种设计使得 RTK 的令牌节省效果在实际测试中达到 20% 至 40%,且对模型输出的准确性和完整性没有影响。由于压缩发生在格式转换之前,RTK 能够兼容所有支持的 API 格式(OpenAI、Claude、Gemini、Cursor、Kiro、OpenAI Responses),这意味着无论开发者使用何种编程工具或提供商,RTK 都能立即生效。默认情况下 RTK 处于开启状态,开发者可通过 Dashboard 随时调整。

提供商接入:从付费订阅到零成本方案

9router 支持的提供商分为三类。OAuth 提供商包括 Claude Code、Codex、GitHub Copilot 和 Cursor IDE,这些服务需要通过 OAuth 2.0(PKCE)完成身份验证,9router 会自动处理令牌的刷新,确保长时间运行不会因令牌过期而中断。API 密钥提供商则涵盖 40 余个需要手动配置密钥的服务商,典型的如 GLM、MiniMax 和 Kimi,这些服务按量计费或提供固定月费套餐。免费提供商是项目的核心亮点 ——Kiro AI 提供免费的 Claude 4.5、GLM-5 和 MiniMax M2.5 访问,通过 AWS Builder ID 或社交账户登录即可获得无限额度;OpenCode Free 则完全无需认证,系统会自动从opencode.ai获取可用模型列表;Vertex AI 为新 Google Cloud 账户提供 300 美元免费额度,有效期 90 天,可访问 Gemini 3 Pro、DeepSeek V3.2 和 GLM-5 等模型。

值得注意的是,文档中明确标注了几个已停用的免费层级:iFlow 已于 2026 年转为付费服务、阿里云的 Qwen 免费 OAuth 层级于 2026 年 4 月 15 日停用、Gemini CLI 虽然仍可工作但非 CLI 工具使用可能导致账户被封禁。这一信息对于依赖免费方案的开发者具有重要参考价值。

部署实践:从 localhost 到生产环境的参数配置

9router 支持多种部署模式以适应不同使用场景。本地开发模式下,开发者通过npm install -g 9router全局安装后直接运行9router启动命令,Dashboard 可通过http://localhost:20128/dashboard访问。VPS 部署时需要克隆代码仓库、配置环境变量后执行构建和启动,其中JWT_SECRET必须替换为安全的随机字符串,INITIAL_PASSWORD应设置为强密码以保护 Dashboard 访问。生产环境推荐使用 PM2 进程管理器实现自启动和进程监控。

Docker 部署提供了更便捷的容器化方案。项目根目录下的 Dockerfile 支持通过--env-file参数注入运行时配置,容器默认暴露 20128 端口。关键的环境变量包括PORT(服务端口,默认 20128)、HOSTNAME(绑定地址,Docker 环境默认 0.0.0.0)、API_KEY_SECRET(API 密钥的 HMAC 签名密钥)以及ENABLE_REQUEST_LOGS(设为 true 时可开启完整的请求 / 响应日志)。对于需要跨设备同步配置的开发者,9router 提供云同步功能,服务器端可通过BASE_URLCLOUD_URL环境变量指定同步端点。

生产部署中有一个重要安全建议:REQUIRE_API_KEY环境变量应设为 true 以强制要求/v1/*路由携带 Bearer 令牌认证,避免服务被意外暴露到公网后遭受滥用。如果 9router 部署在 HTTPS 反向代理之后,需要设置AUTH_COOKIE_SECURE=true以确保认证 Cookie 正确传递。对于需要通过企业代理访问外网的场景,系统支持HTTP_PROXYHTTPS_PROXYALL_PROXY等标准代理变量。

Combo 配置实战:从入门到高阶策略

创建高效的 Combo 是充分发挥 9router 能力的关键。以「最大化订阅价值」场景为例,配置premium-coding Combo 包含三个层级:主模型为cc/claude-opus-4-7消耗 Claude Code 订阅额度、备份模型为glm/glm-5.1作为廉价降级选项、兜底模型为minimax/MiniMax-M2.7提供最廉价的令牌价格。这种配置适用于已有订阅但经常遇到配额限制的开发者,月度额外成本仅为备份服务的实际消耗量。

对于零成本优先的开发者,free-forever Combo 采用纯免费层级:主模型kr/claude-sonnet-4.5通过 Kiro 获取免费的 Claude 4.5 能力、辅助模型kr/glm-5kr/MiniMax-M2.5提供 GLM 和 MiniMax 的免费访问、最终兜底oc/<auto>使用 OpenCode Free 的无认证通道。配合 RTK 的令牌压缩效果,这种配置可以在完全不产生任何费用的前提下完成绝大多数编程任务。

实时配额追踪是 9router Dashboard 的核心功能之一。系统会显示每个提供商的令牌消耗量、配额重置倒计时(支持 5 小时周期、每日固定时刻、每周、每月等多种重置策略)以及成本估算。这一功能对于管理预算敏感的开发者尤为重要 —— 通过 Dashboard 可以直观地了解各层级的消耗速度,从而精确规划 Combo 中的降级时机。

技术选型考量与适用边界

理解 9router 的能力边界有助于做出正确的技术决策。首先,9router 本身是完全免费的开源软件,不存在任何形式的计费或抽成 ——Dashboard 中显示的成本数字仅用于追踪和对比,实际费用由各提供商直接收取。其次,免费提供商虽然当前可用,但其服务条款随时可能发生变化(如前文提到的 iFlow 和 Qwen 案例),开发者应建立监控机制以便在提供商策略调整时快速响应。

9router 的格式转换能力使其能够桥接不同 API 格式的工具与提供商,但这并不意味着所有组合都是最优选择。例如,某些工具在特定提供商上的响应速度和上下文窗口存在差异,这些因素应根据实际工作流程进行测试和调优。此外,RTK 的压缩效果虽然显著,但在极少数对输出精度要求极高的场景下,开发者可能需要评估压缩是否影响了模型理解意图的能力。

对于需要高可用保障的生产环境,建议在 VPS 或云服务器上部署 9router 而非仅依赖本地运行。这样可以确保编程工作流不因本机重启或网络波动而中断。云同步功能则保障了配置在多设备间的一致性,开发者可以在办公室台式机和居家笔记本上使用完全相同的 Combo 设置。

资料来源:9router GitHub 仓库(https://github.com/decolua/9router)

ai-systems

内容声明:本文无广告投放、无付费植入。

如有事实性问题,欢迎发送勘误至 i@hotdrydog.com