概述

本指南旨在帮助用户在 RedHat 系 Linux 服务器上,利用 Docker 技术部署 New-API 服务作为网关,并通过 Antigravity-Manager 聚合下游算力资源。相较于直接对接单一供应商,本方案通过 Antigravity-Manager 提供更灵活的协议转换与流量管理能力,最终暴露符合 Anthropic 协议标准/v1/messages)的 API 接口,供各类支持 Claude 协议的客户端调用。

架构概览

客户端 (任意 API 兼容应用)
    │
    ▼
New-API (端口 3000 · 接口聚合 / 密钥管理 / 负载均衡)
    │  Anthropic 协议 /v1/messages
    ▼
Antigravity-Manager (端口 8045 · 模型管理 / 推理调度)
    │
    ▼
底层 AI 模型
  • 基础设施: RedHat / CentOS / Fedora / Alibaba Cloud Linux / Rocky
  • 核心中间件: Docker 容器引擎
  • 服务网关: New-API(负责接口聚合、密钥管理与负载均衡)
  • 推理管理层: Antigravity-Manager(支持多协议转发与资源管理,端口 8045)
  • 通信协议: Anthropic API 标准(/v1/messages

第一部分:服务器环境准备

本节适用于 RedHat 系发行版。建议选用海外原生IP VPS 以确保 Docker Hub 资源可正常拉取及antigravity的访问。请确保您拥有服务器的 root 权限或具有 sudo 权限的用户。

1. 卸载旧版本(可选)

为避免依赖冲突,建议先移除系统可能预装的旧版 Docker 组件。

sudo dnf remove docker \
  docker-client \
  docker-client-latest \
  docker-common \
  docker-latest \
  docker-latest-logrotate \
  docker-logrotate \
  docker-engine

2. 配置软件源

安装依赖工具并添加 Docker 官方仓库,以确保获取最新稳定版本。

# 安装 dnf 核心插件
sudo dnf -y install dnf-plugins-core

# 添加 Docker CE 官方仓库
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3. 安装 Docker Engine

执行以下命令安装 Docker 及其相关组件。

sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

注意:安装过程中若提示 GPG 密钥验证,请确认指纹匹配后输入 y 继续。

4. 启动与自检

安装完成后,启动服务并验证运行状态。

# 启动 Docker 服务
sudo systemctl start docker

# 设置开机自启
sudo systemctl enable --now docker

# 运行测试容器
sudo docker run hello-world

若输出 "Hello from Docker!" 信息,表明环境部署成功。

5. 配置防火墙(关键步骤)

RedHat 系默认启用 firewalld,需放行以下端口:

  • 3000: New-API 服务端口
  • 8045: Antigravity-Manager 服务端口
# 开放 3000 与 8045 端口
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --permanent --add-port=8045/tcp

# 重载防火墙规则
sudo firewall-cmd --reload

注:若使用云服务器(如阿里云、AWS),还需在云平台控制台的“安全组”中放行 TCP 3000 与 8045 端口。


第二部分:部署 New-API 核心服务

New-API 作为中间层网关,负责统一管理下游资源(Antigravity-Manager)并对外提供统一接口。

1. 拉取并启动容器

执行以下命令启动服务。命令已包含数据持久化配置,避免重启后数据丢失。

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

参数说明:

  • -d: 后台运行容器。
  • --restart always: 容器异常退出或服务器重启时自动重启。
  • -p 3000:3000: 将宿主机 3000 端口映射到容器内部 3000 端口。
  • -v ...: 挂载数据卷,确保数据库和配置文件持久存储。

2. 初始化与安全设置

  1. 访问地址:http://<您的服务器公网IP>:3000
  2. 默认凭证
    • 账号:root
    • 密码:123456
  3. 安全警告:登录后请立即前往 “个人设置” 修改默认密码,防止未授权访问。

第三部分:部署 Antigravity-Manager 服务

Antigravity-Manager 作为新型推理资源管理器,替代传统免费 API 渠道,提供稳定的下游连接与协议转换能力。

1. 部署容器

执行以下命令部署服务。建议设置强密码并妥善保存 API_KEY

docker run -d --name antigravity-manager \
  -p 8045:8045 \
  -e API_KEY=sk-your-unique-api-key \
  -e WEB_PASSWORD=your-admin-password \
  -e ABV_MAX_BODY_SIZE=104857600 \
  -v ~/.antigravity_tools:/root/.antigravity_tools \
  lbjlaq/antigravity-manager:latest

环境变量说明:

  • API_KEY(必填):用于所有 AI 请求的鉴权密钥,格式建议为 sk- 开头。
  • WEB_PASSWORD(可选):管理后台登录密码。若未设置,默认使用 API_KEY 作为登录密码(安全性较低)。
  • ABV_MAX_BODY_SIZE:请求体最大体积(字节),示例中为 100MB。

持久化说明:

  • -v ~/.antigravity_tools:/root/.antigravity_tools: 将配置与数据持久化到宿主机,防止容器重建后配置丢失。

2. 鉴权与安全配置

🔐 鉴权逻辑说明

根据环境变量配置不同,系统提供两种鉴权模式:

场景 Web 后台登录 API 请求鉴权 安全建议
仅设置 API_KEY 使用 API_KEY 使用 API_KEY 适用于个人测试,不适用于团队协作
同时设置 API_KEY + WEB_PASSWORD 必须使用 WEB_PASSWORD 使用 API_KEY 推荐。可分发 API Key 给成员,而保留密码仅供管理员使用

🆙 升级与密码重置

若需升级或修改密码,优先级如下(从高到低):

  1. 环境变量ABV_WEB_PASSWORDWEB_PASSWORD(具有最高优先级,会覆盖其他设置)
  2. 配置文件:修改 ~/.antigravity_tools/gui_config.json 中的 admin_password 字段
  3. Web UI:登录后在 API 反代设置 页面修改

提示:若遗忘密钥,执行 docker logs antigravity-manager 查看初始日志,或查看 ~/.antigravity_tools/gui_config.json 文件中的 "api_key" 字段。

3. 服务验证

部署完成后,访问 http://<您的服务器公网IP>:8045,使用上述密码登录管理后台,确认服务正常运行。


第四部分:配置 Anthropic 协议渠道

在 New-API 管理后台,点击左侧菜单 “渠道” -> “添加新的渠道”,按以下指引添加 Antigravity-Manager 作为上游资源。

渠道配置参数

  • 类型Anthropic(或 Claude,视 New-API 版本而定,选择支持 Anthropic API 协议的类型)
  • 代理(Base URL):http://<您的服务器公网IP>:8045
    • 注:若 New-API 与 Antigravity-Manager 部署于同一 Docker 网络,可使用 http://antigravity-manager:8045
  • 密钥:填写第三部分设置的 API_KEY(如 sk-your-unique-api-key
  • 模型:根据 Antigravity-Manager 下游实际配置的模型填写,例如:
    • claude-opus-4-6-thinking

协议端点说明

Antigravity-Manager 对外暴露 Anthropic 协议标准端点

  • 基础路径/v1
  • 消息端点/v1/messages
  • 请求格式:符合 Anthropic Messages API 标准(非 OpenAI 格式)

提示:添加完成后,建议在“渠道”列表中点击“测试”按钮,确认通过 New-API 能正常连通 Antigravity-Manager。若测试失败,请检查防火墙规则及 API_KEY 是否正确。


第五部分:生成客户端访问令牌

New-API 生成统一的访问令牌,供客户端以 Anthropic 协议调用。

  1. 点击左侧 “令牌” -> “添加新的令牌”
  2. 配置建议
    • 名称:CherryClient
    • 过期时间:永不过期(或根据安全策略设定)
    • 额度:无限额度(或设置具体额度限制)
  3. 提交后,点击 “复制” 按钮保存生成的 sk- 开头的密钥。

第六部分:API 调用示例

由于采用 Anthropic 协议,客户端需使用 Messages API 格式进行调用。以下提供 curl 示例:

curl -X POST http://<您的服务器公网IP>:3000/v1/messages \
  -H "Content-Type: application/json" \
  -H "x-api-key: <第五部分生成的令牌>" \
  -d '{
    "model": "claude-3-5-sonnet-20241022",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "你好,请解释量子计算的基本原理"}
    ]
  }'

