目 录CONTENT

文章目录

安装One-API大模型API负载均衡,变相解除大厂免费API接口速率限制

过客
2026-02-21 / 0 评论 / 2 点赞 / 13 阅读 / 0 字

现在很多大厂都提供了一些免费的模型API接口,但是基本会有RPM(每分钟请求数)或TPM(每分钟token数)进行限流,但是我们可以用多个账号或不同平台免费的API接口集中到One-API然后给OpenClaw调用。
下面以NVIDIA的免费API接口为例,单个账号Key的RPM是40,可以注册三四个账号轮流来,这样RPM差不多就有100了。虽然热门模型有点慢,但基本也够用了。

graph TD A(OpenClaw); A --->|使用 One API 分发的 key 进行请求| B(One API) B -->|中继请求| C(NVIDIA1) B -->|中继请求| D(NVIDIA2) B -->|中继请求| E(NVIDIA3) B -->|中继请求| F(其他大模型API)

一、安装One-API

以Ubuntu 24.04系统中Docker环境安装为例。

Docker环境安装可以参考 Linux安装Docker,这里就不详说了。

1. Docker 单容器部署,使用SQLite

# 创建部署目录
mkdir -p ~/one-api && cd ~/one-api

# 运行容器
docker run -d \
  --name one-api \
  --restart always \
  -p 3000:3000 \
  -e TZ=Asia/Shanghai \
  -v $(pwd)/data:/data \
  justsong/one-api:latest

2. Docker Compose 部署,使用 MySQL

# 创建部署目录
mkdir -p ~/one-api && cd ~/one-api

# 创建 docker-compose.yml
cat > docker-compose.yml << 'EOF'
version: '3.8'

services:
  one-api:
    image: justsong/one-api:latest
    container_name: one-api
    restart: always
    ports:
      - "3000:3000"
    environment:
      - TZ=Asia/Shanghai
      - SQL_DSN=oneapi:oneapi@tcp(mysql:3306)/oneapi?charset=utf8mb4&parseTime=True&loc=Local
    volumes:
      - ./data:/data
    depends_on:
      mysql:
        condition: service_healthy
    networks:
      - one-api-network

  mysql:
    image: mysql:8.0
    container_name: one-api-mysql
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=oneapi_root
      - MYSQL_DATABASE=oneapi
      - MYSQL_USER=oneapi
      - MYSQL_PASSWORD=oneapi
      - TZ=Asia/Shanghai
    volumes:
      - ./mysql-data:/var/lib/mysql
    ports:
      - "3306:3306"
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-poneapi_root"]
      interval: 10s
      timeout: 5s
      retries: 5
    networks:
      - one-api-network

networks:
  one-api-network:
    driver: bridge
EOF

# 启动服务
docker compose up -d

# 查看运行状态
docker compose ps

二、配置One-API

1. 安装Nginx配置HTTPS

# 安装 Nginx
sudo apt-get install -y nginx

# 创建 Nginx 配置
sudo tee /etc/nginx/sites-available/one-api << 'EOF'
server {
    listen 80;
    server_name your-domain.com;
    
    location / {
        proxy_pass http://127.0.0.1:3000;
        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_set_header X-Forwarded-Proto $scheme;
    }
}
EOF

# 启用配置
sudo ln -s /etc/nginx/sites-available/one-api /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

# 使用 Certbot 配置 HTTPS
sudo apt-get install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com

2. 访问管理后台

# 浏览器访问
https://your-domain.com

# 默认登录账号
用户名:root
密码:123456

首次登录后系统会强制要求修改默认密码,请设置强密码。

3. 添加API 渠道

进入 渠道添加新的渠道

  • 类型:添加NVIDIA模型,选择OpenAI 兼容
  • 名称:随便写一个
  • 分组:默认
  • BaseURL:使用NVIDIA接口地址https://integrate.api.nvidia.com/v1
  • 模型:去NVIDIA官网选择几个需要的模型
  • 模型重定向:这里是一个模型ID的转换,比如我这里模型minimax-m2.1,但在NVIDIA里叫minimaxai/minimax-m2.1,就如下图这样配置。这样就可以把不在厂商模型ID统一调用。

添加好后点测试,测试配置有没有问题。

4. 创建访问令牌

进入 令牌添加新的令牌

  • 名称:随便写一个
  • 模型范围:把前面加的模型全添加上
  • IP限制:空为不限制,我这是内网使用,用用了192.168.1.0/24网段
  • 不设置过期时间和无限额度

添加后,回到令牌页面,复制密钥

5. 在OpenClaw中配置

回到OpenClaw配置/root/.openclaw/openclaw.json中,添加模型,再把模型配置上

"baseUrl": "https://your-domain.com",
"apiKey": "sk-上面令牌复制的Key",

完整配置:

"models": {
    "mode": "merge",
    "providers": {
      "zngw": {
        "baseUrl": "https://your-domain.com/v1",
        "apiKey": "sk-上面令牌复制的Key",
        "api": "openai-completions",
        "models": [
          {
            "id": "minimax-m2.1",
            "name": "Minimax m2",
            "reasoning": false,
            "input": [
              "text"
            ],
            "contextWindow": 32768,
            "maxTokens": 8192
          },
          {
            "id": "deepseek-v3.2",
            "name": "deepseek v3.2",
            "reasoning": false,
            "input": [
              "text"
            ],
            "contextWindow": 32768,
            "maxTokens": 8192
          },
          {
            "id": "glm5",
            "name": "glm5",
            "reasoning": false,
            "input": [
              "text"
            ],
            "contextWindow": 32768,
            "maxTokens": 16384
          },
          {
            "id": "qwen3-coder",
            "name": "qwen3 coder480b",
            "reasoning": false,
            "input": [
              "text"
            ],
            "contextWindow": 32768,
            "maxTokens": 16000
          },
          {
            "id": "kimi-k2.5",
            "name": "kimi k2.5",
            "reasoning": false,
            "input": [
              "text"
            ],
            "contextWindow": 32768,
            "maxTokens": 16000
          }
        ]
      }
    }
}

使用openclaw models status --probe测试模型是否成功

2
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区