各位好,分享一个自己做的开源项目 Squirrel,一个 LLM API 网关。
起因是自己手上有不少项目在用大模型 API ,比如 N8N 里配了一堆 Agent ,还有各种业务服务,时间长了积累下来几个很头疼的问题,相信不少人也遇到过:
模型升级太累了。 各家厂商隔三差五出新模型,Claude 4 刚出想换上试试,结果发现自己十几个项目里散落着各种模型配置,要一个个去改。N8N 里的 Agent 、业务代码里的调用、测试环境的配置……改一圈下来半天过去了,而且总会漏掉几个。
钱花了但不知道花哪了。 同一个模型好几家都有,价格还不一样,手动去比价选供应商不现实。更别说有时候 A 供应商涨价了、B 供应商搞活动降价了,根本顾不过来。
出了问题没法查。 大模型调用不像传统 API ,prompt 发了什么、模型返回了什么、是不是流式中间断了,这些信息不记录下来,出了问题就只能靠猜。
所以做了 Squirrel 来解决这些问题,几个核心能力:
1. 模型映射 —— 一处改,处处生效
这是我自己最受益的功能。所有项目不直接配具体模型名,而是配一个虚拟模型名(比如 my-smart),在 Squirrel 里把它映射到实际的模型和供应商。想把所有项目从 Claude 3.5 升级到 Claude 4 ?在网关改一下映射,所有项目立刻生效,不用动任何业务代码。
2. 按成本自动选最优供应商
配好各家供应商的价格后,Squirrel 会自动把请求路由到价格最低的那家。同样是 GPT-4o ,A 供应商比 B 便宜,就自动走 A 。A 挂了?自动切到 B ,业务无感。也支持按优先级、权重、轮询等其他策略。
3. 请求洞察 —— 每次调用都看得清清楚楚
完整记录每一次 API 调用的请求体和响应体(包括流式响应),在管理面板里直接查看。发了什么 prompt 、模型返回了什么、用了多少 Token 、首字节延迟多久,一目了然。做 AI 应用调优的时候特别有用。
4. 自动重试和故障转移
供应商返回 500 或者超时,自动重试并切换到其他可用的供应商,不需要业务端做任何处理。
5. 协议兼容
同时兼容 OpenAI 和 Anthropic 的 SDK ,还能在 OpenAI Chat 、OpenAI Responses 、Anthropic Messages 之间自动转换协议。接入的时候就当一个普通的 OpenAI/Anthropic 服务用就行。
技术栈:Python (FastAPI) + Next.js + PostgreSQL/SQLite ,Docker Compose 一键部署。
项目开源,MIT 协议:https://github.com/mylxsw/llm-gateway
还在持续迭代中,欢迎试用。有问题或建议直接 GitHub issue ,也欢迎 PR 。

1
chairuosen 16 小时 45 分钟前
Wow ,和我们的需求很像,先赞一波
|
2
chairuosen 16 小时 41 分钟前
提一个问题,各家缓存协议接了么
|
3
swart 7 小时 57 分钟前
没有 dockerhub 的镜像么?
|