阿里云从零部署 OpenClaw 完全指南:摆脱百炼锁定,自由选择模型

作为阿里云百炼 OpenClaw(龙虾AI)最早一批用户,我深度体验了几个月后发现一个问题:只能用百炼提供的模型,想用 DeepSeek、StepFun、OpenAI?没门。 不服气,决定自己动手,从零在阿里云轻量服务器上重新部署,接上自己喜欢的模型。这篇教程就是整个过程的完整记录,包括踩过的每一个坑。

一、为什么这么做?

阿里云百炼版 OpenClaw 的优点是开箱即用,但限制也很明显:

  • 模型绑定百炼生态,无法自由切换
  • 部分高级功能受限于百炼套餐
  • 想接入第三方 API(StepFun、DeepSeek 等)走不通

官方 OpenClaw 是开源的,支持任何 OpenAI 兼容的 API。所以思路很简单:买台服务器,用 Docker 跑官方版,配置自己的 API。

二、硬件准备

我选的是阿里云轻量应用服务器(够用就行):

项目 配置
地域 华北2(北京)
CPU 2 核
内存 2 GB
硬盘 40 GB SSD
带宽 200 Mbps
系统 Ubuntu 22.04

提示:2G 内存跑 OpenClaw 比较紧张,后面会说怎么优化。如果你预算够,建议直接 4G。

三、系统初始化

拿到一台全新的 Ubuntu 服务器后,先做基础设置:

# 更新系统
apt update && apt upgrade -y

# 安装必要工具
apt install -y curl wget git vim htop

# 设置时区
timedatectl set-timezone Asia/Shanghai

四、安装 Docker

# 安装 Docker(官方一键脚本)
curl -fsSL https://get.docker.com | sh

# 启动 Docker 并设为开机自启
systemctl start docker
systemctl enable docker

# 验证安装
docker --version

五、部署 OpenClaw

5.1 创建数据目录

OpenClaw 的所有数据(配置、会话等)需要一个持久化目录,我们用 bind mount 挂载到宿主机:

mkdir -p /root/openclaw-data

5.2 启动容器

docker run -d \
  --name openclaw \
  --restart unless-stopped \
  --memory=1200m \
  --memory-swap=2400m \
  -p 18789:18789 \
  -v /root/openclaw-data:/home/node \
  ghcr.io/openclaw/openclaw:latest

参数说明:

  • --memory=1200m --memory-swap=2400m:限制内存使用,防止 OOM(2G 机器必加)
  • -p 18789:18789:Web 管理界面端口
  • -v /root/openclaw-data:/home/node:数据持久化

5.3 验证运行

docker logs -f openclaw

看到日志正常输出,说明启动成功。

六、基础配置

OpenClaw 的配置文件在 /root/openclaw-data/.openclaw/openclaw.json(宿主机路径)。

⚠️ 修改配置的正确姿势

千万不要用 docker cp 把文件复制进容器! 这会改变文件的 owner,容器内的 node 用户(UID 1000)读不了。

正确流程:

# 1. 停止容器
docker stop openclaw

# 2. 直接在宿主机编辑配置文件
vim /root/openclaw-data/.openclaw/openclaw.json

# 3. 修复权限
chmod 644 /root/openclaw-data/.openclaw/openclaw.json

# 4. 启动容器
docker start openclaw

6.1 设置认证 Token

编辑 openclaw.json,关键配置如下:

{
  "meta": {
    "lastTouchedVersion": "2026.4.24",
    "lastTouchedAt": "2026-04-28T07:50:00.000Z"
  },
  "gateway": {
    "auth": {
      "mode": "token",
      "token": "你自己生成一个随机字符串"
    },
    "controlUi": {
      "allowedOrigins": ["http://你的IP:18789", "https://你的域名"],
      "allowInsecureAuth": true
    },
    "mode": "local",
    "port": 18789,
    "bind": "lan"
  }
}

七、配置模型 API(核心步骤)

这里以 StepFun(阶跃星辰) 为例,你也可以换成 DeepSeek、OpenAI 等任何 OpenAI 兼容的 API。

openclaw.json 中添加 models 配置:

{
  "models": {
    "defaultModel": "stepfun-plan/step-3.5-flash",
    "providers": {
      "stepfun": {
        "type": "openai-compatible",
        "baseUrl": "https://api.stepfun.com/step_plan/v1",
        "apiKey": "你的 StepFun API Key"
      }
    }
  }
}

其他模型示例

DeepSeek:

{
  "providers": {
    "deepseek": {
      "type": "openai-compatible",
      "baseUrl": "https://api.deepseek.com/v1",
      "apiKey": "你的 DeepSeek API Key"
    }
  },
  "defaultModel": "deepseek/deepseek-chat"
}

OpenAI:

{
  "providers": {
    "openai": {
      "type": "openai-compatible",
      "baseUrl": "https://api.openai.com/v1",
      "apiKey": "你的 OpenAI API Key"
    }
  },
  "defaultModel": "openai/gpt-4o"
}

想用哪个模型,改 defaultModel 就行,随时切换,自由自在。

八、配置 QQ Bot

OpenClaw 支持通过 QQ Bot 通信,配置步骤:

