OpenClaw 部署安装与常见问题完全指南

目录

OpenClaw 是一个开源的个人 AI 助手框架,可以在多种操作系统和平台上运行。它支持通过 WhatsApp、Telegram、Discord、Slack、Signal 等常用聊天工具与 AI 对话,并且支持语音、图片和浏览器自动化等高级功能。本文详细介绍 OpenClaw 的各种安装部署方式,以及常见问题的排查和解决方法。

什么是 OpenClaw

OpenClaw 是一个开源的个人 AI 助手框架,它的核心是一个始终运行的 Gateway(网关)服务。你可以把 Gateway 部署在自己的电脑、服务器或 NAS 上,然后通过你日常使用的聊天软件(如微信、Telegram、Discord 等)来和 AI 助手对话。

OpenClaw 支持的频道非常广泛,包括:

即时通讯:WhatsApp、Telegram、Signal、iMessage、微信、QQ

团队协作:Slack、Microsoft Teams、Discord、Google Chat、飞书

其他平台:Matrix、Nostr、IRC、Line、Zalo、Synology Chat 等

每个频道可以配置独立的 AI Agent,实现分平台、分任务的个性化服务。

系统要求

在安装 OpenClaw 之前,请确保你的系统满足以下要求:

项目最低要求推荐配置
Node.jsNode 22.14+Node 24
内存1 GB2 GB 及以上
磁盘2 GB 可用空间5 GB 及以上
系统macOS / Linux / Windows (WSL2)macOS / Ubuntu 22.04+
注意:如果使用 Docker 方式部署,内存建议至少 2 GB,否则在编译依赖包时可能会因为内存不足而导致进程被 OOM Kill(错误码 137)。

安装方法详解

方法一:官方安装脚本(推荐)

官方提供了一个自动检测操作系统、安装 Node.js 并完成 OpenClaw 安装的脚本,是最简单的方式。

macOS / Linux / WSL2

curl -fsSL https://openclaw.ai/install.sh | bash

Windows (PowerShell)

iwr -useb https://openclaw.ai/install.ps1 | iex

安装脚本会自动检测系统环境并安装必要的依赖。如果你想跳过引导配置步骤(onboarding),可以加参数:

curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard

方法二:npm / pnpm / bun 安装

如果你已经手动安装了 Node.js,可以使用包管理器来安装 OpenClaw。

npm 安装

npm install -g openclaw@latest
openclaw onboard --install-daemon

pnpm 安装

pnpm add -g openclaw@latest
pnpm approve-builds -g
openclaw onboard --install-daemon
注意:pnpm 对包含 native 构建步骤的包(如 sharp、node-llama-cpp 等)有特殊的安全机制,首次安装后需要运行 approve-builds 命令批准构建。

bun 安装

bun add -g openclaw@latest
openclaw onboard --install-daemon
注意:bun 支持全局 CLI 安装,但 Gateway 运行时仍推荐使用 Node.js。

方法三:Docker 部署

Docker 部署适合想要隔离环境、在 VPS 上运行,或者想快速验证功能是否正常的用户。

快速部署步骤

第一步,从 GitHub 克隆仓库并执行安装脚本:

git clone https://github.com/openclaw/openclaw.git
cd openclaw
./scripts/docker/setup.sh

脚本会执行以下操作:

1. 构建 Docker 镜像(或使用预构建的 ghcr.io/openclaw/openclaw:latest 镜像)

2. 运行引导向导,提示输入 AI 提供商的 API Key

3. 生成网关令牌并写入 .env 文件

4. 通过 Docker Compose 启动 Gateway 服务

安装脚本支持以下可选环境变量:

环境变量说明
OPENCLAW_IMAGE使用预构建镜像而非本地构建
OPENCLAW_HOME_VOLUME将 /home/node 持久化到命名卷
OPENCLAW_EXTRA_MOUNTS额外的宿主机绑定挂载(逗号分隔)
OPENCLAW_SANDBOX启用沙箱功能(设为 1)
OPENCLAW_EXTENSIONS构建时预安装的插件名称
OTEL_EXPORTER_OTLP_ENDPOINTOpenTelemetry 收集器地址

使用预构建镜像

如果你不想本地构建,可以直接使用 GitHub Container Registry 上的预构建镜像:

export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
./scripts/docker/setup.sh

常用镜像标签:

– main — 最新开发版

– latest — 最新稳定版

– 2026.4.26 — 指定版本号

手动 Docker 部署

如果不想用安装脚本,可以手动执行每一步:

# 1. 构建镜像
docker build -t openclaw:local -f Dockerfile .

