
现代化多模型 AI 网关与订阅平台,提供 OpenAI 兼容 API、模型市场、工具调用、双窗口配额、计费与完整管理后台。
#Go#React#TypeScript#Docker#MySQL#Redis
接的模型供应商越多,越需要一个中间层。
每家一套 API 格式、一套鉴权、一套流式协议,下游应用每接一家就要重写一遍。Prism 在中间把这层差异吸收掉,对外统一成 OpenAI 兼容格式,下游只对接一次就够了。
几个取舍
对外统一成 OpenAI 兼容 API,不做每家一套。 上游供应商格式五花八门(OpenAI、Anthropic、Gemini 的流式协议都不一样),但下游接入方绝大多数只认 OpenAI 格式。在网关层做一次归一化,下游就不用关心上游是谁。代价是会损失一些供应商特有的能力,但能通过扩展字段补回来——兼容性优先于功能的完整性。
后端选 Go 而不是 Node。 网关的核心负载是「大量并发请求 + SSE 流式转发」,Go 的 goroutine 处理长连接的内存占用和调度开销比 Node 的异步模型更合适。换来的是生态不如 Node 丰富(有些 SDK 没有官方 Go 版本,得自己实现 HTTP 调用),但对网关这种职责单一的服务,这笔交易划算。
配额用「短周期 + 长周期」双窗口,不做单一日限额。 单一日限额有个老问题:用户一口气把全天额度在前几个小时烧光,后面服务直接停摆。双窗口(5 小时 + 每周)让爆发性使用被短窗口拦住、长期使用被长窗口兜住。复杂度确实更高,但订阅制绕不开这个。
源码与部署文档:github.com/qwq202/Prism