本文转载自公众号:狗凯之家,原文:我把 20 多个大模型的 API 塞进了一个接口,统一OpenAI 格式 5 分钟搞定
手上的 API Key 越来越多,你就懂了
如果你和我一样,手上有几家 AI 平台的 Key——OpenAI、Claude、Gemini、DeepSeek、通义千问、智谱 GLM——那下面这些话你肯定有共鸣。
每个平台都有自己的文档、自己的 SDK、自己的鉴权方式。项目里引用了一堆包的 SDK,想换个模型还得改代码,分给同事用还得手工拷 Key。我每次想到又要对接一个新模型,头就大了一圈。
做 AI 应用的人,应该都懂。
New API 是个什么东西
说白了,就是一个开源的企业级 AI 网关。它把市面上主流大模型的 API 全部转成 OpenAI 格式,统一管理、统一分发。
项目地址:github.com/QuantumNous/new-api。它是基于 One API 二次开发的增强版,GitHub 上 7.5k+ 星。
弄好之后,你只要记一个地址、一套 API Key,背后接多少模型都行。那些客户端(Dify、LobeChat、Cherry Studio、OpenClaw……)配置的时候,把 API 地址填成你的 New API 地址就行。后台怎么切模型、加渠道,前台完全感觉不到。

这玩意儿能干嘛
说几个典型的用法:
个人用 手里有硅基流动的免费额度、阿里云的 Token、OpenAI 的余额,散落各处。New API 全部收进来,一个接口通调,不用翻来翻去找 Key。
团队内部 公司好几个项目都要调 AI 接口,给每个人一个单独的 API Key,后台配额度、设限流、看用量。谁超标了一看就知道,月底不用拍脑袋算账。
卖 API 有多余的 Token 容量?开对外模式,设好定价和套餐,别人充钱用你的接口。系统自带易支付和 Stripe,用户管理、配额、日志都现成的。
协议互转 比如你想用 OpenAI 的 SDK 去调 Claude——New API 在中间给你转好了,代码一行不改。
功能列表
-
协议转换:OpenAI ↔ Claude ↔ Gemini 互转,SSE 流式输出完整支持 -
渠道管理:OpenAI、Azure、Claude、Gemini、DeepSeek、豆包、ChatGLM、文心一言、讯飞星火、通义千问、360 智脑、腾讯混元……数了下 20 多个 -
负载均衡:加权随机路由 + 自动故障转移,一个渠道挂了自己切到下一个 -
用户配额:多用户、按量计费、分组定价 -
数据库:SQLite(开发用)/ MySQL 5.7+ / PostgreSQL 9.6+ -
支付:内置易支付和 Stripe -
界面:新 UI,多语言,该有的都有
部署步骤
我走最稳的路子——Docker Compose + MySQL,适合正式跑。
前提
服务器装了 Docker 和 Docker Compose。没装的就跑这个:
curl -fsSL https://get.docker.com | bash
docker-compose.yml
新建一个目录,放这个文件:
version:'3.8'
services:
mysql:
image:mysql:8.0
container_name:new-api-mysql
restart:always
environment:
MYSQL_ROOT_PASSWORD:你的密码
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
然后启动:
docker-compose up -d
初始化
浏览器打开 http://你的IP:3000,默认账号 root,密码 123456。进去之后:
- 先把密码改了
-
去「渠道管理」加你的 AI 渠道——选类型、填 Key、勾模型 -
去「令牌管理」生成一个调用 Token(格式是 sk-xxx) -
拿客户端连上试试
测试一下通不通:
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 一定要改
,不要用默认的 -
如果是 ARM 机器(树莓派、M 芯片 Mac), docker pull用calciumion/new-api:latest-arm64 -
更新的话: docker-compose pull && docker-compose up -d就行
New API 这个项目,说实话,把"API 管理"这件事做到了能用又简单。不用写代码,配完就能跑,还省掉了对接多家模型的大把破事。
你手上有哪些 API Key?现在是统一管还是各管各的?评论区说说你的方案。









暂无评论内容