搬瓦工 VPS 部署 One API 大模型 API 密钥管理平台教程

One API 是一款开源的大模型 API 管理和分发平台,它将多个模型提供商的 API 统一封装为 OpenAI 兼容格式,提供统一的接口给下游应用调用。通过 One API,你可以集中管理多个 API 密钥、设置用量配额、实现负载均衡和故障转移。本教程将介绍在搬瓦工 VPS 上部署 One API 的完整流程。

一、One API 核心功能

  • 多提供商聚合:统一接入 OpenAI、Azure、Claude、Gemini、本地模型等。
  • OpenAI 兼容:所有接口统一为 OpenAI 格式,下游应用无需修改。
  • 令牌管理:创建多个令牌,设置不同的权限和配额。
  • 负载均衡:同一模型的多个渠道自动轮询和故障转移。
  • 用量统计:详细的 Token 使用量和费用统计。
  • 用户管理:多用户支持,可分配不同额度。

二、环境要求

  • 操作系统:Ubuntu 20.04 或更高版本。
  • 内存:至少 512MB。
  • Docker:需要 Docker 环境。

部署前需安装 Docker,参考 Docker 安装教程。选购 VPS 请参考 全部方案

三、Docker 部署

3.1 使用 SQLite(轻量部署)

docker run -d \
  --name one-api \
  -p 3300:3000 \
  -v /opt/one-api/data:/data \
  -e TZ=Asia/Shanghai \
  --restart unless-stopped \
  justsong/one-api:latest

3.2 使用 Docker Compose(推荐)

mkdir -p /opt/one-api && cd /opt/one-api

cat > docker-compose.yml <<'EOF'
version: '3.8'
services:
  one-api:
    image: justsong/one-api:latest
    ports:
      - "3300:3000"
    volumes:
      - ./data:/data
    environment:
      - TZ=Asia/Shanghai
      - SQL_DSN=  # 留空使用 SQLite
      - REDIS_CONN_STRING=  # 留空不使用 Redis
      - SESSION_SECRET=your_random_session_secret
    restart: unless-stopped
EOF

docker compose up -d

3.3 使用 MySQL 后端(生产环境)

cat > docker-compose-mysql.yml <<'EOF'
version: '3.8'
services:
  mysql:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: one_api
      MYSQL_USER: oneapi
      MYSQL_PASSWORD: oneapi_password
    volumes:
      - mysql_data:/var/lib/mysql
    restart: unless-stopped

  one-api:
    image: justsong/one-api:latest
    ports:
      - "3300:3000"
    volumes:
      - ./data:/data
    environment:
      - TZ=Asia/Shanghai
      - SQL_DSN=oneapi:oneapi_password@tcp(mysql:3306)/one_api
      - SESSION_SECRET=your_random_session_secret
    depends_on:
      - mysql
    restart: unless-stopped

volumes:
  mysql_data:
EOF

docker compose -f docker-compose-mysql.yml up -d

四、首次配置

访问 http://your-ip:3300,使用默认管理员账号登录:

  • 用户名:root
  • 密码:123456

登录后请立即修改默认密码

五、添加渠道

在管理后台的 Channel(渠道)页面添加上游 API:

  • 添加本地模型渠道:类型选择 OpenAI,Base URL 填本地推理服务地址(如 http://host.docker.internal:8080),Key 可填任意值。
  • 添加 OpenAI 渠道:类型选择 OpenAI,填入你的 API Key。
  • 添加其他渠道:支持 Azure、Claude、Gemini 等,选择对应类型并填入密钥。

每个渠道可以选择它支持的模型列表,同一模型可以配置多个渠道实现负载均衡。

六、创建令牌

在 Token(令牌)页面创建 API 令牌给下游应用使用:

  • 设置令牌名称,方便识别用途。
  • 设置过期时间和额度限制。
  • 选择允许使用的模型。

创建后获得格式为 sk-xxxx 的令牌,在下游应用中作为 API Key 使用。

七、对接下游应用

任何支持 OpenAI API 的应用都可以通过 One API 调用:

# 测试 API 调用
curl http://localhost:3300/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-your-one-api-token" \
  -d '{
    "model": "gpt-3.5-turbo",
    "messages": [{"role": "user", "content": "你好"}]
  }'

对接各种聊天界面:

八、Nginx 反向代理

cat > /etc/nginx/sites-available/one-api <<'EOF'
server {
    listen 80;
    server_name api.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:3300;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_buffering off;
    }
}
EOF
ln -s /etc/nginx/sites-available/one-api /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

九、数据备份

# SQLite 模式备份
cp /opt/one-api/data/one-api.db /opt/backups/one-api-$(date +%Y%m%d).db

# MySQL 模式备份
docker compose exec mysql mysqldump -u oneapi -poneapi_password one_api > /opt/backups/one-api-$(date +%Y%m%d).sql

十、常见问题

渠道测试失败

确认上游 API 地址和密钥正确。对于本地模型,注意 Docker 容器内使用 host.docker.internal 访问宿主机。

请求超时

大模型推理可能需要较长时间。在渠道设置中增加超时时间,Nginx 代理也需要设置足够的超时。

总结

One API 是管理多个大模型 API 密钥的理想工具,通过统一接口简化了下游应用的对接工作。同类工具还有 New API。选购搬瓦工 VPS 请查看 全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 的折扣,购买链接:bwh81.net

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。