9Router 与 Roo AI 助手集成指南:Ollama 兼容端点接入多模型路由
【免费下载链接】9routerUnlimited FREE AI coding. Connect Claude Code, Codex, Cursor, Cline, Copilot, Antigravity to FREE Claude/GPT/Gemini via 40+ providers. Auto-fallback, RTK -40% tokens, never hit limits.项目地址: https://gitcode.com/GitHub_Trending/9r/9router
导读
本篇指南讲解如何将 9Router 与 Roo AI 助手(Roo Code)集成,通过 Roo 内置的Ollama兼容 Provider,指向 9Router 提供的 OpenAI 兼容 API,从而在统一界面中访问 Claude、DeepSeek、GLM 等多个模型,并享受自动降级(Auto-fallback)、配额跟踪等路由能力。读完本文,你将掌握在 Roo 中配置 Base URL / API Key、按命名前缀挑选模型、做连通性验证、解决常见故障,以及用别名与多 Profile 组织工作流的完整方法。
1. 集成原理:为什么 Roo 用 "Ollama" Provider 就能连 9Router
Roo AI 助手(Roo Code)本身是一个 VS Code 中的开源 AI 编码 Agent,支持通过自定义 API 接入各家后端。9Router 对外暴露的是OpenAI 兼容的/v1接口(默认本地端口20128,见 README.md 与 CLAUDE.md),Roo 恰好把这类"自定义 OpenAI 端点"归类为Ollama类型的 Provider 配置入口——其本质都是填写一个 Base URL 加一个 API Key。
因此集成链路非常直接:
Roo AI 助手 ──HTTP──> http://localhost:20128/v1 (9Router) ──路由/翻译──> Claude Code / Codex / GLM 等上游9Router 收到 Roo 发来的 OpenAI 格式请求后,会做格式翻译(OpenAI ↔ Claude ↔ Gemini 等多格式互转,见 README.md 的功能说明),再把请求转发到对应上游模型,同时执行配额跟踪、自动降级等逻辑。也就是说,Roo 侧只需要完成最简单的端点配置,复杂的多模型路由全部由 9Router 承担。
从源码看,/v1前缀被 dashboardGuard.js 列为公开 API 前缀,LLM 请求在处理器内部用自己的 API Key 做鉴权(见 dashboardGuard.js),这也解释了为什么集成时必须填写仪表盘生成的 API Key 而不是留空。
2. 前置条件
开始之前,确认以下三件事齐备:
- Roo AI 助手已安装(VS Code 扩展市场安装,并完成初始化)。
- 9Router API Key:从 9Router 仪表盘的 API Key 页面生成并复制。
- 9Router 正在运行:本地运行(默认
http://localhost:20128)或云端部署(https://9router.com)。
本地运行方式可参考 README.md 的 Quick Start:全局安装npm install -g 9router后执行9router,仪表盘即打开在http://localhost:20128;从源码运行则使用PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev(开发模式)或npm run build && PORT=20128 HOSTNAME=0.0.0.0 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run start(生产模式)。Docker 部署可参考 DOCKER.md,端口同样映射为20128。
3. 配置步骤(Roo 侧)
3.1 打开 Roo 设置
启动 Roo AI 助手,点击设置图标打开配置面板,进入API Provider设置区域。
3.2 配置 API Provider
- 在API Provider下拉列表中选择Ollama(即"自定义 OpenAI 兼容端点"的入口);
- 按下表填写连接参数:
本地 9Router:
Base URL: http://localhost:20128/v1 API Key: your-api-key-from-dashboard云端 9Router:
Base URL: https://9router.com/v1 API Key: your-api-key-from-dashboard要点提醒:
- Base URL必须以
/v1结尾,这是 9Router 的 OpenAI 兼容 API 挂载点; - API Key 来自 9Router 仪表盘,与 Roo 自身的许可证/账号无关;
- 如果 Roo 还要求填写 Model ID,可先填入下文任意一个模型名(如
cc/claude-sonnet-4-20250514)完成连接,后续随时切换。
3.3 选择模型
Roo 端保存配置后,从模型下拉列表中选择 9Router 提供的模型。9Router 的模型名采用前缀/模型ID的命名方式,前缀即上游渠道(cc/表示 Claude Code 渠道、cx/表示 Codex 渠道、glm/表示 GLM 渠道),这与 claude-code.md 中 Claude Code 集成使用的命名规则一致。
Claude 模型(cc/):
| 模型名 | 定位 |
|---|---|
cc/claude-opus-4-5-20251101 | 最强,适合复杂任务 |
cc/claude-sonnet-4-20250514 | 性能与速度平衡 |
cc/claude-haiku-4-20250514 | 最快,适合简单任务 |
DeepSeek 模型(cx/):
| 模型名 | 定位 |
|---|---|
cx/deepseek-chat | 通用对话与代码生成 |
cx/deepseek-reasoner | 复杂推理 |
GLM 模型(glm/):
| 模型名 | 定位 |
|---|---|
glm/glm-4-plus | 高级通用能力 |
glm/glm-4-flash | 快速响应 |
从源码看,cx/deepseek-chat与cx/deepseek-reasoner对应 DeepSeek 官方渠道的模型定义(见 deepseek.js),并在 capabilities.js 中标注了 128K 上下文窗口;glm前缀对应智谱 GLM 渠道(见 glm.js)。模型列表会随 9Router 版本与套餐动态变化,以上文当前仓库为准。
3.4 测试连接
在 Roo 聊天框中发送一条测试消息验证整条链路:
Hello! Can you confirm you're connected through 9Router?若收到正常回复(例如确认经由 9Router 转发的响应),说明集成成功。也可以在终端直接用 curl 验证 9Router 本身是否健康:
curl http://localhost:20128/health/api/health被 dashboardGuard.js 列为免鉴权的公开健康检查路径,返回正常即代表服务在线。
4. 使用示例
连接成功后,就可以在 Roo 中按场景选择不同模型:
基础聊天:
向 Roo 提问: "Explain quantum computing in simple terms" 模型: cc/claude-sonnet-4-20250514代码生成:
向 Roo 提问: "Write a Python function to calculate Fibonacci numbers" 模型: cx/deepseek-chat复杂推理:
向 Roo 提问: "Analyze the trade-offs between microservices and monolithic architecture" 模型: cx/deepseek-reasoner5. 模型选择建议
- 快速任务:使用
cc/claude-haiku-4-20250514或glm/glm-4-flash,响应延迟最低; - 均衡性能:使用
cc/claude-sonnet-4-20250514或cx/deepseek-chat,适合日常编码; - 复杂推理:使用
cc/claude-opus-4-5-20251101或cx/deepseek-reasoner,适合架构分析与疑难问题; - 成本优化:优先 DeepSeek 或 GLM 模型,二者在 pricing.js 中均有明确的价格配置,属于低成本档位。
需要说明的是,9Router 的"3 层降级"机制(订阅 → 低价 → 免费)是在 9Router 侧通过 Combo 配置实现的(见 README.md 的 Smart 3-Tier Fallback 示例)。如果你在仪表盘为某个模型配置了 Combo 自动降级,那么即使在 Roo 中固定填一个模型名,上游配额用尽时 9Router 也会按 Combo 顺序自动切换,Roo 无需任何额外配置。
6. 故障排查
连接失败
- 确认 9Router 正在运行:
curl http://localhost:20128/health; - 检查 API Key 是否与仪表盘一致;
- 确认 Base URL 末尾包含
/v1后缀; - 检查 Roo 与 9Router 之间的网络(云端部署时确认
https://9router.com/v1可达)。
模型不可用
- 模型名必须完全匹配且区分大小写,例如
cc/claude-sonnet-4-20250514不能写成其他大小写形式; - 确认当前 9Router 套餐已启用该模型;
- 尝试列表中的其他模型,或刷新仪表盘模型列表。
响应缓慢
- 切换到更快模型(haiku、flash 档);
- 检查本地/云端网络连接质量;
- 在 9Router 仪表盘开启调试日志(Debug 模式),查看请求日志与上游延迟,定位是网络问题还是上游限流。
7. 高级配置
7.1 自定义模型别名
Roo 支持为常用模型创建快捷别名,减少切换成本。示例映射:
别名: "fast" → cc/claude-haiku-4-20250514 别名: "smart" → cc/claude-opus-4-5-20251101 别名: "code" → cx/deepseek-chat之后在聊天中直接用fast、smart、code即可快速指向对应模型。
7.2 多个配置文件(Profile)
为不同场景建立独立 Profile,让 Roo 的默认模型、上下文注入(Context/System Prompt)随场景切换:
- 开发(Development):DeepSeek 模型(
cx/deepseek-chat),面向编码; - 写作(Writing):Claude 模型(
cc/claude-sonnet-4-20250514),面向内容创作; - 研究(Research):Reasoner 模型(
cx/deepseek-reasoner),面向分析与推理。
7.3 配合 9Router 侧能力的进阶思路
- Combo 自动降级:在 9Router 仪表盘创建 Combo(如
cc/订阅 +glm/低价备份),Roo 固定填主模型即可获得自动兜底; - RTK / Headroom 令牌压缩:9Router 的 RTK 可对
tool_result类上下文自动压缩,节省 20–40% 令牌(见 README.md 的对比示例),Roo 的长任务尤其受益; - 多账号轮询:同一 Provider 配置多个账号时,9Router 按轮询或优先级自动调度(见 README.md),Roo 侧零感知。
8. 总结
Roo AI 助手通过内置的 Ollama 兼容 Provider 指向 9Router 的 OpenAI 兼容端点(http://localhost:20128/v1或https://9router.com/v1),即可在统一界面中使用多前缀(cc/、cx/、glm/)的模型,并获得 9Router 的格式翻译、自动降级、配额跟踪与令牌压缩等能力。配置要点可概括为:Base URL 必须带/v1、API Key 来自 9Router 仪表盘、模型名大小写敏感。
下一步阅读
- 配置 Cursor 进行 IDE 集成
- 设置 Continue 用于 VSCode 扩展
- 探索 CLI 用法 了解更多接入方式
- README.md 查看 9Router 全量功能与 Quick Start
【免费下载链接】9routerUnlimited FREE AI coding. Connect Claude Code, Codex, Cursor, Cline, Copilot, Antigravity to FREE Claude/GPT/Gemini via 40+ providers. Auto-fallback, RTK -40% tokens, never hit limits.项目地址: https://gitcode.com/GitHub_Trending/9r/9router
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考