9Router:免费AI路由与Token节省器
连接Claude Code、Codex、Cursor等工具,通过40多家提供商实现无限的免费AI编程,自动回退,RTK节省20-40%的Token,永不触达限制。
- Star 数
- ★ 31k
- 最近更新
- 3 天前
- License
- MIT
- 主语言
- JavaScript
- FA 评分
- 40/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台ChatGPT · Codex · Claude Code
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 希望充分利用Claude Pro订阅的开发人员,配置组合在配额耗尽后回退到GLM和Kiro免费模型,实现零停机。
- 不适合
- 不愿自行部署本地服务或 VPS 的非技术用户
- 依赖 iFlow、Qwen Code、Gemini CLI 免费额度的用户(这些免费层已于 2026 年停用)
这个 Agent 能做什么,适合哪些场景?
9Router是一个本地AI网关,统一所有主流AI编码CLI工具,如Claude Code、Codex、Cursor、Cline、Copilot、Antigravity等,并将它们连接到40多家提供商,包括订阅服务(Claude Code、Codex、GitHub Copilot、Cursor)、廉价API(GLM、MiniMax、Kimi)以及免费层(Kiro AI、OpenCode Free、Vertex AI)。它提供OpenAI兼容的API端点,支持智能三层回退以确保零停机,并通过内置的RTK Token节省器压缩工具输出,节省20-40%的输入Token,可选的Caveman和Ponytail提示词可进一步减少输出。仪表板提供实时配额跟踪、请求日志、使用分析、多账户轮询和云同步。安装可通过npm全局安装或从源码运行,支持本地、VPS或Docker部署。该软件完全免费开源(MIT许可证),成本仅来自您直接使用的提供商。
9Router在本地运行,监听端口20128,提供仪表板(/dashboard)和OpenAI兼容的API(/v1)。它接收来自CLI工具的标准OpenAI格式请求,通过格式转换器将其翻译为提供商的原生格式(Claude、Gemini、Cursor等),根据配置的组合路由到提供商,并智能地按层级回退(订阅→廉价→免费)。RTK Token节省器在请求前压缩工具输出(如git diff、grep),Caveman提示词减少了最多65%的输出Token,Ponytail注入‘懒惰高级开发人员’提示词,促使代码更简洁。它跟踪每个提供商的配额和Token使用情况,自动刷新OAuth Token,支持多账户轮询,并记录完整的请求/响应日志用于调试。使用API密钥通过Authorization Bearer头进行认证。
- 希望充分利用Claude Pro订阅的开发人员,配置组合在配额耗尽后回退到GLM和Kiro免费模型,实现零停机。
- 零预算的开发者,通过Kiro和OpenCode Free设置免费组合,实现$0成本的AI编码。
- 需要在OpenClaw等消息应用中集成AI助手的用户,配置免费组合以用于WhatsApp、Telegram、Slack等。
- 寻求成本可预测的团队,选择Kimi的每月$9固定费用或MiniMax的$0.20/100万Token,作为主要模型的备份。
- 需要无限续跑的开发者,组合多订阅、廉价API和免费层,实现零停机编码。
如何安装或部署这个 Agent?
要安装,请全局安装npm包:'npm install -g 9router',然后运行'9router'以启动仪表板,地址为http://localhost:20128。或者,从源码运行:克隆仓库,复制.env.example为.env,运行'npm install',然后使用'PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev'启动开发服务器;生产模式使用'npm run build'后运行'npm run start'。需要Node.js 20+。Docker:'docker run -d --name 9router -p 20128:20128 -v "$HOME/.9router:/app/data" -e DATA_DIR=/app/data decolua/9router:latest'。
如何使用这个 Agent?
安装后,打开仪表板并连接提供商:注册Kiro或OpenCode Free无需注册,或为其他提供商添加API密钥。从仪表板复制API密钥。配置您的CLI工具:对于Claude Code,编辑~/.claude/config.json设置'{"anthropic_api_base": "http://localhost:20128/v1", "anthropic_api_key": "your-9router-api-key"}'。对于Codex,设置环境变量'OPENAI_BASE_URL="http://localhost:20128"'和'OPENAI_API_KEY="your-9router-api-key"'。在CLI中选择模型,如'cc/claude-opus-4-7'或组合名称如'free-forever'。发送示例请求:'curl -X POST http://localhost:20128/v1/chat/completions -H "Authorization: Bearer your-key" -H "Content-Type: application/json" -d '{"model": "kr/claude-sonnet-4.5", "messages": [{"role": "user", "content": "Hello"}]}'。
这个 Agent 有哪些优点和局限?
- 内置RTK Token节省器:压缩工具输出,每次请求节省20-40%的输入Token,错误时安全回退。
- 三层智能回退(订阅→廉价→免费)确保零停机,适用于24/7编码场景。
- 支持40多家提供商,包括免费层(Kiro、OpenCode Free、Vertex),可实现$0成本使用。
- OpenAI兼容端点适用于所有主流CLI工具,格式转换支持OpenAI、Claude、Gemini、Cursor等。
- 提供仪表板,实时配额跟踪、请求日志、使用分析和云同步,便于管理。
- 关于提供商免费层的文档有些过时,引用已停用的iFlow、Qwen Code和Gemini CLI,这些在2026年已不存在,可能会造成困惑。
- Kiro AI的免费层有限制(每月约50积分),OpenCode Free的模型列表会波动,需要验证当前可用性。
- 自托管提供商(如TTS/STT)需要额外配置,嵌入端点需要精确的OpenAI基础URL。
- 首先需要本地或VPS部署,对非技术用户可能不是即开即用。
- 免责声明和费用显示可能错误暗示收费,可能导致对成本跟踪的误解。
这个 Agent 与同类方案有什么区别?
该README承认了原始Go实现CLIProxyAPI,以及RTK、Caveman和Ponytail等Token节省技术,这些已集成或作为灵感。它提到一个功能齐全的TypeScript分支OmniRoute,增加了36个提供商和高级功能,可能作为替代方案。没有其他直接比较。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| 9Router:免费AI路由与Token节省器 当前 | 40 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 31k | 3 天前 | JavaScript | ChatGPT · Codex · Claude Code |
| Puppetmaster | 68 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 468 | 今天 | Python | Codex · Claude Code |
| Claude Code 技能库与插件 | 64 · 存在缺口 | Agent 插件 / 技能免费 | ★ 28k | 1 个月前 | Python | Codex · Claude Code |
| OpenCodeReview | 53 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 48k | 今天 | Go | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:项目使用OAuth和API密钥,但未提供权限最小化设计;用户确认机制缺失;数据流透明度有限,仅提及请求日志;敏感数据处理(如API密钥)有基本处理但未详细说明;依赖安全未审计;外部影响(如自动回退)存在但未明确用户同意;回滚机制未提及;来源归属仅通过MIT许可证和版权声明。扣分原因:缺乏权限最小化、用户确认、回滚等关键安全机制。
证据显示:项目自述功能一致,但未提供测试证据;依赖项众多,但未验证可用性;失败消息在代码中有基本处理(如ping测试返回错误信息),但整体可靠性未验证。扣分原因:静态审查无法验证依赖可用性和实际运行可靠性。
证据显示:目标受众明确(AI编码工具用户),场景多样(免费、廉价、订阅回退);能力边界在README中有描述,但不够详细;触发精度(如自动回退条件)未明确;环境适配(如Docker、本地运行)有说明。扣分原因:能力边界和触发条件描述不够精确。
证据显示:信息架构清晰(README、文档、视频);安装说明详细;命名稳定(9router);示例和FAQ有提供;已知限制部分提及(如免费层变化);许可证为MIT;版本和变更日志未明确;维护责任未明确。扣分原因:版本变更日志和维护责任缺失。
证据显示:输出可用性(如API兼容)有说明,但未验证;边际价值(如节省token)有明确主张;成本效益(免费、节省成本)有吸引力。扣分原因:输出可用性未经验证,边际价值主张缺乏数据支持。
证据显示:声明(如节省20-40% token)有来源(RTK等),但未提供独立验证;跨来源佐证(如视频教程)存在但非官方;事实与推断未明确区分。扣分原因:缺乏独立验证和事实推断分离。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 未验证的发布者身份:Publisher未经验证,需谨慎对待。
- 自动回退和云同步功能可能涉及数据外发,需确认用户同意。
- 依赖项众多,未提供安全审计,存在供应链风险。
- 免费层和模型可用性可能随时变化,依赖此项目的稳定性需谨慎。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v0.5.35 feat: Grok Imagine video, Copilot Claude route, i18n th/fa version 0.5.35
发布说明摘录
Features: - xAI: Grok Imagine video generation (/v1/videos) + CLI - CLI tools: Grok Build setup — writes [model.9router] to ~/.grok/config.toml - GitHub Copilot: route Claude models through Copilot native /v1/messages - Kiro: add GPT-5.6 model family (#2596) - RTK: X-9Router-Token-Saver header to bypass token savers per request - Providers: quota visibility settings - Translator: drop temperature for all Claude models - i18n: Thai (th) + Persian (fa) translations / README Fixes: - Providers: bulk-add API keys no longer overwrite existing keys (gap-fill Key N) …在 GitHub 查看 ↗ -
v0.5.20 feat: thinking level picker + suffix support across providers version 0.5.20
发布说明摘录
Features: - Thinking: per-model thinking level picker on provider page, appends (level) suffix to copied model names for forced reasoning effort across all formats (openai, claude, gemini, deepseek, kimi, qwen, zai, minimax, hunyuan, step) - RTK: add JS-native git-log filter (#2423) - Caveman: add targeted upstream-aligned style rules (#2424) - i18n: add Farsi (fa) language support (#2385) Fixes: - Thinking: strip (level) suffix from upstream body.model so providers no longer reject requests - Translator: preserve developer instructions in openai-responses conversion (#2434) …在 GitHub 查看 ↗ -
v0.5.18 v0.5.18: cached token tracking, provider fixes version 0.5.18
发布说明摘录
Features: - Usage: track cached tokens + correct input/output/cache cost (#2209) - Codex: show reset credit expiry details (#2290) - NVIDIA: add new models and capabilities - ClinePass: add provider support Fixes: - Usage: dedupe streaming request-details log entries - Claude: drop foreign thinking signatures in passthrough - Prevent non-SSE stream pipe crash and cross-IdP account overwrites (#2244) - Kiro: route IdC auth to regional CodeWhisperer surface (#2297) - Kiro: add Claude Sonnet 5 model support (#2264) - Xiaomi-tokenplan: region selector, key validation, multi-connection (#2251) …在 GitHub 查看 ↗
常见问题
9Router 默认端口是多少?
http://localhost:20128/dashboard,OpenAI 兼容接口在 http://localhost:20128/v1,在编程工具里填这个 base URL 即可。从源码运行时,README 通过 PORT 环境变量设置端口。