arcships/aimux
一个用Rust写的统一接口,让你用一套API调用325家不同的AI服务商
aimux把各家AI服务商千差万别的HTTP接口统一封装成一个Rust接口,这样切换模型服务商时不用改调用代码。它支持文本生成、流式输出、工具调用、图像、语音、向量嵌入等多种能力,同一套核心代码还能在Node.js、Python、Go、Java等8种语言里直接使用。测试用录制好的历史响应回放,不需要联网或真实API密钥。
它做什么
- 共支持329家服务商:251家采用OpenAI兼容格式的服务商通过统一的配置注册,换个名字就能切换;10家有自己协议的服务商(OpenAI、Anthropic、Google等)单独实现;另外68家覆盖语音、图像、搜索等专项服务
- 核心是一个叫LanguageModel的Rust统一接口(trait);Node.js(通过napi-rs)和Python(通过PyO3)直接调用核心代码,Go、Java、Swift、Kotlin、Flutter、C则通过统一的C ABI(一种跨语言底层调用规范)接入
- 官方自测中,在同一台机器、同一个模拟服务器条件下,单次请求处理速度比官方OpenAI SDK在Node.js环境下快14.7倍,在Python环境下快7.5倍
- 0.3.0版本新增了把每次请求响应记录成文件并离线回放的功能、失败时自动切换到备用模型的路由功能,以及把多个模型的回答汇总成一个结果的MoA功能
- 测试基于2800多条录制好的响应样本回放,不需要联网或真实密钥即可完成开发验证
为什么重要
省去了为每家AI服务商单独写对接代码的重复劳动。对需要切换服务商或同时接入多家AI服务的应用开发者来说,能大幅减少改动业务逻辑的成本。
本仓库术语
- LanguageModel接口 · aimux定义的统一接口,让不同AI服务商可以用相同方式调用
- C ABI · 一种底层跨语言调用规范,让不同编程语言写的代码可以互相调用
- MoA(混合智能体) · 并行运行多个AI模型并把它们的回答合并成一个结果的方法
- 缓存命中追踪 · 检测服务商是否复用了之前缓存的响应而非重新处理请求
- 磁带式测试 · 用之前录制好的接口响应回放来测试,而不是连接真实服务器
仓库简介(英文)
one API for 325 AI providers. 统一 LLM 服务接入层:一套 API 接入 325 家 AI 服务商。
在 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插件集中起来供安装的仓库