关键区别说明

  • 端点路径:必须为 /v1/messages,而非 OpenAI 的 /v1/chat/completions
  • 认证头:使用 x-api-key(Anthropic 标准)或 Authorization: Bearer <token>
  • 请求体:使用 messages 数组与 max_tokens 参数,符合 Anthropic 规范

故障排除

问题现象 诊断与解决方案
无法访问 Antigravity-Manager 后台 1. 检查防火墙是否放行 8045 端口。
2. 执行 docker logs antigravity-manager 查看启动错误。
3. 确认 ~/.antigravity_tools 目录有写入权限。
New-API 测试渠道失败 1. 确认 New-API 容器能访问 Antigravity-Manager 的 8045 端口(可执行 docker exec -it new-api /bin/shpingwget 测试)。
2. 检查 API_KEY 是否匹配,注意区分 API_KEYWEB_PASSWORD
Anthropic 协议 404 错误 确认请求 URL 为 /v1/messages,而非 /v1/chat/completions。检查 New-API 渠道类型是否设置为 Anthropic/Claude。
请求体过大错误 调整 Antigravity-Manager 的环境变量 ABV_MAX_BODY_SIZE,默认可能较小,建议设置为 104857600(100MB)或更高。
Docker 端口冲突 若 8045 端口被占用,修改启动命令为 -p 8046:8045,并同步修改防火墙、安全组及 New-API 渠道配置中的代理地址。