跳到内容
playerz.fun
返回

New-API 搭建:自建统一 LLM 网关

2026 年 5 月 13 日 · 约 2 分钟阅读

为什么需要 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 即可看到管理后台。

初始配置

  1. 打开后台,创建管理员账户(自用模式,关闭注册)
  2. 添加渠道:分别配置 MiMo、DeepSeek、阿里云百炼的 API 地址和 Key
  3. 创建令牌:生成一个 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 URLhttps://newapi.playerz.fun
API Key在 New-API 后台生成的 Token
模型名mimo-v2.5 / deepseek-v4-pro / qwen3.6-max-preview

当前渠道

渠道模型用途
小米 MiMomimo-v2.5, mimo-v2.5-proQwenPaw 默认模型
DeepSeekdeepseek-v4-flash, deepseek-v4-pro编程/推理
阿里云百炼qwen3.6 系列通用对话

总结

New-API 解决了多渠道管理的问题,部署简单,一个二进制文件搞定。配合 Cloudflare Tunnel 可以从任何地方访问。唯一需要注意的是国内网络环境,Docker 镜像源和 Cloudflare WAF 都可能需要额外配置。

如果你也有多个 AI 模型渠道,推荐试试。


评论

加载中...


上一篇
v2.0 更新日志:全面优化升级
下一篇
v1.0.1 更新日志:评论与点赞