目 录CONTENT

文章目录

【New-Api】商业化 Ai 中转站项目,new-api,聚合多 Ai 模型 + 能限制每个user并发数等功能

JIN
JIN
2026-06-16 / 0 评论 / 0 点赞 / 23 阅读 / 0 字
广告 广告
广告 广告

前言:

New API 是一个 新一代大模型网关与 AI 资产管理系统。它能把各家大模型(OpenAI、Claude、Gemini、DeepSeek、通义千问、Grok 等)统一聚合到一个面板里管理,并对外转换成 OpenAI / Claude / Gemini 三种兼容格式 提供调用。它内置现代化 Web 管理面板,支持渠道负载均衡、令牌额度管理、用量统计与计费、多用户分组等功能,非常适合小白通过 Web 界面统一管理自己手里的一堆 AI key。本文使用 Docker 方式部署 New API(官方主镜像 calciumion/new-api,已内置管理面板)。

我们可以把各家 AI 的 key 一股脑丢进 New API,然后只对外暴露 一个统一地址 + 一个令牌,在各个应用里调用所有模型

【比如手里有 DeepSeek、Claude、Gemini 好几家的 key,懒得在每个软件里分别填,丢进 New API 后只需要记一个 http://你的IP:3000/v1 和一个 sk-xxx 令牌就够了,还能看每个 key 用了多少钱。当然也可以接入不止一个号,做成中转站商家所谓的"号池",本文教程仅对个人使用者适用,中转站的相关操作这里不做展开】

💡 和 CPA 的区别:上一篇的 CLIProxyAPI(CPA)主要是把 CLI 工具的订阅额度(Gemini CLI、Codex、Claude Code 等)反代包装成 API;而 New API 更偏向把 各家官方 / 第三方的 API key 聚合管理、统一分发、计量计费。两者其实可以配合用——把 CPA 当成 New API 的一个"自定义渠道"上游接进来即可。

图片A 图片B

教程视频:

教程文档:https://rckin.com/archives/docker-new-api

我的博客:rckin.com

哔哩哔哩:待补充

YouTube:待补充


一、前置准备

1.1、准备一台vps

点击前往 Racknerd / BWH 购买,按需选择

📌 New API 默认用 SQLite 数据库,1 核 1G 的小鸡就能跑(本文方案①);
若要上 PostgreSQL + Redis 的标准版(方案②),建议 2G 内存起步。

1.2、准备一个域名(可选,暂时不管)

点击前往 Namesilo 购买,.top 域名仅需1$【优惠码 rckin

1.3、下载ssh连接工具

法1:官网下载:https://mobaxterm.mobatek.net/

法2:本站下载:

1.4、进入vps

使用mobaxterm进行ssh连接上自己的vps

现在就可以输入指令在 vps 进行部署项目了,正式进入第二步!


二、更新工具

直接从这里开始输入代码就行

2.1、切换到 root 用户
sudo -i
2.2、升级 packages
apt update -y
2.3、安装常用的工具
apt install wget curl sudo vim git -y

这些工具用于:

工具 作用
wget 下载文件
curl 网络请求
vim 文本编辑
git 下载项目

三、安装 Docker 环境(非大陆)

此步为非大陆vps安装docker的步骤, 大陆服务器的 三、四 步骤请跳转到这篇文章:

3.1、安装
curl -fsSL https://get.docker.com | bash
3.2、查看 docker 版本
docker -v  

如果出现类似:

Docker version 22.xx

说明安装成功。

3.3、设置开机自动启动
systemctl enable docker  

四、安装 Docker-compose(非大陆)

4.1、安装 compose 插件
apt install docker-compose-plugin -y

Docker Compose 用于 管理多个容器服务

例如 New API 这种"主程序 + 数据库 + Redis"的组合,就可以通过一个配置文件统一启动。

new-api postgres redis

4.2、查看版本
docker compose version  #查看 docker compose 版本
4.3、修改 Docker 配置(可选,新手忽略并跳过此步)

增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘

cat > /etc/docker/daemon.json <<EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true
}
EOF
4.4、重启docker
systemctl restart docker

五、构建项目(New API)

5.1、创建目录

如果小伙伴需要安装其他项目如 Halo、Memos、WordPress 等,主页搜索对应文章关键词。

先创建项目目录

mkdir -p /root/data/docker_data/new-api

目录说明:

这样未来安装多个项目时目录不会混乱。

/root

└─ data

└─ docker_data

└─ new-api

5.2、进入目录

cd /root/data/docker_data/new-api

5.3、配置 docker-compose.yml

nano docker-compose.yml

nano 编辑器输入 方案①方案② 的内容(二选一,可直接复制粘贴):

