为什么需要 New-API
玩 AI 对话一段时间了,手上有好几个模型渠道:小米 MiMo、DeepSeek、阿里云百炼……每个都有自己的 API 地址和 Key,管理起来很麻烦。
New-API(原 One API)是一个开源的 统一 LLM API 网关。简单说,它把多个模型提供商聚合到一个入口,对外暴露标准的 OpenAI 兼容接口。你只需要一个 Base URL + 一个 Token,就能调用所有接入的模型。
部署过程
New-API 本质是一个 Go 编译的单文件二进制,不依赖 Docker,对小服务器很友好。
安装
# 创建目录
mkdir -p ~/projects/new-api && cd ~/projects/new-api
# 下载二进制(国内用 ghproxy 代理)
curl -L https://mirror.ghproxy.com/https://github.com/Calcium-Ion/new-api/releases/latest/download/new-api -o new-api
chmod +x new-api
启动
nohup ./new-api --port 3000 --log-dir ./logs > new-api.log 2>&1 &
启动后访问 http://localhost:3000 即可看到管理后台。
初始配置
- 打开后台,创建管理员账户(自用模式,关闭注册)
- 添加渠道:分别配置 MiMo、DeepSeek、阿里云百炼的 API 地址和 Key
- 创建令牌:生成一个 API Token,给客户端用
接入 Cloudflare Tunnel
服务器在内网,要从外面访问需要过 Tunnel:
# ~/.cloudflared/config.yml 增加一条 ingress
- hostname: newapi.playerz.fun
service: http://localhost:3000
重启 Tunnel 后,https://newapi.playerz.fun 就能访问了。
踩坑记录
1. Cloudflare WAF 拦截 Python SDK
用 python-openai SDK 调用时,Cloudflare Bot Management 会拦截 User-Agent 含 “python” 的请求。
解决方案:在 Cloudflare WAF 添加自定义规则,对 newapi.playerz.fun 域名跳过所有安全组件。
2. base_url 必须带 /v1
部分客户端(如 Agno 的 OpenAIChat)要求 base_url 带 /v1 后缀:
# ❌ 错误
base_url = "https://newapi.playerz.fun"
# ✅ 正确
base_url = "https://newapi.playerz.fun/v1"
3. 国内 Docker 镜像源不稳定
一开始想用 Docker 部署,结果 xuanyuan.me 429 限流、nju.edu.cn 403 禁止。最后直接用二进制安装,省去折腾镜像的麻烦。
使用方式
客户端配置很简单:
| 字段 | 值 |
|---|---|
| Base URL | https://newapi.playerz.fun |
| API Key | 在 New-API 后台生成的 Token |
| 模型名 | mimo-v2.5 / deepseek-v4-pro / qwen3.6-max-preview 等 |
当前渠道
| 渠道 | 模型 | 用途 |
|---|---|---|
| 小米 MiMo | mimo-v2.5, mimo-v2.5-pro | QwenPaw 默认模型 |
| DeepSeek | deepseek-v4-flash, deepseek-v4-pro | 编程/推理 |
| 阿里云百炼 | qwen3.6 系列 | 通用对话 |
总结
New-API 解决了多渠道管理的问题,部署简单,一个二进制文件搞定。配合 Cloudflare Tunnel 可以从任何地方访问。唯一需要注意的是国内网络环境,Docker 镜像源和 Cloudflare WAF 都可能需要额外配置。
如果你也有多个 AI 模型渠道,推荐试试。
加载中...