New API:自托管 AI 网关
自托管的大模型 API 网关,统一接入多家上游模型服务,集中管理路由、鉴权、用量与成本。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- v1.0.0-rc.47
详细介绍
项目简介
New API 是一个面向应用、Agent 和团队的自托管 AI 网关。它把上游模型服务接入进来,对客户端暴露统一的 API,并在同一个地方管理路由、访问权限、用量和成本。
适合用来把已授权的模型能力共享给团队、在更换供应商时不必逐个重配客户端,或者配合 Web 控制台运营一个私有的多模型服务。上游支持 OpenAI、Anthropic、Google Gemini、Azure OpenAI、AWS Bedrock、Vertex AI、DeepSeek、Qwen 等兼容服务。
主要功能
| 方面 | 能做什么 |
|---|---|
| 模型接入 | 支持 OpenAI Chat Completions、Responses、Anthropic Messages、Gemini API;在上游支持时可流式响应、使用工具、推理和多模态输入 |
| 路由 | 配置模型映射、渠道优先级与权重、重试、渠道亲和、多上游密钥 |
| 用量与成本 | 管理配额、订阅、用量日志、缓存计费,以及按用量分层的表达式定价 |
| 访问控制 | 管理用户、分组、细粒度权限和 API key 限制;支持 OAuth/OIDC、passkey、两步验证、登录会话管理 |
| 异步任务 | 用 JavaScript 插件扩展图片、视频等任务 API,包括任务状态与结果获取 |
| Web 控制台 | 配置渠道与模型、查看用量与审计日志、在 playground 里试模型;支持英文、简体中文、繁体中文、法文、日文、俄文、越南文 |
协议与端点
| 接口 | 常用端点 |
|---|---|
| OpenAI Chat / Responses | POST /v1/chat/completions、POST /v1/responses |
| Anthropic Messages | POST /v1/messages |
| Gemini | POST /v1beta/models/{model}:generateContent、POST /v1beta/models/{model}:streamGenerateContent |
| Realtime / Responses WebSocket | GET /v1/realtime、GET /v1/responses(WebSocket 升级) |
| 图片 / 音频 | /v1/images/generations、/v1/images/edits、/v1/audio/speech、/v1/audio/transcriptions、/v1/audio/translations |
| Embeddings / rerank | POST /v1/embeddings、POST /v1/rerank |
| 任务插件 | POST /v1/tasks/{pluginKey}、GET /v1/tasks/{taskId},以及各插件声明的路由 |
RelayKit 负责四种文本协议之间的请求、响应与流式转换。具体可用功能取决于渠道、上游模型和转换路径,协议特有的工具和字段不保证一一对应;WebSocket 还需要兼容的上游与渠道配置。
安装与使用
用 Docker 本地试用
以下命令启动一个使用 SQLite 的单实例,并绑定到 localhost:
mkdir -p data
docker run --name new-api -d --restart unless-stopped \
-p 127.0.0.1:3000:3000 \
-e TZ=Asia/Shanghai \
-v "$(pwd)/data:/data" \
calciumion/new-api:latest
打开 http://localhost:3000,完成初始化向导并创建管理员账号。data 目录用于在容器替换后保留 SQLite 数据库。
发出第一个请求
- 用上游 API key 添加渠道,填写可用模型和分组,并运行渠道测试。
- 配置模型价格,确认用户有配额或有效订阅。
- 在控制台创建可访问同分组、同模型的 API key。
- 把 OpenAI 兼容客户端的 base URL 设为
http://localhost:3000/v1,使用 New API 签发的 key。
将该 key 写入环境变量 NEW_API_KEY,列出它可访问的模型:
curl --fail-with-body http://localhost:3000/v1/models \
-H "Authorization: Bearer ${NEW_API_KEY}"
再调用 Responses,把 your-enabled-model 换成已启用且支持该接口的模型:
curl --fail-with-body http://localhost:3000/v1/responses \
-H "Authorization: Bearer ${NEW_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"model":"your-enabled-model","input":"Hello!"}'
Docker Compose 部署
仓库中的 Compose 配置默认启动 New API + PostgreSQL + Redis,也包含 MySQL 和独立 ClickHouse 日志库的示例。
git clone https://github.com/QuantumNous/new-api.git
cd new-api
启动前先编辑 docker-compose.yml:替换服务与连接串中的数据库、Redis 示例密码,并设置一个持久化的随机 SESSION_SECRET(可用 openssl rand -hex 32 生成)。若控制台走 HTTPS,配置 SESSION_COOKIE_SECURE=true,并把 SESSION_COOKIE_TRUSTED_URL 设为准确的公网 HTTPS 源。
docker compose up -d
docker compose logs -f new-api
存储与配置
| 组件 | 可选方案 |
|---|---|
| 主数据库 | SQLite、MySQL ≥ 5.7.8 或 PostgreSQL ≥ 9.6 |
| 独立日志库 | 通过 LOG_SQL_DSN 配置,也支持 ClickHouse |
| 缓存 | 可选 Redis 加内存缓存;多个应用节点需要共享限流时应使用共享 Redis |
| 容器平台 | Linux amd64 / arm64 |
注意事项
- 项目仅用于合法且获授权的 AI API 网关、组织级鉴权、多模型管理、用量分析、成本核算与私有部署场景。
- 使用者需自行合法取得上游 API key、账号、模型服务与接口权限,并遵守上游服务条款与适用法律法规。
- 对外提供生成式 AI 服务或 API 转售服务前,应先完成所需的备案、许可、内容安全、实名、日志留存、税务、支付与上游授权等义务。
- 部署时务必修改示例密码并设置随机的
SESSION_SECRET;README 描述的是当前源码树,实际部署版本请对照对应的发布说明。 - 许可证:AGPL-3.0。
本作品整理自 GitHub 开源项目 QuantumNous/new-api,原作者 @QuantumNous,许可证 AGPL-3.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v1.0.0-rc.47当前版本
普通渠道与任务插件可按优先级和权重共同选路;新增 OpenAI 12 小时提示缓存单独计价(输入价 2.5 倍)与按站点汇率调整上游价格;视频任务退款默认等待改为 72 小时,并修复流式与缓存计费问题。
评论