买了多家模型服务的 API Key,却发现每家的接口格式都不一样:OpenAI 一套、Claude 一套、Gemini 又一套,客户端和代码要分别适配;想给团队统一发额度、看用量、做成本核算,更是无从下手。New API 解决的正是这个问题:它是一个开源的大模型网关,把多家服务商聚合到同一个入口,对外只暴露 OpenAI、Claude、Gemini 兼容的统一接口,同时内置渠道管理、令牌权限、用量统计和计费功能。

New API 是什么

New API 由 QuantumNous 团队维护,定位是”新一代大模型网关与 AI 资产管理系统”,可以把它理解成一个可以自托管的”AI 中转站”:你在后台添加各家服务商的渠道(OpenAI、Anthropic、Google Gemini、DeepSeek、Azure、Midjourney、Suno 等 30 余家),系统会统一管理这些上游 Key,并按你配置的路由策略把请求分发到对应渠道,最后以统一的接口格式返回给客户端。

项目基于知名开源项目 One API(MIT 协议)二次开发,采用 AGPLv3 协议开源,主语言是 Go,前端为 React。截至 2026 年 8 月初,GitHub 仓库已获得超过 4.4 万 Star,最新版本为 v1.0.0-rc.23。官方文档位于 docs.newapi.pro,Docker 镜像名为 calciumion/new-api

核心能力