8.1 申请 QQ Bot

  1. 前往 QQ 开放平台 注册开发者账号
  2. 创建机器人应用,获取 AppID 和 AppSecret
  3. 配置 WebSocket 回调地址

8.2 在配置文件中添加 channels

{
  "channels": {
    "qqbot": {
      "appId": "你的QQ Bot AppID",
      "appSecret": "你的QQ Bot AppSecret",
      "enabled": true
    }
  }
}

8.3 权限审批踩坑

新设备首次连接时,QQ Bot 会出现权限升级审批请求,如果一直卡在 pending 状态形成死循环,可以这样解决:

# 进入容器
docker exec -it openclaw bash

# 查看 pending 请求
cat /home/node/.openclaw/pending.json

# 直接编辑 paired.json 添加设备
vim /home/node/.openclaw/paired.json

# 删除 pending 请求打破死循环
rm /home/node/.openclaw/pending.json

九、域名与 HTTPS

直接用 IP:端口 访问不够优雅,配个域名 + HTTPS。

9.1 域名准备

在阿里云(或其他域名注册商)购买域名,添加 A 记录指向服务器 IP。

9.2 安装 Caddy

Caddy 是目前最简单的 HTTPS 方案,自动申请和续期 Let’s Encrypt 证书:

apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update && apt install -y caddy

9.3 配置 Caddy

编辑 /etc/caddy/Caddyfile

openclaw.你的域名.com {
    reverse_proxy localhost:18789
}
# 重启 Caddy
systemctl restart caddy
systemctl enable caddy

打开浏览器访问 https://openclaw.你的域名.com,HTTPS 自动生效。

十、性能优化(2G 内存必看)

2G 内存跑 OpenClaw + Caddy 确实紧张,做了以下优化:

10.1 添加 Swap

# 创建 2G swap 文件
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

# 写入 fstab,重启后自动挂载
echo '/swapfile none swap sw 0 0' >> /etc/fstab

10.2 Docker 内存限制

启动容器时加上参数(前面已经加了):

--memory=1200m --memory-swap=2400m

10.3 禁用 bonjour 插件

Docker 容器内 mDNS 不兼容,bonjour 插件会导致崩溃循环,必须禁用:

{
  "plugins": {
    "bonjour": {
      "enabled": false
    }
  }
}

十一、踩坑总结

这些坑都是实打实踩过的,希望你能绕过去:

坑 1:配置文件被自动还原

现象:修改了 openclaw.json,重启后配置又变回去了,日志里看到 missing-meta-vs-last-good

原因:OpenClaw 有配置保护机制,如果配置文件缺少 meta 字段,会自动从备份恢复。

解决:每次修改配置,必须包含 meta 字段:

{
  "meta": {
    "lastTouchedVersion": "2026.4.24",
    "lastTouchedAt": "当前ISO时间"
  }
}

坑 2:auth.mode 设成 trusted-proxy 导致启动失败

现象:Gateway 启动失败,日志疯狂报错 no trustedProxy config was provided

原因trusted-proxy 模式需要额外配置 trustedProxy 字段,缺了就挂。

解决:老老实实用 token 模式:

{
  "auth": { "mode": "token", "token": "你的token" }
}

坑 3:docker cp 导致权限问题

现象:通过 docker cp 复制配置文件进容器后,OpenClaw 读不到配置。

原因docker cp 会把文件 owner 改成 root,容器内 node 用户(UID 1000)没权限读。

解决:不要用 docker cp,直接在宿主机的 bind mount 目录里编辑,然后 chmod 644

坑 4:allowInsecureAuth 不生效

现象:设了 allowInsecureAuth: true,新浏览器访问还是要设备配对。

原因:当前版本的 OpenClaw 对浏览器设备配对有强制要求,这个字段没有实际效果。

解决:通过 QQ Bot 授权,或者手动编辑容器内的 paired.json 添加设备。

坑 5:不要加 basePath

现象:加了 basePath 后,根路径返回 404。

解决:不要加 basePath,直接用根路径访问。

坑 6:龙虾自动 npm install 导致 OOM

现象:OpenClaw 在执行复杂任务时自动 npm install 安装依赖,2G 内存直接被吃光。

解决:遇到时用 kill -9 杀掉 npm 进程释放内存,配合 swap 和 Docker 内存限制缓解。

十二、最终效果

部署完成后,你得到的是:

  • 一个完全自主的 AI 助手,可以随时切换任意模型
  • 通过网页、QQ Bot 多渠道访问
  • HTTPS 安全连接
  • 数据完全在自己服务器上

从此告别百炼锁定,想用啥模型用啥模型。

附录:常用运维命令

# 查看日志
docker logs -f openclaw

# 重启 OpenClaw
docker restart openclaw

# 进入容器
docker exec -it openclaw bash

# 修改配置(完整流程)
docker stop openclaw
vim /root/openclaw-data/.openclaw/openclaw.json
chmod 644 /root/openclaw-data/.openclaw/openclaw.json
docker start openclaw

# 查看资源占用
docker stats openclaw

# 查看 swap 使用情况
free -h

# Caddy 日志
journalctl -u caddy -f

本文由实际部署经验整理而成,所有踩坑均为真实经历。希望能帮到同样想自己部署 OpenClaw 的朋友。有问题欢迎交流!

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