💡 怎么选?

  • 方案①(简化版 / SQLite):最省心,无需配置数据库密码,数据全部存在 ./data 目录里。适合 个人自用、小内存小鸡,本文推荐小白先用这个。
  • 方案②标准版 / PostgreSQL + Redis):官方推荐的生产配置,性能更强、适合多人或高并发,但需要至少 2G 内存。

方案① 简化版(SQLite,推荐小白)

services:
  new-api:
    image: calciumion/new-api:latest     # New API 官方最新镜像
    container_name: new-api
    restart: always                      # 容器异常退出时自动重启
    ports:
      - "3000:3000"                      # Web 面板 + API 统一端口(必须开放)
    environment:
      - TZ=Asia/Shanghai                 # 设置容器时区为上海
    volumes:
      - ./data:/data                     # 数据持久化目录(SQLite 数据库存这里)
      - ./logs:/app/logs                 # 日志目录

方案② 标准版(PostgreSQL + Redis,适合生产)

需要修改2处:第 13 行和第 38 行的“你的数据库密码”改成强密码如 3U766hCIIfdce4FU5PU0F4IHNOQuJN7GGNFBMMoEpPfB7d43

services:
  new-api:
    image: calciumion/new-api:latest
    container_name: new-api
    restart: always
    command: --log-dir /app/logs
    ports:
      - "3000:3000"
    volumes:
      - ./data:/data
      - ./logs:/app/logs
    environment:
      - SQL_DSN=postgresql://root:你的数据库密码@postgres:5432/new-api   # ⚠️ 把"你的数据库密码"改成强密码
      - REDIS_CONN_STRING=redis://redis
      - TZ=Asia/Shanghai
      - ERROR_LOG_ENABLED=true           # 启用错误日志
      - BATCH_UPDATE_ENABLED=true        # 启用批量更新
    depends_on:
      - redis
      - postgres
    healthcheck:
      test: ["CMD-SHELL", "wget -q -O - http://localhost:3000/api/status | grep -o '\"success\":\\s*true' || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 3

  redis:
    image: redis:latest
    container_name: redis
    restart: always

  postgres:
    image: postgres:15
    container_name: postgres
    restart: always
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: 你的数据库密码     # ⚠️ 必须和上面 SQL_DSN 里的密码完全一致!
      POSTGRES_DB: new-api
    volumes:
      - pg_data:/var/lib/postgresql/data

volumes:
  pg_data:

保存按 Ctrl + O,然后按 Enter 确认 退出按 Ctrl + X

💡 Nano 编辑器小贴士:

  • 粘贴内容: 在终端点击鼠标右键,或使用快捷键 Shift + Insert
  • 保存修改:Ctrl + O,然后按 Enter 确认文件名。
  • 退出编辑器:Ctrl + X
  • 注意: 如果你对文件做了改动,退出时会询问是否保存,输入 y (Yes) 即可。

⚠️ 重要提醒(用方案②的看这里)SQL_DSN 里填的密码 必须postgres 服务里的 POSTGRES_PASSWORD 一模一样,否则 New API 连不上数据库会一直重启。另外 YAML 对缩进极其敏感,每行前面的空格数量不能多也不能少,照抄即可。

5.4、启动项目

docker compose up -d

第一次启动会自动拉取镜像,稍等一两分钟。

5.5、查看启动状态

docker compose ps

正常启动后会显示类似以下信息(重点看 STATUS 为 Up):

NAME       IMAGE                         COMMAND                  SERVICE   CREATED         STATUS                   PORTS
new-api    calciumion/new-api:latest     "/one-api --log-dir …"   new-api   X minutes ago   Up X minutes (healthy)   0.0.0.0:3000->3000/tcp

如果想看实时日志(排查启动报错很有用):

docker compose logs -f new-api

Ctrl + C 退出日志查看。

5.6、完成

5.6.1、端口放行:

此时需确保 VPS 防火墙/安全组已开放 3000 端口(Racknerd默认全部打开不需要管)。

5.6.2、打开浏览器:

输入 http://你的VPS_IP:3000 即可访问 Web 管理界面。

首次访问会自动跳到 初始化页面,在这里 手动设置管理员账号和密码(仅首次安装需要),设置完成后用这个账号登录即可。

📌 默认管理员的初始账号也可以直接用 用户名 root + 密码 123456 登录(部分版本),登录后请 立刻去"个人设置"里改密码

到这 New API 的 Docker 部署和基本访问步骤已经完成。下面 七、八 俩章节为进阶操作,可直接跳过(购买域名 + Nginx Proxy Manager 反向代理)。


六、项目入门

New API 的使用逻辑就三步:

① 添加渠道(把上游 key 喂进去)→ ② 创建令牌(生成对外的 sk-key)→ ③ 在应用里调用

6.1、添加渠道(以 DeepSeek 为例)

渠道(Channel)就是"上游",也就是你真正花钱买 token 的那一家。下面以 DeepSeek 演示。

① 前往 DeepSeek 充值并创建一个 API Key

前往 DeepSeek 开放平台 充值(比如先充 10 块钱),然后创建一个 API Key 备用。

② 返回 New API → 渠道 → 添加渠道

在左侧菜单点击 渠道,再点右上角 添加渠道,主要填这几项:

字段 填写说明
类型 选择DeepSeek(其他家就选对应的 OpenAI / Anthropic Claude / Google Gemini 等)
名称 随便起个好认的名字,如 我的DeepSeek
分组 默认 default即可
模型 选上该渠道支持的模型(如 deepseek-chatdeepseek-reasoner),可点"填入相关模型"一键带入
密钥 把第①步创建的DeepSeek API Key粘贴进去

填完点 提交

### ③ 测试渠道是否通

回到渠道列表,点击该渠道后面的 测试 按钮,出现绿色 ✅ 成功 + 返回耗时(如 1.2s),说明这条渠道已经跑通了。

💡 如果你要接入的是 自建上游(比如把上一篇的 CPA 接进来),类型选 自定义渠道,然后在"代理 / Base URL"里填上游地址(如 http://你的CPA_IP:8317),密钥填 CPA 的 API 密钥即可。


6.2、创建令牌(对外的 sk-key)

渠道是"进货",令牌(Token)就是你"对外发的钥匙"。在应用里调用时填的就是这个令牌。

① 令牌 → 添加令牌

在左侧菜单点击 令牌,再点 添加令牌

字段 填写说明
名称 随便起,如 cherry-studio
额度 个人自用直接勾选设为无限额度最省事
过期时间 个人自用选永不过期
模型范围 / 分组 留空即默认不限制

填完点 提交

② 复制令牌

回到令牌列表,点该令牌后面的 复制,会得到一串形如 sk-xxxxxxxxxxxxxxxx 的密钥,这就是你在所有应用里要填的 API Key

## 6.3、调用测试

现在你手里有两样东西:

项目
API 地址(Base URL) http://你的VPS_IP:3000/v1
API 密钥(Key) 上一步复制的令牌 sk-xxx

可以在 vps 上直接用一条 curl 命令验证(把 IP 和 sk-key 换成你自己的):

curl http://你的VPS_IP:3000/v1/chat/completions \
  -H "Authorization: Bearer sk-你的令牌" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-chat",
    "messages": [{"role": "user", "content": "你好"}]
  }'

返回一段 JSON 且带有模型回复内容,就说明 整条链路(应用 → New API → DeepSeek)已经打通

到这 New API 的核心使用流程就全部走完了。下面 七、八 俩章节为进阶操作,可跳过(购买域名 + Nginx Proxy Manager 反向代理),也可以直接看 第九章 把它接进客户端用。


七、购买域名+域名托管

为方便我们将类似 .com 称为根域名/顶级域名/一级域名,rckin.com称为二级域名,api.rckin.com为三级域名

7.1、购买域名

刚开始完vps可以只买 .top 后缀的,仅仅需要1美元1年(优惠码:rckin

可点击前往 namesilo 购买,点击链接购买我可以拿到一点奖励分成,感谢各位小伙伴的支持

购买教程:点击链接视频滑动到视频第3步即可:哔哩哔哩YouTube

7.2、域名托管到cloud flare

托管步骤点击视频链接 哔哩哔哩视频 看7分05秒

cloud flare注册官网:https://dash.cloudflare.com/sign-up

namesilo主页:NS主页


7.3、将域名指向自己vps的ip地址

打开侧边栏的 DNS-记录

若希望二级域名如 rckin.com 指向vps的ip地址,则 名称 填写@即可

若希望三级域名如 cpa.rckin.com 指向vps的ip地址,则 名称 填写cpa即可

按照上述配置然后点击保存,此时我们即可离开cloud flare了

八、域名反代(安装Nginx)

8.1、安装 Nginx Proxy Manager

购买完域名和让域名托管在cloud flare后,我们终于可以回到moabxterm了

现在开始给 VPS 安装 Nginx Proxy Manager 进行域名的反向代理(即将 域名 指向 ip+端口 )

8.1.1、创建文件夹目录

mkdir -p /root/data/docker_data/npm

8.1.2、进入文件夹

cd /root/data/docker_data/npm

8.1.3、配置

nano docker-compose.yml

8.1.4、nano输入 ① 或 ② :

自带拉取当下最新版

services:
  app:
    image: 'jc21/nginx-proxy-manager:latest' # 使用 latest 以获取最新的安全更新和维护工具
    container_name: npm
    restart: unless-stopped
    ports:
      - '80:80'   # HTTP 流量
      - '443:443'  # HTTPS 流量
      - '81:81'   # 管理后台端口
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

目前稳定版已更新到 2.13.7 (2026.03.09)

services:
  app:
    image: jc21/nginx-proxy-manager:2.11.3 #如需升级,请手动修改版本号并重新 docker compose pull
    restart: unless-stopped
    ports:
      - '80:80'  # 保持默认即可,不建议修改左侧的80
      - '81:81'  # 冒号左边可以改成自己服务器未被占用的端口
      - '443:443' # 保持默认即可,不建议修改左侧的443
    volumes:
      - ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
      - ./letsencrypt:/etc/letsencrypt  # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中

💡 Nano 编辑器小贴士:

  • 粘贴内容: 在终端点击鼠标右键,或使用快捷键 Shift + Insert
  • 保存修改:Ctrl + O,然后按 Enter 确认文件名。
  • 退出编辑器:Ctrl + X
  • 注意: 如果你对文件做了改动,退出时可能询问是否保存,输入 y (Yes) 即可。

8.1.5、配置启动

docker compose up -d

8.2、登录 Nginx 面板

此时我们可通过浏览器 http://vps_ip:81 访问 NPM 面板 如 http://102.171.142.32:81

⚠️ 补充(小白暂时别看这句话):生产环境建议不要长期对公网暴露 81 管理端口,域名配置完成后可关闭,可将'81:81'改为'127.0.0.1:81:81',后续访问NPM可通过走 SSH 隧道:ssh -L 81:127.0.0.1:81 root@你的VPS_IP,然后再浏览器http://localhost:81 。


通过 http://vps_ip:81 访问 Nginx 面板后

1、登录

版默认登录账密(版首次登录手动创建账密):

默认Email:       [email protected]    #记得改
默认Password:    changeme             #记得改
2、添加代理主机(Add Proxy Host)
3、填入域名 + 指向 IP 和端口

Details 标签页:

字段 填写
Domain Names 你的域名,如 api.rckin.com
Scheme http
Forward Hostname / IP 你的 VPS 内网/公网 IP(同机可填容器名 new-api127.0.0.1
Forward Port 3000
Block Common Exploits 建议打开
Websockets Support 建议打开(流式输出要用)
4、启动https协议,添加证书,搞定!

切到 SSL 标签页,选择 Request a new SSL Certificate,勾选 Force SSLHTTP/2 Support,同意条款后保存。

此时任何人访问你的域名(如 https://api.rckin.com)即可访问 New API 面板,对外调用地址也升级成了 https://api.rckin.com/v1,更安全也更好记。


九、客户端接入(以 Cherry Studio 为例)

搭好 New API 并配好渠道、令牌后,就可以把这个统一地址接进各种客户端,一个地址用上所有模型。下面以热门的 Cherry Studio 演示,其他软件(ChatBox、沉浸式翻译、Claude Code、Codex 等)逻辑完全一样。

9.1、下载 Cherry Studio

GitHub 项目地址:https://github.com/CherryHQ/cherry-studio

9.2、添加模型服务

打开 Cherry Studio → 设置 → 模型服务 → 添加,选择 OpenAI 类型,然后改动下面 2 个地方:

1:API 地址:填 New API 的项目地址 【类似 http://123.456.78.90:3000https://api.rckin.com

2:API 密钥(Key):把 第六章 复制的令牌 sk-xxx 填进去

⚠️ 关于 /v1 的坑:很多客户端(如 Cherry Studio)会 自动补全 /v1,所以 API 地址只填到 http://IP:3000 即可,不要手动再加 /v1,否则会变成 /v1/v1/... 导致 404。如果某个客户端要求你手动填完整地址,那才填 http://IP:3000/v1

9.3、添加模型并测试

在该服务下点击 添加模型,把你在渠道里开通的模型 ID 填进去(如 deepseek-chat),点击 检测 / 连通性测试,通过后回到对话框选中该模型,即可正常聊天。

至此,你手里所有家的 AI key,都被统一收进了 New API,并通过一个地址 + 一个令牌在客户端里自由调用了 🎉


十、相关文档:

New API - github项目地址:https://github.com/QuantumNous/new-api

New API - 官方文档:https://docs.newapi.pro/zh/docs

Docker Compose 部署文档:https://docs.newapi.pro/zh/docs/installation/deployment-methods/docker-compose-installation

环境变量配置指南:https://docs.newapi.pro/zh/docs/installation/config-maintenance/environment-variables

API 接口文档:https://docs.newapi.pro/zh/docs/api

Docker Hub 镜像:https://hub.docker.com/r/calciumion/new-api

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
广告 广告
广告 广告

评论区