6 min read

VPS 自建 AI API 网关完整教程:One-API、New-API、VoAPI 三方案对比

买了一堆 AI API Key,每个软件都要重复配一遍?在 VPS 上自建一个 OpenAI 兼容的 API 网关,一次配好,所有工具统一走一个地址。折腾了三个方案之后写的对比 + 部署实录。

前段时间我同时在用 Claude API、DeepSeek、还有硅基流动上的 Qwen。每次在 OpenClaw 里换模型,要改 baseURL、改 API Key;Cherry Studio 那边也要单独维护一套配置;哪天突然想在 Open WebUI 里试个新模型,又得重新填一遍。

朋友问我:「你就没想过搞个统一的接口,所有工具都走一个地方?」

我当时想着这不就是多一层转发、徒增延迟嘛——后来真搭起来发现想多了,延迟基本感觉不到,但管理方便程度差了一个量级。换模型不用动客户端,加 Key 不用挨个软件改,还顺带有了 token 消耗统计。

这东西解决什么问题

就一件事:你的 API Key 只存一个地方,所有 AI 工具共用一个 baseURL。

顺带来的好处:

  • 配多个上游渠道,某家挂了或者限速,自动换备用,不用手动切
  • 能看每天用了多少 token,哪个模型最费钱
  • 可以给朋友开账号,设额度上限,一个 Key 多人用

有一点要说清楚:如果你用的是 Claude、ChatGPT,但手上根本没有付费 API Key,只有账号——那是另一回事,CLIProxyAPI 走的是账号权限转发,不需要 Key。下面说的这三个都是「有 Key 但懒得管」的场景。

三个方案

One-API

最老的一个,2023 年就出来了,GitHub 是 songquanpeng/one-api。Go 写的,单二进制,SQLite 默认,512MB 内存的机子都能跑。

支持的渠道挺全:OpenAI、Azure、Claude(含 AWS Claude)、Gemini、DeepSeek、豆包、文心、通义、星火、混元、Moonshot、Minimax、Groq、Ollama、硅基流动、xAI……官方列表 20 多个,还能自己接第三方代理。失败重试、负载均衡都有。

缺点是界面老,没有格式互转,统计比较粗糙。但如果只是自己用,这些都不是大问题。

New-API

GitHub 是 QuantumNous/new-api,从 One-API 演化来的,数据库完全兼容,已经有 One-API 的直接迁过来就行。

比 One-API 多了不少东西。几个我觉得实用的:

  • Midjourney 和 Suno 接口支持,不只是文本模型
  • OpenAI Realtime API(实时语音对话那个)
  • 推理力度可以直接在模型名后面加后缀——o 系列加 -high/-medium/-low,Claude 加 -thinking 开思考模式,省得每次手动改参数
  • 有数据看板,调用量和 token 消耗能看图表

部署一样简单,Docker 一行,SQLite 默认跑,界面比 One-API 好看一点。

VoAPI

GitHub 是 VoAPI/VoAPI,不是从 One-API fork 的,全新写的,界面是三个里最好看的。

社区版就已经有不少东西:JS 规则引擎(可以自己写逻辑)、5 层用户等级、渠道熔断和自动恢复、实时 RPM/TPM 监控、渠道走代理(HTTP/SOCKS5 都行)、一键从 One-API/New-API 迁数据。Pro 版加了在线支付、实名认证、工单、MCP 服务分发这些,更偏商业运营方向。

麻烦的地方是:必须先有 MySQL 和 Redis 才能跑,还要手写 config.yml。自己用嫌太重,做分发站给多人用就比较合适。

快速对比

安装难度
One-API ✅ 一行 Docker
New-API ✅ 一行 Docker
VoAPI ⚠️ 要先搭 MySQL + Redis,手写配置

界面
One-API ❌ 老,凑合用
New-API ✅ 中等,有图表
VoAPI ✅✅ 最好看

统计
One-API ❌ 简单额度明细
New-API ✅ 图表看板
VoAPI ✅✅ 实时 RPM/TPM,最详细

特殊接口(Midjourney/Suno/Realtime)
One-API ✅ 绘图接口
New-API ✅✅ MJ + Suno + Realtime
VoAPI ✅ 规则引擎扩展

多用户
One-API ✅ 基础
New-API ✅ 分组权限
VoAPI ✅✅ 等级体系 + 分组限额

资源占用
One-API ✅✅ 最轻
New-API ✅ 较轻
VoAPI ⚠️ MySQL + Redis 一起算,比较重

装 New-API

VPS 装好 Docker,开 3000 端口,一行命令:

docker run --name new-api -d --restart always \
  -p 3000:3000 \
  -e TZ=Asia/Shanghai \
  -v ./data:/data \
  calciumion/new-api:latest

数据存在 ./data/,SQLite,不用额外数据库。跑起来访问 http://你的IP:3000

默认账号 root 密码 123456,进去第一件事改密码,别忘。

加渠道

「渠道」→「添加渠道」。以硅基流动为例(DeepSeek、Qwen 都有,注册送 14 元代金券):

  • 类型:「硅基流动」或「OpenAI 兼容」
  • BaseURL:https://api.siliconflow.cn
  • 密钥:你的硅基流动 Key
  • 模型:deepseek-ai/DeepSeek-V3,Qwen/Qwen2.5-72B-Instruct 这样填

Claude 的话类型选「Anthropic」,baseURL 留空,填 Key 就行。

建令牌

「令牌」→「添加令牌」,设好名字和额度上限,生成之后把这个 Token 复制好,后面所有客户端填这个。

到这里网关就好了,两个信息记下来:

  • baseURL:http://你的IP:3000/v1
  • Key:刚才那个令牌

有条件的话套个 Nginx + HTTPS,裸 HTTP 放 Key 不太好。

接进 OpenClaw

我现在 OpenClaw 就是这么用的,配一次之后换模型只改网关后台,本地不用动。

openclaw.jsonmodels.providers 加一段:

{
  "models": {
    "providers": {
      "mygateway": {
        "type": "openai",
        "baseUrl": "http://你的IP:3000/v1",
        "apiKey": "sk-你的令牌"
      }
    }
  }
}

然后切模型:

openclaw models set mygateway/deepseek-ai/DeepSeek-V3

对话里临时换:/model mygateway/claude-3-5-sonnet

网关后台加了新渠道,OpenClaw 这边直接用,不用改配置。完整的模型切换用法看这篇,国内网络问题看这篇

装 VoAPI

想要界面好看或者要多人用,试 VoAPI。先把 MySQL 和 Redis 跑起来,这是硬要求。

git clone https://github.com/VoAPI/VoAPI.git
cd VoAPI
cp config.yml.example config.yml
nano config.yml   # 填 MySQL 连接信息
docker-compose up -d

跑起来访问 http://你的IP:6800第一个注册的账号是管理员,没有默认 root,直接注册就行。

甲骨文 ARM 机把镜像换成 voapi/voapi-linux-arm64。社区版免费,Pro 版多了支付、工单这些,对外运营才需要。

选哪个

  • 自己用,顺便给几个工具共享 Key → New-API,一行 Docker,够了
  • 要做多人分发站,界面和统计要好看 → VoAPI 社区版
  • VPS 只有 512MB 内存,追求最轻 → One-API
  • 没有付费 API Key,用的是 Claude/ChatGPT 账号额度 → 去看 CLIProxyAPI 那篇

VPS 一直在吃灰的话,跑个 New-API 是个不错的用途。没 VPS 的可以看看免费资源汇总,还有几个能用的。