New_API.md
https://github.com/QuantumNous/new-api
https://docs.newapi.pro/zh/docs
概述
New API 是新一代 AI 基座平台,为您的 AI 应用提供统一的基础设施。承载所有 AI 应用,管理您的数字资产,连接未来的统一接口平台。
核心特性
- 统一接口:一个 API 端点接入所有 AI 服务,兼容 OpenAI 标准格式
- 智能路由:多渠道负载均衡、故障自动切换、加权随机分发
- 精细计费:支持按次数/按量计费、预付费充值、多倍率配置
- 安全管控:令牌权限管理、模型访问控制、API 调用审计
- 数据洞察:实时数据看板、用量统计、成本分析
- 多租户架构:完美适配个人开发者、团队协作与企业级部署
Docker 部署
- 使用SQLite数据库(不推荐)
c
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-v /your/data/path:/data \
calciumion/new-api:latest
# 示例
docker run --name new_api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-v /home/liutest/newapi_data:/data \
calciumion/new-api:latest
- 使用MySQL数据库
c
docker pull calciumion/new-api:latest
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
# 示例
# 数据库mysql
docker run -d --restart always \
-v /home/liutest/mysqldata/data:/var/lib/mysql \
-v /home/liutest/mysqldata/conf:/etc/mysql/conf.d/ \
--name mysql8.0.40 \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
mysql:8.0.40
# new_api
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e SQL_DSN="root:123456@tcp(192.168.42.132:3306)/new_api" \
-e TZ=Asia/Shanghai \
-v /home/liutest/new_api_data:/data \
calciumion/new-api:latest
使用Docker Compose部署
c
# 下载项目源码
git clone https://github.com/QuantumNous/new-api.git
# 进入项目目录
cd new-api
# 根据需要编辑 docker-compose.yml 文件
# 使用nano编辑器
nano docker-compose.yml
# 或使用vim编辑器
# vim docker-compose.yml
c
# 方式一:直接启动
docker compose up -d
# 方式二:指定文件启动:基本语法:-f 后跟文件路径
docker compose -f docker-compose-newapi.yml up -d
- 删除清理步骤
如果想清理数据卸载,按如下。
c
# 1.查看目录相关位置
/home/liutest/new_api_dir
root@liutest:/home/liutest/new_api_dir# ls -hl
total 12K
drwxr-xr-x 2 root root 4.0K Mar 11 13:07 data
-rw-rw-r-- 1 liutest liutest 3.4K Mar 11 13:00 docker-compose.yml
drwxr-xr-x 2 root root 4.0K Mar 11 13:07 logs
root@liutest:/home/liutest/new_api_dir# docker volume inspect new_api_dir_pg_data
[
{
"CreatedAt": "2026-03-11T13:07:04+08:00",
"Driver": "local",
"Labels": {
"com.docker.compose.config-hash": "6706935fd23c5a605ea1fe71c28f5dec1ecf9699dbea8919848750c5366de25a",
"com.docker.compose.project": "new_api_dir",
"com.docker.compose.version": "5.1.0",
"com.docker.compose.volume": "pg_data"
},
"Mountpoint": "/var/lib/docker/volumes/new_api_dir_pg_data/_data",
"Name": "new_api_dir_pg_data",
"Options": null,
"Scope": "local"
}
]
# 2.停止 / 重启服务
# 停止并删除容器、网络(保留数据卷/配置文件)
docker compose down
# 停止服务并删除数据卷(谨慎!会清空数据库)
docker compose down -v
# 验证数据卷是否已删除
docker volume ls | grep new_api_dir # 无输出则说明已删除
# 重启服务
docker compose restart
c
# 步骤 4:清理 Docker 残留资源(可选)
# 删除所有未使用的镜像、容器、网络、数据卷(谨慎!会清理所有无用资源)
docker system prune -a -f
# 单独删除 New API/PostgreSQL/MySQL/Redis 镜像(精准清理)
docker rmi calciumion/new-api:latest postgres:15 mysql:8.2 redis:latest -f
api测试
new-api支持多种协议转换,比如
c
curl --location 'http://192.168.42.132:3000/v1/messages' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer sk-aa2s4UWxkhoVQOtB56WBJzUGKAqEh919fHRDPhRmBOiePfng' \
--data '{
"model": "deepseek-v3",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "java invoke http"
}
]
}
],
"stream": true
}'
curl --location 'http://192.168.42.132:3000/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer sk-aa2s4UWxkhoVQOtB56WBJzUGKAqEh919fHRDPhRmBOiePfng' \
--data '{
"model": "deepseek-v3",
"max_tokens": 1024,
"messages": [
{
"role": "system",
"content": "hello"
},
{
"role": "user",
"content": "java invoke http"
}
],
"stream": true
}'