# 2. 运行引导
docker compose run --rm --no-deps --entrypoint node openclaw-gateway \
  dist/index.js onboard --mode local --no-install-daemon

# 3. 配置网关
docker compose run --rm --no-deps --entrypoint node openclaw-gateway \
  dist/index.js config set --batch-json '[{"path":"gateway.mode","value":"local"},{"path":"gateway.bind","value":"lan"}]'

# 4. 启动服务
docker compose up -d openclaw-gateway

持久化存储配置

Docker Compose 默认会将配置目录和数据目录挂载到宿主机,确保容器重启后数据不丢失:

# docker-compose.yml 关键挂载
volumes:
  - ./openclaw-config:/home/node/.openclaw
  - ./openclaw-workspace:/home/node/.openclaw/workspace
  - openclaw-plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps

在宿主机上创建对应的目录并设置正确的权限(uid 1000):

mkdir -p openclaw-config openclaw-workspace
sudo chown -R 1000:1000 openclaw-config openclaw-workspace

方法四:从源码编译

如果你想参与 OpenClaw 的开发或使用最新特性,可以从源码构建:

git clone https://github.com/openclaw/openclaw.git
cd openclaw
corepack enable
pnpm install --frozen-lockfile
pnpm build
pnpm add -g .
openclaw onboard --install-daemon
注意:从源码编译需要 Node.js 24 和 pnpm,编译过程中会下载并构建多个 native 依赖(如 node-llama-cpp、sharp 等),首次构建可能需要较长时间。

初始化与配置

运行引导向导

openclaw onboard --install-daemon

向导会引导你完成以下步骤:

1. 选择 AI 提供商(Anthropic、OpenAI、Google、Ollama、LM Studio 等)

2. 输入 API Key 或完成 OAuth 认证

3. 配置网关的基本参数(端口、绑定地址等)

4. 选择要启用的聊天频道

5. 设置安全策略(DM 配对模式等)

如果想在 Docker 环境中完成引导(适合无头服务器):

# 在 Docker 中完成引导
docker compose run --rm --no-deps --entrypoint node openclaw-gateway \
  dist/index.js onboard --mode local --no-install-daemon

验证网关状态

引导完成后,验证 Gateway 是否正常运行:

openclaw gateway status

正常的输出应显示:

– Runtime: running

– Connectivity probe: ok

– Capability: admin-capable(或 read-only / write-capable)

也可以用探针命令深度检测:

openclaw gateway probe
openclaw status
openclaw status --all

打开控制面板

在浏览器中打开 http://127.0.0.1:18789/,将引导时设置的共享密钥粘贴到设置中即可进入控制面板。

如果需要重新获取控制面板地址:

openclaw dashboard
openclaw dashboard --no-open

常见问题与解决方法

问题一:网关无法启动(EADDRINUSE)

症状:运行 openclaw gateway start 时报错 EADDRINUSE 或提示端口已被占用。

解决方法:

# 1. 检查是否有其他进程占用了 18789 端口
lsof -i :18789

# 2. 如果是旧的 openclaw 进程在运行,先停止
openclaw gateway stop

# 3. 如果端口被其他程序占用,修改 OpenClaw 的监听端口
openclaw config set gateway.port 18790
openclaw gateway start

问题二:Node 版本不兼容

症状:安装时报错 Unsupported engine 或运行时报模块找不到的错误。

解决方法:OpenClaw 需要 Node 22.14 及以上版本,推荐 Node 24。

# 检查当前 Node 版本
node --version

# 使用 nvm 切换到兼容版本
nvm install 24
nvm use 24

# 重新安装 openclaw
npm install -g openclaw@latest

问题三:sharp 构建失败(npm 安装)

症状:在 npm 安装过程中,sharp native 模块构建失败。

解决方法:

# 方法一:设置 SHARP 忽略全局 libvips
SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw@latest

# 方法二:使用 pnpm 替代 npm
npm uninstall -g openclaw
pnpm add -g openclaw@latest

问题四:Docker 镜像构建 OOM(内存不足)

症状:Docker 构建过程中进程被 Kill,日志显示 exit 137。

这是编译 native 依赖时内存不足导致的。请确保:

1. Docker 运行所在虚拟机/容器至少分配 2 GB 内存

2. 增加 swap 空间:

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

问题五:频道连接成功但消息不发送

症状:在控制面板中频道显示已连接,但发送消息后 AI 没有回复。

排查步骤:

# 1. 查看日志中的关键词
openclaw logs --follow

# 常见日志标识:
# "pairing request"     -> 发送者尚未通过配对验证
# "blocked / allowlist" -> 发送者不在白名单中
# "mention required"    -> 群组中需要 @ 机器人才能触发

