手上的 AI 平台 API Key 越来越多之后,很多开发者都会遇到同一个问题:OpenAI、Claude、Gemini、DeepSeek、通义千问、智谱 GLM 等平台都有自己的文档、SDK、鉴权方式和调用细节。项目里接入的平台一多,代码就容易变得复杂;想换模型、分配给同事使用、统计用量或统一限流,也会变得很麻烦。
这时候,一个统一的大模型 API 网关就很有价值。本文整理介绍一个开源项目 New API:它可以把多个主流大模型 API 统一转换成 OpenAI 兼容格式,方便开发者用一个入口管理和调用多家模型。
New API 是什么?
New API 可以理解为一个开源的企业级 AI 网关。它基于 One API 二次开发,主要作用是把市面上主流大模型接口统一转换成 OpenAI 格式,并提供统一管理、统一分发、额度控制、日志统计、计费等能力。
项目地址:
https://github.com/QuantumNous/new-api部署完成后,你只需要记住一个接口地址和一套 API Key。后端可以接入很多不同厂商的模型,前端或客户端只需要按照 OpenAI 兼容格式调用即可。
比如 Dify、LobeChat、Cherry Studio、OpenClaw 等工具,在配置模型接口时,把 API 地址填成你的 New API 地址,就能通过同一套入口调用不同模型。
它适合哪些场景?
1. 个人统一管理 API Key
如果你手里有硅基流动、阿里云、OpenAI、Claude、DeepSeek 等多个平台的额度和 Token,平时调用时很容易到处找 Key。New API 可以把这些渠道统一收进一个后台,通过一个接口调用。
2. 团队内部统一分发
公司里多个项目都要调用 AI 接口时,可以给每个人或每个项目单独发一个 Token。后台可以设置额度、限流、模型权限,并查看调用日志和消耗情况。谁用得多、哪里报错、哪个渠道不稳定,都能比较清楚地看到。
3. 对外提供 API 服务
如果你有多余的模型额度,也可以配置对外服务模式,设置定价、套餐、用户额度。New API 内置用户管理、配额统计、日志记录,也支持易支付和 Stripe 等支付方式。
4. 协议互转
一个典型用法是:你想用 OpenAI SDK 调 Claude、Gemini 或其他模型。New API 可以在中间做协议转换,让业务代码尽量保持不变。
主要功能
New API 的核心能力包括:
- 协议转换:支持 OpenAI、Claude、Gemini 等协议互转,支持 SSE 流式输出;
- 渠道管理:可接入 OpenAI、Azure、Claude、Gemini、DeepSeek、豆包、ChatGLM、文心一言、讯飞星火、通义千问、360 智脑、腾讯混元等 20 多类模型渠道;
- 负载均衡:支持加权随机路由和自动故障转移,一个渠道异常时可以切换到其他渠道;
- 用户配额:支持多用户、分组、额度、按量计费和调用限制;
- 数据库支持:支持 SQLite、MySQL 5.7+、PostgreSQL 9.6+;
- 支付能力:内置易支付和 Stripe;
- 后台界面:提供可视化管理后台,支持多语言,方便配置渠道、令牌、分组和额度。
Docker Compose 部署方式
如果要正式运行,推荐使用 Docker Compose + MySQL + Redis。下面是一套比较稳妥的部署方式。
1. 安装 Docker
服务器没有 Docker 的话,可以先执行:
curl -fsSL https://get.docker.com | bash2. 新建 docker-compose.yml
新建一个目录,例如:
mkdir -p /opt/new-api
cd /opt/new-api创建 docker-compose.yml:
version: '3.8'
services:
mysql:
image: mysql:8.0
container_name: new-api-mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: 你的数据库Root密码
MYSQL_DATABASE: newapi
MYSQL_USER: newapi
MYSQL_PASSWORD: 你的数据库密码
TZ: Asia/Shanghai
volumes:
- ./mysql-data:/var/lib/mysql
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
networks:
- new-api-network
redis:
image: redis:latest
container_name: new-api-redis
restart: always
networks:
- new-api-network
new-api:
image: calciumion/new-api:latest
container_name: new-api
restart: always
depends_on:
- mysql
- redis
ports:
- "3000:3000"
environment:
SQL_DSN: "newapi:你的数据库密码@tcp(mysql:3306)/newapi?charset=utf8mb4&parseTime=True&loc=Local"
REDIS_CONN_STRING: "redis://redis:6379"
TZ: Asia/Shanghai
SESSION_SECRET: "自己生成一个随机字符串"
CRYPTO_SECRET: "再生成一个随机字符串"
volumes:
- ./data:/data
- ./logs:/app/logs
networks:
- new-api-network
networks:
new-api-network:
driver: bridge注意:
MYSQL_ROOT_PASSWORD、MYSQL_PASSWORD要换成自己的强密码;SESSION_SECRET和CRYPTO_SECRET一定要改,不要使用默认值;- 如果是 ARM 机器,例如树莓派或 Apple Silicon,可以考虑使用
calciumion/new-api:latest-arm64镜像。
3. 启动服务
docker-compose up -d启动后浏览器访问:
http://你的服务器IP:3000默认账号通常是:
账号:root
密码:123456首次登录后,务必第一时间修改默认密码。
初始化配置流程
进入后台后,可以按下面步骤配置:
- 修改默认密码
避免后台被别人登录。 - 添加 AI 渠道
进入「渠道管理」,选择对应模型平台类型,填写 API Key,勾选或配置支持的模型。 - 生成调用 Token
进入「令牌管理」,创建一个新的 Token,格式通常类似sk-xxx。 - 配置客户端
在 Dify、LobeChat、Cherry Studio、OpenClaw 或自己的项目里,把 Base URL 改成 New API 地址,把 API Key 改成刚生成的 Token。
测试接口是否可用
可以用下面的 curl 命令测试:
curl http://你的IP:3000/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer sk-你的Token" -d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "你好"}]}'如果能正常返回模型回复,就说明接口已经跑通了。
几个实用建议
- 刚开始可以先用 SQLite 模式,部署更简单,跑通后再切 MySQL + Redis;
- 正式环境一定要修改默认管理员密码;
SESSION_SECRET和CRYPTO_SECRET必须设置为随机强字符串;- 对外开放服务时,建议配合反向代理、HTTPS、防火墙和访问限制;
- 如果要长期运行,建议定期备份数据库和配置;
- 更新服务时可以使用:
docker-compose pull && docker-compose up -d总结
New API 的价值在于把“多模型 API 管理”这件事变得更简单。它不用你为每个平台都单独写一套调用逻辑,而是通过一个统一网关,把渠道管理、协议转换、用户额度、日志统计、故障切换等功能集中起来。
对于个人开发者、AI 工具爱好者、团队内部平台,或者想统一管理多个模型渠道的人来说,它都是一个值得尝试的方案。真正用起来之后,开发侧只需要面对一个 OpenAI 兼容入口,后台再根据需求切换不同模型和渠道,维护成本会低很多。
参考来源:https://mp.weixin.qq.com/s/K_iKUjimcAIZxs2jykKDBA