NVIDIA-NeMo/Switchyard
编程助手接口不用改,后台模型却可以随意换的路由器
Switchyard是一个用Rust写的代理程序,能让Claude Code、Codex这类编程智能体继续使用它们原本的API格式,而实际请求则被转发给vLLM、NVIDIA NIM、Ollama等其他模型来处理。它在OpenAI和Anthropic两种API格式之间做转换,因此不需要改动智能体代码就能切换后端模型,或把流量分给多个模型做对比测试。目前它还是pre-alpha预发布阶段的软件,不建议用于生产环境。
它做什么
- 应用或智能体照常使用OpenAI Chat、Anthropic Messages或OpenAI Responses中任意一种原生格式,Switchyard在后台把请求转换成后端模型实际使用的格式再转发出去。
- 支持多种路由策略:随机分流、用LLM对请求内容分类后决定路由、根据对话中已有信号(如工具调用结果、报错信息)进行路由的阶段路由器,以及先用弱模型处理、再由裁判判断是否需要升级到强模型的升级路由器。
- 提供三种使用方式:作为独立代理服务器运行(switchyard-server)、通过命令行启动器运行Claude Code等工具(switchyard CLI)、或作为库直接嵌入到自己的Rust应用中(switchyard-libsy)。
- 通过Prometheus指标记录请求数、错误数、延迟、token用量和路由本身的开销,便于运维监控。
- 这个Rust项目在GitHub上获得1927颗星,采用Apache 2.0许可证,版权归NVIDIA所有。
为什么重要
想要降低成本或对比开源模型与商业模型效果的团队,不用改动编程智能体的一行代码,就能切换后端模型或做A/B测试。不过维护者自己也说明这仍是实验性的pre-alpha软件,API和算法预计还会有较大变动。
本仓库术语
- 代理(proxy) · 位于客户端和真实服务端之间转发请求的中间服务器
- OpenAI Chat / Anthropic Messages / OpenAI Responses · OpenAI和Anthropic各自定义的LLM请求-响应接口格式
- vLLM、NVIDIA NIM、Ollama · 用于自行部署运行开源大模型的服务引擎
- Prometheus指标 · 将服务器状态(请求量、延迟等)整理成标准格式,供监控工具采集展示的数据
- pre-alpha · 正式发布前的早期开发阶段,功能和接口仍会发生较大变化
仓库简介(英文)
Switchyard lets LLM applications route traffic across models and providers while preserving native OpenAI and Anthropic API compatibility - enabling flexible model selection, benchmarking, and cost/performance optimization.
在 GitHub 打开热门仓库
- vorssaint/vorssaint-utils一个免费菜单栏应用,顶替十几款付费Mac工具
- Alishahryar1/free-claude-code一个本地代理,把编程AI助手接到49家免费或低价模型服务商,不再只能用一家付费服务
- freestylefly/awesome-gpt-image-2把532个GPT-Image2案例拆解成可复用模板的提示词工程库
- block/buzz一个让人类和AI智能体在同一空间里聊天、写代码、做审查的开源协作平台
- NousResearch/hermes-agentNous Research推出的Hermes是一款越用越聪明的AI智能体
- virgiliojr94/book-to-skill把技术类书籍PDF变成AI编程助手随时可查阅的技能包
- VoltAgent/awesome-agent-skills把上千份让AI编程助手秒变专家的操作手册集中放在一个地方
- anthropics/claude-plugins-community一个把大家做的Claude插件集中起来供安装的仓库