
现代化多模型 AI 网关与订阅平台,提供 OpenAI 兼容 API、模型市场、工具调用、双窗口配额、计费与完整管理后台。
#Go#React#TypeScript#Docker#MySQL#Redis
项目简介
Prism 是一个现代化多模型 AI 网关与订阅平台,以 OpenAI 兼容 API 统一接入十余种大模型供应商,同时提供面向 C 端用户的对话体验与面向 B 端的渠道分发能力。支持 PWA 与 Tauri 客户端,可 Docker 一键部署。
设计取舍
- 对外统一成 OpenAI 兼容 API,而不是每家一套。 上游供应商格式五花八门(OpenAI、Anthropic、Gemini 的流式协议都不一样),但下游接入方绝大多数只认 OpenAI 格式。在网关层做一次归一化,下游就不用关心上游是谁。代价是会损失一些供应商特有的能力,但能通过扩展字段补回来——兼容性优先于功能的完整性。
- 后端选 Go 而不是 Node。 网关的核心负载是「大量并发请求 + SSE 流式转发」,Go 的 goroutine 处理长连接的内存占用和调度开销比 Node 的异步模型更适合这个场景。换来的是生态不如 Node 丰富(比如某些 SDK 没有官方 Go 版本,得自己实现 HTTP 调用),但对网关这种职责单一的服务,这笔交易划算。
- 配额用「短周期 + 长周期」双窗口,而不是单一日限额。 单一日限额有个老问题:用户可以一口气把全天的额度在前几个小时烧光,后面服务直接停摆,体验和成本控制都不好。双窗口(5 小时 + 每周)让爆发性使用被短窗口拦住、长期使用被长窗口兜住,既能防滥用又不会因为一次高峰就把人锁死一整天。复杂度确实更高,但这是订阅制绕不开的取舍。
核心功能
多模型网关
兼容 OpenAI、Anthropic、Gemini、DeepSeek、xAI、Xiaomi MiMo、MiniMax、GLM 等格式,支持 Vision、Function Calling、Reasoning / Thinking 流式输出与上下文窗口配置。
订阅与双窗口配额
采用短周期(5 小时)+ 每周额度双窗口计费,两套配额独立计算、独立重置;支持套餐级额度池、礼品码 / 兑换码与弹性计费多种模式。
工具调用与增强能力
内置网页抓取工具(Fetch Webpage),集成 SearXNG / Tavily 联网搜索,支持文件解析(PDF / Docx / Pptx / Excel / 图片)、文生图、持久化记忆与浏览器语音识别输入。
管理后台
涵盖用户管理(含批量操作与直接创建)、渠道配置、订阅套餐、模型市场、公告通知、用量追踪与附件管理等全维度运营能力。
技术栈
- 后端:Go
- 前端:React + TypeScript,UI 遵循 shadcn/ui 与 Tremor Charts 设计规范
- 存储:MySQL + Redis,对象存储兼容 S3 / R2 / MinIO
- 部署:Docker Compose(推荐)或独立 Docker 镜像
qunqin45/prism:latest
部署
git clone --depth=1 --branch=main --single-branch https://github.com/qwq202/Prism.git
cd Prism
docker compose up -d
首次空数据库启动会自动创建管理员账号 root;详细配置与常见问题见仓库 README。