统一接口与格式转换:平台对外提供标准的 OpenAI 兼容接口(/v1/chat/completions/v1/embeddings/v1/images/generations/v1/audio/* 等),也支持 OpenAI Responses、Claude Messages、Google Gemini 原生格式以及 Realtime 实时对话接口。请求还会在格式间自动转换,例如 OpenAI 兼容格式 ⇄ Claude Messages、OpenAI → Gemini、Gemini → OpenAI 兼容格式,让不同生态的客户端都能指向同一个地址。

智能路由与高可用:渠道支持加权随机分发、优先级、失败自动重试、连续失败自动禁用;一个渠道可以配置多个 API Key,按轮询或加权随机方式自动切换,单个 Key 失效后自动跳过。用户级别还支持模型限流,防止单个调用方打爆上游额度。

配额与计费:支持内部充值与额度分配(易支付、Stripe)、按次/按量/缓存命中成本核算、模型倍率定价、用户分组差异化计费,还能对接兑换码、订阅套餐与邀请返利。OpenAI、Azure、DeepSeek、Claude、Qwen 等渠道支持缓存计费统计,缓存命中可按比例(0–1)打折收费。

权限与安全:令牌可以独立设置过期时间、剩余配额、模型限制、IP 白名单和渠道分组;支持账号密码、GitHub、Discord、Telegram、LinuxDO、自定义 OIDC 等多种登录方式,以及 2FA 双因素认证和 Passkey 无密码登录。角色分为普通用户、管理员(Admin)和超级管理员(Root),满足从自用到企业私有化部署的多租户场景。

数据看板:内置可视化控制台,可以查看全站调用日志、Token 消耗、渠道响应时间、配额扣减等统计信息,并支持分页与筛选。

部署前准备

New API 通过 Docker 发布,官方部署要求如下:

组件要求
本地数据库SQLite(默认,Docker 需挂载 /data 目录持久化)
远程数据库PostgreSQL(生产推荐)或 MySQL ≥ 5.7.8
容器引擎Docker / Docker Compose
系统架构仅支持 64 位系统(amd64 / arm64)

SQLite 开箱即用、适合体验和测试;个人长期使用或生产环境建议用 PostgreSQL(官方推荐)或 MySQL,并搭配 Redis 做缓存和限流。

方式一:Docker Compose 部署(推荐)

仓库自带完整的 docker-compose.yml,默认编排了 New API、PostgreSQL 15 和 Redis 三个服务,一条命令即可启动:

git clone https://github.com/QuantumNous/new-api.git
cd new-api
# 按需修改端口、数据库与 Redis 密码等参数(默认密码仅用于演示,生产必须修改)
nano docker-compose.yml
docker compose up -d

启动后访问 http://服务器IP:3000,首次打开会自动进入初始化页面,按指引设置管理员账号和密码即可登录。日常运维常用命令:

docker compose ps          # 查看服务状态
docker compose logs -f     # 实时查看日志
docker compose down        # 停止服务

方式二:单容器 Docker 部署

不想用 Compose 时,可以直接用 docker run 拉起单个容器:

# SQLite(仅推荐测试)
docker run --name new-api -d --restart always \
  -p 3000:3000 \
  -e TZ=Asia/Shanghai \
  -v ./data:/data \
  calciumion/new-api:latest

# PostgreSQL(生产推荐)
docker run --name new-api -d --restart always \
  -p 3000:3000 \
  -e SQL_DSN="postgresql://用户名:密码@数据库地址:5432/数据库名" \
  -e TZ=Asia/Shanghai \
  -v /your/data/path:/data \
  calciumion/new-api:latest

# MySQL(兼容)
docker run --name new-api -d --restart always \
  -p 3000:3000 \
  -e SQL_DSN="用户名:密码@tcp(数据库地址:3306)/数据库名" \
  -e TZ=Asia/Shanghai \
  -v /your/data/path:/data \
  calciumion/new-api:latest

-v ./data:/data 把数据目录挂载到宿主机,避免容器重建后数据丢失。除了 Docker,官方还提供了 1Panel 面板部署、宝塔面板一键安装(应用商店搜索 New-API,面板版本 ≥ 9.2.0)和本地源码开发等方案。

关键环境变量

New API 支持从 .env 文件读取配置(参考仓库里的 .env.example,重命名为 .env 即可),也可以在 Docker 启动参数或 Compose 文件中设置。生产环境最常改动的几个变量:

变量作用示例
SQL_DSN数据库连接串,不设置则使用 SQLitepostgresql://root:123456@postgres:5432/new-api
REDIS_CONN_STRINGRedis 连接串,用于缓存与限流redis://:密码@redis:6379
SESSION_SECRET会话签名密钥;多机部署时所有节点必须一致,不能设置为字面量 random_string随机长字符串
CRYPTO_SECRET缓存键 HMAC 密钥;共享 Redis 的节点必须相同,默认跟随 SESSION_SECRET随机长字符串
TZ时区Asia/Shanghai
PORT服务监听端口,默认 30008080
STREAMING_TIMEOUT流式回复超时(秒),出现空补全时可调大300
MEMORY_CACHE_ENABLED启用内存缓存(配 Redis 后自动启用)true
GENERATE_DEFAULT_TOKEN新注册用户是否自动生成初始令牌true
ERROR_LOG_ENABLED是否记录错误日志并在前端展示true

其他变量还覆盖全局 API/Web 限流、请求体大小限制、上游模型列表定时同步、Pyroscope 性能分析等,完整清单见官方环境变量配置指南

多机部署要点

需要高可用或横向扩容时,New API 支持一主多从的集群模式。核心要求是:所有节点共享同一个数据库,并设置相同的 SESSION_SECRET;共享 Redis 的节点还需配置相同的 CRYPTO_SECRET。从节点在环境变量中设置 NODE_TYPE=slave,并可配置 FRONTEND_BASE_URL 将未匹配路由重定向到主节点。Redis 可以所有节点共享、每节点独立、或完全不配置——三种拓扑在会话同步时效和限流语义上略有差异,官方文档有详细对照。

接入渠道与开始使用

部署完成后,用管理员账号登录后台,按三步完成配置:

第一步:添加渠道。进入「渠道」页面(/console/channel),点击「添加渠道」,选择服务商类型(OpenAI、Claude、Gemini、DeepSeek 等),填写渠道名称和 API Key,勾选该渠道支持的模型(或点击「填入默认模型」)。高级配置里可以设置自定义 Base URL、优先级、权重、模型映射(JSON 格式)、参数覆盖,以及连续失败自动禁用。添加后点击「测试」按钮验证渠道可用性。

第二步:创建令牌。进入「令牌」页面(/console/token),点击「创建令牌」,设置名称、过期时间、剩余配额、模型限制、IP 白名单和分组。令牌 Key 只在创建时完整显示一次,需要立即复制保存。

第三步:调用 API。把平台地址作为 base_url、令牌作为 api_key 填入客户端即可。Python 示例:

from openai import OpenAI

client = OpenAI(
    api_key="sk-你的平台令牌",          # 平台颁发的令牌
    base_url="https://你的域名.com/v1", # 平台 API 地址
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)

后台还内置了「操练场」(/console/playground),不用写代码就能直接选择模型对话,适合快速验证令牌和渠道是否配置成功。

合规与许可证提醒

项目官方反复强调:New API 仅面向合法授权的 API 网关、组织内部鉴权、用量统计与私有化部署场景,使用者必须合法取得上游 API Key 并遵守上游服务条款;面向公众提供生成式 AI 服务时,还需自行完成所在司法辖区要求的备案、内容安全、实名、日志留存、税务等合规义务。另外,项目采用 AGPLv3 协议,修改后以网络服务(SaaS)形式对外提供时需按协议开放源代码,如果组织政策不允许,可联系官方咨询商业授权。

核心总结

  • 聚合与统一:一个入口接入 30 余家模型服务,对外提供 OpenAI / Claude / Gemini 兼容接口,并支持格式自动互转
  • 运维友好:Docker Compose 一条命令部署,SQLite 开箱即用,生产推荐 PostgreSQL + Redis,支持面板部署与多机集群
  • 管理完善:渠道智能路由、令牌权限、模型限流、用量看板、配额计费一应俱全,适合自用、团队与企业私有化
  • 注意合规:仅用于合法授权场景,遵守上游条款与当地法规;AGPLv3 协议,公开提供服务需注意开源义务

原文与更多资料:New API GitHub 仓库 · 官方文档 · 安装部署指南