解决方法 — 配对模式:默认情况下,未知发送者需要配对才能使用 AI。配对码会通过私信发送给你,你需要在自己的终端批准:

openclaw pairing list --channel telegram
openclaw pairing approve telegram <code>

解决方法 — 白名单模式:如果希望任何人都能使用,设置 dmPolicy=open 并将发送者加入白名单:

{
  "channels": {
    "telegram": {
      "dmPolicy": "open",
      "allowFrom": ["*"]
    }
  }
}

问题六:WhatsApp / Telegram 登录失效

症状:之前正常的 WhatsApp 或 Telegram 频道突然断开连接。

解决方法:

# Telegram:重新添加 bot token
docker compose run --rm openclaw-cli channels add --channel telegram --token "<new-token>"

# WhatsApp:重新扫码登录
docker compose run --rm openclaw-cli channels login --channel whatsapp

# 查看详细的频道诊断
openclaw channels status --probe

WhatsApp 登录失效通常是因为 WhatsApp 检测到多设备登录异常。建议使用专门的 WhatsApp Business 账号而非个人账号。

问题七:Control UI(控制面板)无法打开

症状:浏览器访问 http://127.0.0.1:18789/ 一直转圈或显示 502。

排查步骤:

# 1. 确认网关在运行
openclaw gateway status

# 2. 查看控制面板地址
openclaw gateway status | grep Dashboard

# 3. 检查日志
openclaw logs --follow

常见原因 — 设备未授权:新浏览器需要完成设备配对。在日志中查找 device identity required,然后:

# 获取新的仪表盘链接并批准设备
docker compose run --rm openclaw-cli dashboard --no-open
docker compose run --rm openclaw-cli devices list
docker compose run --rm openclaw-cli devices approve <requestId>

常见原因 — Origin 不允许:如果从非 localhost 访问,需要在配置中添加允许的 Origin:

{
  "gateway": {
    "controlUi": {
      "allowedOrigins": ["http://你的域名.com", "https://你的域名.com"]
    }
  }
}

问题八:提示 missing scope: operator.read

这是 openclaw gateway probe 的正常降级提示,不代表连接失败。

– 如果你能正常打开控制面板并使用 AI 对话,则无需担心

– 如果无法正常使用,再用 openclaw status –deep 做进一步诊断

问题九:代理(Proxy)环境下无法连接

如果你在公司网络或使用 VPN 的环境下,代理可能会干扰 WebSocket 连接。

# 设置 HTTPS_PROXY 环境变量
export HTTPS_PROXY=http://your-proxy:8080

# 或者在配置中设置
openclaw config set gateway.proxy "http://your-proxy:8080"
openclaw gateway restart

问题十:Ollama / LM Studio 等本地模型无法调用

Docker 部署时,由于容器内的 127.0.0.1 指向容器自身而非宿主机,需要使用特殊地址:

提供商宿主机地址Docker 内地址
LM Studiohttp://127.0.0.1:1234http://host.docker.internal:1234
Ollamahttp://127.0.0.1:11434http://host.docker.internal:11434

同时确保本地模型服务监听的地址是 0.0.0.0 而非 127.0.0.1:

# LM Studio
lms server start --port 1234 --bind 0.0.0.0

# Ollama
OLLAMA_HOST=0.0.0.0:11434 ollama serve

安全建议

OpenClaw 连接真实的聊天平台,处理不受信任的输入时需要注意以下安全要点:

默认 DM 配对机制:在 Telegram、WhatsApp、Discord 等平台,陌生人的私信默认会被拦截并要求配对。切勿将 dmPolicy 设置为 open 除非你确实需要向所有人开放。

不要在公开群组暴露 AI 访问权限:如果 AI 在公开频道运行,设置群组白名单,只允许特定用户触发 AI。

定期检查已批准设备列表:

openclaw devices list
openclaw devices revoke <deviceId>

敏感操作需要确认:默认配置下,危险操作(如执行系统命令、访问文件等)会触发审批流程,不要随意绕过。

更新与升级

保持 OpenClaw 更新可以获取最新功能和安全性修复。

# 检查当前版本
openclaw --version

# 升级到最新稳定版
openclaw update

# 在 Docker 中更新
docker compose pull
docker compose up -d openclaw-gateway

# 运行 doctor 检查更新后的状态
openclaw doctor
建议在更新前备份配置文件 ~/.openclaw/openclaw.json,以便在出现问题时快速回滚。

相关资源

官方网站:https://openclaw.ai

GitHub 仓库:https://github.com/openclaw/openclaw

官方文档:https://docs.openclaw.ai

Discord 社区:https://discord.gg/clawd

晓鹏
晓鹏