v2026.2.6 · 持续更新

OpenClaw
全网最详细安装部署教程

覆盖 macOS / Linux / Windows WSL2 / Docker / VPS / Raspberry Pi / NixOS,整合全网所有安装问题与解决方案,从零到全功能 AI 助手一站搞定。

180K+GitHub Stars
25+支持的消息平台
60K+开发者在用
40+个报错场景有解
01

什么是 OpenClaw?

OpenClaw 是一个 开源、自托管的个人 AI 助手网关(MIT 协议),运行在你自己的机器或服务器上,通过你已在使用的聊天工具(WhatsApp、Telegram、Discord、Slack、iMessage 等)与 AI 模型交互。

与 ChatGPT 等"会话即止"的 AI 工具不同,OpenClaw 作为持久化后台守护进程运行,可以主动发送消息、执行 Shell 命令、管理文件、自动化浏览器操作、发送定时任务提醒,是真正的"AI 数字员工"。

🧠 Brain(推理引擎)

负责 API 调用与任务编排,对接 Claude、GPT-4、Gemini、Ollama 等多种模型,支持模型故障自动切换。

🤝 Hands(执行环境)

运行各类 Skills(技能),包括 Shell 访问、文件管理、浏览器自动化、定时任务、Webhook 路由等。

支持的消息平台

WhatsApp · Telegram · Discord · Slack · Google Chat · Signal · iMessage / BlueBubbles · IRC · Microsoft Teams · Matrix · Feishu(飞书)· LINE · Mattermost · Nostr · Synology Chat · Twitch · Zalo · WebChat · iOS/Android 节点

02

名称变更历史(必读)

⚠️
避免混淆
网上很多教程和搜索结果仍在使用旧名称,全部指向同一个项目。安装时请认准当前包名 openclaw
时间段名称npm 包名状态
2024 早期ClawdBotclawdbot已弃用
2024 中期Moltbotmoltbot已弃用(Anthropic 商标请求)
2025–今OpenClawopenclaw✓ 当前官方名称
03

安装前:系统要求检查

🚫
安全警告
OpenClaw 是实验性软件。不要安装在包含个人数据的主力设备上。强烈建议安装在 VPS、虚拟机或专用设备。永远不要以 root 用户身份运行 OpenClaw。安装前务必审查社区插件(建议用 Cisco Skill Scanner 扫描)。

最低硬件要求

组件最低推荐说明
CPU2 核4 核Node.js 单线程,但并发任务需要多核
RAM2 GB8 GB1GB VPS 安装期间常 OOM;4GB+ 稳定运行
存储10 GB SSD20 GB+ SSDHDD 会导致启动明显变慢
网络稳定互联网固定 IP 或域名WebSocket 长连接要求稳定

软件依赖

依赖版本要求说明
Node.js≥ 22⚠️ 最关键!低于 22 会出现各种神秘错误
npm / pnpmnpm ≥ 8全局包管理器
Git≥ 2.x源码安装或 Docker 方式需要
操作系统见下表Windows 须用 WSL2
平台支持状态推荐程度
macOS(Apple Silicon / Intel)✓ 完全支持★★★★★ 最佳
Linux(Ubuntu 22.04+)✓ 完全支持★★★★★ 最佳
Windows(via WSL2)⚠ 通过 WSL2★★★☆☆ 可用
Windows(原生)✗ 不支持不建议
Raspberry Pi 4/5(4GB+)✓ 支持★★★★☆ 适合 24/7
# 安装前检查命令
node --version     # 必须 v22.x.x 以上
npm --version      # 必须 8.x 以上
git --version
df -h              # 确认磁盘至少有 10GB 可用
free -h            # 确认 RAM ≥ 2GB
04

macOS 安装

macOS(尤其是 Apple Silicon M 系列)是运行 OpenClaw 体验最好的平台,原生支持 iMessage、Reminders、Notes 等系统集成。

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

1
打开终端,运行安装脚本
curl -fsSL https://openclaw.ai/install.sh | bash

脚本会自动检测 Node.js 版本,不满足则提示安装,并自动下载最新版 OpenClaw。

2
阅读安全警告并接受

出现 "I understand this is powerful and inherently risky" 提示时,选择 Yes 继续。

3
运行初始化向导
openclaw onboard
4
验证安装
openclaw doctor      # 检查配置问题
openclaw status      # 查看 gateway 状态
openclaw dashboard   # 在浏览器中打开控制面板

方法二:npm 全局安装

# 先用 Homebrew 安装 Node.js 22
brew install node

# 验证版本
node --version  # 确认 ≥ v22

# 全局安装 OpenClaw
npm install -g openclaw@latest

# 或使用 pnpm
pnpm add -g openclaw@latest

方法三:macOS Companion App(Beta)

macOS 用户还可下载菜单栏 Companion App(需 macOS 14+),与 CLI 配合使用,提供更便捷的图形化管理界面。下载地址见官方文档。

💡
macOS Sharp 问题
macOS 上安装时经常出现 sharp 原生模块编译失败。如遇此问题,请先运行 xcode-select --install 安装 Xcode 命令行工具。详见下方错误排查章节。
05

Linux 安装(Ubuntu / Debian)

1
安装 Node.js 22
# 方式 A:使用 NodeSource 官方源(推荐)
sudo apt update && sudo apt upgrade -y
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs

# 方式 B:使用 nvm(多版本管理,推荐给开发者)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 22
nvm use 22
nvm alias default 22

# 验证
node --version  # 必须 ≥ v22
npm --version
2
安装 OpenClaw
curl -fsSL https://openclaw.ai/install.sh | bash
# 或
npm install -g openclaw@latest
3
验证并初始化
which openclaw        # 确认命令可找到
openclaw --version
openclaw onboard      # 运行初始化向导

注册为 systemd 服务(开机自启)

# 安装时带 --install-daemon 参数可自动注册服务
openclaw onboard --install-daemon

# 或手动管理
sudo cp scripts/openclaw.service /etc/systemd/system/
sudo systemctl enable openclaw
sudo systemctl start openclaw
systemctl status openclaw

# 查看日志
journalctl -u openclaw -f
06

Windows 安装(必须使用 WSL2)

🚫
原生 Windows 不支持
不要尝试在 PowerShell 或 CMD 中安装 OpenClaw。官方明确标注 Windows 原生为"未测试、问题较多"。必须通过 WSL2 在 Linux 环境中安装。
1
安装 WSL2(管理员 PowerShell)
# 需要 Windows 10 v2004+ 或 Windows 11
wsl --install
# 安装完成后重启,设置用户名密码
2
在 WSL2(Ubuntu)中启用 systemd
# 编辑 WSL 配置文件
sudo nano /etc/wsl.conf

# 添加以下内容
[boot]
systemd=true

# 重启 WSL2(PowerShell 中执行)
wsl --shutdown
wsl
3
安装 Node.js 22 和 OpenClaw
sudo apt update && sudo apt upgrade -y
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs

# 注意!在 WSL2 中,必须在 Linux 目录操作
# 不要在 /mnt/c/ 下操作(权限问题多)
cd ~/projects  # 使用 WSL 原生目录

npm install -g openclaw@latest
openclaw onboard
4
从 Windows 访问 Dashboard

Gateway 运行在 WSL2 内部,但你可以通过 Windows 浏览器访问:

http://localhost:18789/

所有 OpenClaw 命令必须在 WSL2 终端中运行,不要在 PowerShell 中执行。

WSL2 开机自启配置

# WSL2 重启后 systemd 服务不会自动启动,手动启动:
systemctl --user start openclaw-gateway

# 或配置 Windows 任务计划程序在开机时自动启动 WSL
# 详见 Windows Task Scheduler 相关文档
07

Docker 部署(推荐生产环境)

Docker 方式提供最强的隔离性、可复现性和安全性,是 VPS 或需要多服务共存环境的首选方案。

1
克隆仓库,运行一键 Docker 配置脚本
git clone https://github.com/openclaw/openclaw.git
cd openclaw
bash docker-setup.sh

脚本会自动:构建本地镜像 → 启动初始化向导容器 → 生成安全令牌 → 通过 Docker Compose 启动服务。

2
了解 Volume 挂载路径
# docker-compose.yml 关键挂载
volumes:
  - ~/.openclaw:/workspace/.openclaw       # 配置、密钥
  - ~/openclaw/workspace:/workspace/files  # Agent 工作区
3
启动和管理
docker compose up -d          # 后台启动
docker compose ps             # 查看运行状态
docker compose logs -f        # 实时日志

# 运行 CLI 命令
docker compose run --rm openclaw-cli openclaw doctor
docker compose run --rm openclaw-cli openclaw status --all

# Telegram 配对
docker compose run --rm openclaw-cli pairing approve telegram <CODE>

WhatsApp Docker 持久化配置

# 正确持久化 WhatsApp 凭证(防断线后重新扫码)
services:
  openclaw:
    image: openclaw/openclaw:2026.1.29
    volumes:
      - /srv/openclaw/credentials/whatsapp:/workspace/.openclaw/credentials/whatsapp
      - /srv/openclaw/sessions:/workspace/.openclaw/sessions
    environment:
      - OPENCLAW_WA_SESSION_PERSISTENCE=true
      - OPENCLAW_WA_AUTO_RECONNECT=true
      - OPENCLAW_WA_RECONNECT_DELAY_MS=5000
      - OPENCLAW_WA_MAX_RECONNECT_ATTEMPTS=10

资源限制(低配 VPS)

# 限制容器资源,防止与其他服务竞争
deploy:
  resources:
    limits:
      memory: 512m
      cpus: '1.0'
🔐
安全提示
推荐使用 Podman(Rootless)替代 Docker。Docker daemon 以 root 权限运行,容器逃逸即是完整 root 权限;而 Rootless Podman 逃逸后只是普通用户权限,攻击面更小。
08

VPS 云服务器部署

VPS 是推荐的 24/7 永久在线部署方案,消除了本地断电、网络波动等问题。

推荐 VPS 配置

场景CPURAM估算月费
个人轻度使用1 核2 GB$5–8/月
个人正常使用(推荐)2 核4 GB$12–20/月
团队/多 Agent4 核8 GB$40+/月

支持的 VPS 服务商:DigitalOcean(有 1-Click Deploy)、Contabo、Linode / Akamai、AWS EC2/Lightsail、Hetzner

DigitalOcean 1-Click 快速部署

DigitalOcean 提供预装 OpenClaw 的一键模板,包含 v2026.1.24-1 及所有依赖。登录后在控制台选择 Provider 和 API Key 即可,两种访问方式:GUI(浏览器)和 TUI(终端)。

手动 VPS 部署流程

# 1. SSH 到服务器
ssh root@your-vps-ip

# 2. 创建非 root 用户(重要!)
useradd -r -m -d /home/openclaw -s /bin/bash openclaw
passwd openclaw

# 3. 配置 SSH 公钥认证,禁用密码登录
mkdir -p /home/openclaw/.ssh && chmod 700 /home/openclaw/.ssh
nano /home/openclaw/.ssh/authorized_keys  # 粘贴你的公钥
chmod 600 /home/openclaw/.ssh/authorized_keys
chown -R openclaw:openclaw /home/openclaw/.ssh

# 4. 切换到 openclaw 用户安装
su - openclaw
curl -fsSL https://openclaw.ai/install.sh | bash

# 5. 防火墙配置
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow in on tailscale0  # 如使用 Tailscale
sudo ufw enable

低 RAM VPS 的 Swap 配置

# 1GB RAM 的 VPS 必须配置 Swap,否则 npm install 会 OOM
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
09

Raspberry Pi 部署(低功耗永久在线)

硬件选型建议

型号RAM推荐指数备注
Raspberry Pi 58 GB★★★★★最佳选择,2-2.5x 于 Pi4
Raspberry Pi 54 GB★★★★☆满足浏览器自动化
Raspberry Pi 48 GB★★★☆☆可用,性能有限
Raspberry Pi 44 GB★★★☆☆基础功能可用
Raspberry Pi 3 / Zero1 GB★☆☆☆☆不推荐,内存不足
Pi 可靠性建议
SD 卡易受突然断电损坏。建议:使用 USB-C UPS(约 $25-40)防掉电;改用 NVMe SSD(M.2 HAT)替代 MicroSD 卡,显著提升可靠性。
# Pi 上安装 OpenClaw(与 Linux 相同)
sudo apt update && sudo apt upgrade -y
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
npm install -g openclaw@latest
openclaw onboard --install-daemon

Pi 的功耗仅约 5-10W,与 VPS 月租相比,设备成本可在数月内回本。推荐"混合部署"方案:Pi 作为 24/7 网关,笔记本/台式机作为节点,需要时连接使用本地摄像头、屏幕录制等能力。

10

NixOS / Nix 声明式部署

NixOS 模块提供完全声明式、可审计、可复现的 OpenClaw 部署,并内置完整的安全加固配置。

# flake.nix
{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    openclaw.url = "github:Scout-DJ/openclaw-nix";
  };
}

# configuration.nix
{ config, pkgs, ... }: {
  services.openclaw = {
    enable = true;
    domain = "agents.example.com";
    modelProvider = "anthropic";
    modelApiKeyFile = "/run/secrets/anthropic-api-key";
    telegram = {
      enable = true;
      tokenFile = "/run/secrets/telegram-bot-token";
    };
    toolSecurity = "allowlist";
    toolAllowlist = [ "read" "write" "edit" "web_search" "web_fetch" "message" "tts" ];
  };
}

NixOS 模块自动配置:NoNewPrivileges=yes · PrivateTmp=yes · ProtectSystem=strict · ProtectHome=yes 等 systemd 安全指令。


11

初始化向导(openclaw onboard)详解

安装完成后,运行 openclaw onboard 进行交互式配置。向导依次询问:

1
选择安装类型

选择 QuickStart(最快)或完整向导。首次推荐 QuickStart。

2
选择 AI 模型提供商

支持:Anthropic Claude / OpenAI GPT / Google Gemini / Ollama 本地模型 / Gradient AI 等。输入对应 API Key。

3
选择默认模型

注意:不必选最强模型。高端模型 API 费用高,日常任务用经济模型即可,仅在需要时切换。

4
选择消息平台(Channel)

选择 Telegram / WhatsApp / Discord 等,跟随屏幕指引完成配对。

5
选择 UI 类型

TUI(终端界面):适合首次设置,在 Hatch 模式中配置 Agent 人格。
Control UI(Web):通过浏览器访问 http://localhost:18789/

6
安装 Skills(可选)

技能包扩展 OpenClaw 的能力(网页搜索、Whisper 语音等)。首次可选 No,之后随时安装。安装时选择 npm 作为包管理器。

7
Shell 补全(推荐开启)

OpenClaw 新增了 Bash/Zsh 命令补全功能,大幅提升 CLI 使用效率,建议保持开启。

12

AI 模型配置

支持的 AI 提供商

提供商典型模型特点
AnthropicClaude Opus 4.6 / Sonnet 4.6最强推理,官方首推
OpenAIGPT-4o / GPT-4o-mini通用性好
GoogleGemini Pro / Flash长上下文,价格适中
OllamaLlama 3 / Mistral 等完全本地,零 API 费用
Gradient AI多种模型专注 AI Infra

多模型与故障转移配置

{
  "agent": {
    "model": "anthropic/claude-opus-4-6",
    "thinkingLevel": "high"
  },
  "modelFallback": [
    "openai/gpt-4o",
    "openai/gpt-4o-mini"
  ]
}
💰
Anthropic API 注意
使用 Anthropic API 需要添加信用卡并预充至少 $5,即使网页版 Claude 是免费的。试用额度也有过期时间,额度耗尽后会突然报 401 错误。

切换为 Setup Token 方式(更稳定)

# 避免 OAuth 定期刷新失效,改用长期 API Token
openclaw models auth setup-token --provider anthropic
# 或粘贴 Token
openclaw models auth paste-token --provider anthropic
13

接入 Telegram

1
创建 Telegram Bot

在 Telegram 搜索 @BotFather,发送 /newbot,输入机器人名称和用户名(必须以 _bot 结尾),复制生成的 Token。

2
在向导中输入 Token

openclaw onboard 中选择 Telegram,粘贴 Bot Token。

3
完成账号配对
# OpenClaw 会通过 Bot 向你发送配对码
# 在终端执行:
openclaw pairing approve telegram <CODE>
# Docker 环境:
docker compose run --rm openclaw-cli pairing approve telegram <CODE>

Telegram 安全配置(allowlist)

{
  "channels": {
    "telegram": {
      "allowFrom": ["你的TelegramUserID"],
      "groups": {
        "*": { "requireMention": true }
      }
    }
  }
}

如何获取自己的 Telegram User ID:向 @userinfobot 发送任意消息即可获取数字 ID。

14

接入 WhatsApp

1
在向导中选择 WhatsApp

openclaw onboard 中选择 WhatsApp 作为 Channel。

2
扫描 QR 码

选择在终端显示 QR Code,然后在手机 WhatsApp 中操作:
设置 → 右上角 QR 图标 → 扫描码
如有提示,输入手机号完成验证。

3
配置 allowlist 限制访问
{
  "channels": {
    "whatsapp": {
      "allowFrom": ["+86138xxxx1234"]
    }
  }
}
⚠️
WhatsApp 使用限制
WhatsApp 每个账号最多可同时关联 4 个设备。OpenClaw 使用 Baileys 库维持 WebSocket 长连接,NAT、防火墙或限速可能导致连接中断。请确保服务器出站 WebSocket 连接不受干扰。
15

接入 Discord

1
创建 Discord 应用

访问 Discord Developer Portal → New Application → Bot → 创建 Bot Token。

2
启用必要权限

在 Bot 设置中启用 Message Content Intent,邀请 Bot 加入你的服务器。

3
配置用户 allowlist
{
  "channels": {
    "discord": {
      "token": "YOUR_BOT_TOKEN",
      "dm": { "policy": "pairing" }
    }
  }
}
16

接入 Slack

{
  "channels": {
    "slack": {
      "dm": { "policy": "pairing" }
    }
  }
}

Slack 接入需要创建 Slack App,获取 Bot Token(xoxb-...)和 Signing Secret,在向导中按提示配置。


17

常见问题与解决方案

🩺
首先运行诊断命令
遇到任何问题,先运行这个命令获取完整诊断报告:
openclaw status --all,然后根据输出定位问题所在章节。
Node.js Node.js 版本不符合要求

症状:安装或启动时出现神秘的语法错误、SyntaxError: Unexpected tokenCannot use optional chaining 等,且错误信息不直接提示 Node 版本。

原因:60% 的安装失败源于 Node.js 版本低于 22。OpenClaw 使用 ES Modules、AsyncLocalStorage、WebCrypto 等 Node 22 才稳定的特性。

# 检查当前版本
node --version  # 必须 ≥ v22

# 方案 A:使用 nvm 安装(推荐,支持多版本)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc  # 或 ~/.zshrc
nvm install 22
nvm use 22
nvm alias default 22

# 方案 B:使用 NodeSource 官方源(Ubuntu/Debian)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs

# 方案 C:macOS 使用 Homebrew
brew install node  # 或 brew upgrade node

# Arch Linux 特殊处理(installer 无法识别 pacman)
sudo pacman -S nodejs npm
node --version  # 确认 ≥ v22
npm install -g openclaw@latest
PATH openclaw: command not found

症状:安装成功但执行 openclaw 报错 "command not found" 或 "not recognized as an internal or external command"。

原因:npm 全局安装目录不在系统 PATH 中。

# 1. 找到 npm 全局 bin 路径
npm prefix -g  # 输出类似 /usr/local 或 ~/.npm-global
# bin 目录在 <prefix>/bin/

# 2. 添加到 PATH(bash/zsh)
echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

# 或者更明确地写
export PATH="$HOME/.npm-global/bin:$PATH"
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc

# 3. 验证
which openclaw
openclaw --version

# Windows 系统
# 添加 %AppData%\npm 到系统环境变量 PATH,重启 PowerShell

# 企业环境 PATH 锁定时的替代方案
npx openclaw  # 使用 npx 临时运行
权限 EACCES: permission denied / npm 权限错误

症状:EACCES: permission denied, mkdir '/usr/local/lib/node_modules/openclaw' 或 WSL2 中 /mnt/c/ 目录下的权限报错。

原因:npm 尝试写入需要 root 权限的目录;WSL2 中 Windows 分区(/mnt/c/)的文件权限模型与 Linux 不同。

# ❌ 不要用这些方法(会导致更大问题):
# sudo npm install  -- 破坏文件所有权
# chmod 777        -- 严重安全漏洞
# npm config set unsafe-perm true  -- 治标不治本

# ✅ 正确方案 A:修改 npm 全局目录(推荐)
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
npm install -g openclaw@latest

# ✅ 正确方案 B:修复 npm 目录所有权
sudo chown -R $USER:$(id -gn $USER) ~/.npm
npm install -g openclaw@latest

# ✅ WSL2 特殊方案:切换到 Linux 原生目录
mkdir ~/projects && cd ~/projects
# 不要在 /mnt/c/ 下操作!
npm install -g openclaw@latest
端口 RPC probe: failed / 端口 18789 冲突

症状:RPC probe: failed,或 Gateway 启动失败,openclaw status 显示不正常。

原因:端口 18789(和 9090)被其他进程占用;或存在旧的 Gateway PID 文件残留。

# 查找占用端口的进程
lsof -i :18789         # macOS/Linux
lsof -ti :18789        # 只输出 PID
kill -9 $(lsof -ti:18789)

# WSL2/Windows
netstat -ano | findstr :18789

# 或修改 OpenClaw 监听端口
openclaw config set gateway.port <新端口>

# 清理残留 PID 文件
# 先确认没有真实 Gateway 在运行
ps aux | grep openclaw
rm ~/.openclaw/gateway.pid  # 清理残留
openclaw gateway restart
Gateway Gateway not responding / 0 tokens used / 异常 WebSocket 关闭 1006

症状:Gateway 无响应;Dashboard 连接失败;日志中出现 WebSocket 关闭码 1006;或服务安装后可手动运行但作为系统服务时失败。

# 基础诊断步骤
openclaw gateway status
openclaw gateway restart
openclaw doctor

# WebSocket 1006:通常是插件加载问题
# 在配置中临时禁用非核心插件,逐一排查

# 服务模式失败但手动运行正常:环境变量未传入服务
# 检查 systemd service 文件是否包含 API_KEY 等环境变量
systemctl show openclaw --property=Environment

# 重新安装 Gateway 服务
openclaw onboard --install-daemon

# 实时查看日志
openclaw logs --follow
journalctl -u openclaw -f
认证 401 认证失败 / Access not configured / refusing to bind without auth

401 错误原因:API Key 错误/过期/余额不足;OAuth Token 失效需重新登录。

"Access not configured" 原因:用户 ID 未加入白名单。

"refusing to bind without auth" 原因:Gateway 绑定到非回环地址(局域网/公网)但未配置认证,这是安全保护机制。

# 修复 401:重新配置 API Token
openclaw models auth setup-token --provider anthropic
# 或重新登录
/logout
/login   # 在聊天界面执行

# 修复 "Access not configured":完成配对
openclaw pairing approve telegram <CODE>

# 修复 "refusing to bind":配置认证或改为本地绑定
# 方案 A:仅本地访问
openclaw config set gateway.bind loopback

# 方案 B:设置密码(公网访问必须)
openclaw config set gateway.auth.mode password

# 修复 Gateway mode 未设置
openclaw config set gateway.mode local
openclaw gateway restart
Sharp Sharp 原生模块编译失败(macOS 常见)

症状:安装时出现大量编译错误日志,涉及 sharpnode-gypvips 等关键词。

原因:macOS 缺少 Xcode 命令行工具;或系统 libvips 版本冲突。

# 方案 1:安装 Xcode 命令行工具
xcode-select --install

# 方案 2:跳过系统 libvips,使用内置二进制
export SHARP_IGNORE_GLOBAL_LIBVIPS=1
npm install -g openclaw@latest

# 方案 3:使用 curl 安装脚本(自动处理依赖)
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm
WSL2 WSL2 特有问题:spawn npm ENOENT / 重启后服务消失

问题 A:spawn npm ENOENT / execution policy 错误 → 说明在 PowerShell 中运行了 OpenClaw 命令,必须在 WSL2 终端中执行。

问题 B:40% 的 WSL2 npm 错误源于在 /mnt/c/ 目录下操作 → 切换到 WSL 原生目录 ~/projects

问题 C:Windows 重启后 OpenClaw 服务消失 → WSL2 不会自动启动 systemd 服务。

# 问题 C 解决:手动启动或设置自动启动
systemctl --user start openclaw-gateway
systemctl --user enable openclaw-gateway

# WSL2 重启后 Node 版本丢失(nvm 用户)
# 在 ~/.bashrc 或 ~/.zshrc 中确保有:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm use 22 --silent
WhatsApp WhatsApp 频繁断线 / 每次重启需重新扫码

原因:凭证文件未正确持久化(尤其是 Docker 部署);WebSocket 长连接被 NAT 或防火墙中断;会话文件在容器重启后丢失。

# 1. 确认凭证目录正确挂载(Docker)
# 见 docker-compose.yml 中的 WhatsApp 持久化配置(本文第 07 节)

# 2. 备份凭证(重要!)
cp -r ~/.openclaw/credentials/whatsapp ~/whatsapp-backup

# 3. 检查服务器出站 WebSocket 是否受限
curl -I https://web.whatsapp.com

# 4. 配置自动重连
# 在 docker-compose.yml 中设置 OPENCLAW_WA_AUTO_RECONNECT=true
Telegram Telegram "silent reply" bug:收到消息但不回复

症状:日志确认收到消息,但用户侧无任何回复,且日志中没有错误信息。

原因(2026 已知 Bug):Telegram 群组 chat ID 为负数(如 -1001234567890),OpenClaw 默认的 AccountId 规范化器会去掉前导负号,导致会话路由 key 不匹配。

# 解决方案:升级到最新版本(已在近期版本修复)
npm install -g openclaw@latest
openclaw gateway restart

# 临时 workaround:在配置中明确指定群组 ID(含负号)
# openclaw.json 中加入你的群组负数 ID
API 429 Too Many Requests / 触发 API 限速

原因:超过模型提供商的速率限制(Anthropic Tier 1 为 50 RPM);已知 Bug #5159 有时导致 OpenClaw 指数退避失效,形成激进的重试循环。

# 等待 retry-after 时间(通常 60 秒)
# 或配置模型故障转移
openclaw config set modelFallback '["openai/gpt-4o-mini"]'

# 完全重启 Gateway 以中断潜在的重试循环
openclaw gateway restart
Docker EACCES: permission denied(Docker 挂载目录)

原因:容器内 Node 用户(UID 1000)对挂载的宿主机目录没有写权限。

# 修复宿主机挂载目录的所有权
sudo chown -R 1000:1000 ~/.openclaw
sudo chown -R 1000:1000 ~/openclaw/workspace
docker compose restart
npm npm 缓存损坏 / peer dependency 冲突
# 清理 npm 缓存
npm cache clean --force

# 重置 npm 配置
npm config set registry https://registry.npmjs.org/
npm doctor

# 重新安装
cd ~/openclaw
rm -rf node_modules package-lock.json
npm install
配置 配置文件不完整 / JSON 解析错误

症状:向导没有问完所有问题,导致 ~/.openclaw/openclaw.json 不完整,产生各种神秘错误。

# 验证配置文件
cat ~/.openclaw/openclaw.json | python3 -m json.tool
# 如果有错误,修复 JSON 语法

# 尝试自动修复
openclaw doctor --fix

# 无法修复时,重新初始化(备份后)
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak
openclaw configure

# 无头服务器(headless)
openclaw doctor --non-interactive
# 然后手动编辑配置文件

18

安全加固(重要)

🔴
严重安全警告
据 CrowdStrike 和 SecurityScorecard 报告,目前有超过 15,200 个 OpenClaw 控制面板暴露在公网,且无任何认证保护。这些几乎都是默认配置,不是恶意行为。默认配置失败了用户。

安全核心原则

  • 绝不以 root 用户运行 OpenClaw
  • Gateway 默认绑定 127.0.0.1(loopback),绝不直接暴露到公网
  • 远程访问通过 SSH 隧道或 Tailscale,而非开放端口
  • 所有连接账号应是你可以承受丢失的备用账号
  • 定期运行 openclaw doctor 检查配置漏洞
  • 在配置文件中启用 exec.ask: "on",写入/执行命令前需人工确认

绑定配置(仅本地访问 vs 网络访问)

# ✅ 安全:仅本地访问
openclaw config set gateway.bind loopback
# 等同于绑定 127.0.0.1,只有本机能访问

# ⚠️ 需要认证:通过 Tailscale 局域网访问
# 先安装 Tailscale
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

# 配置 Tailscale Serve(需密码)
openclaw config set gateway.tailscale.mode serve

工具权限白名单(重要!)

{
  "allowedTools": [
    "read",       
    "write",      
    "edit",       
    "web_search", 
    "web_fetch",  
    "message",
    "tts"
  ],
  "elevatedTools": {
    "enabled": false
  }
}
// ⚠️ exec(Shell 命令)和 browser 权限要谨慎开启!
// 开启前务必配置 sandbox 隔离

Sandbox 隔离

{
  "agents": {
    "defaults": {
      "sandbox": {
        "mode": "non-main"
      }
    }
  }
}
// 非主会话(群组聊天等)在隔离的 Docker 容器中运行

February 2026 重要安全更新:auth:none 被移除

# 2026年2月更新移除了 auth:none 模式,这是一个破坏性变更
# 所有旧版教程生成的配置可能产生漏洞
# 检查和修复安全配置:
openclaw doctor --security-audit

# 生成新的安全 Token
openclaw gateway restart
# 如果 doctor 未自动生成,手动生成
openssl rand -base64 48
19

后台服务与持久化运行

安装为系统服务

# 安装时加参数(推荐)
openclaw onboard --install-daemon
# Linux: 注册 systemd 服务
# macOS: 注册 launchd 服务
# 确保服务存活,开机自动启动

# 查看服务状态
systemctl status openclaw     # Linux
launchctl list | grep openclaw  # macOS

使用 pm2 管理(替代方案)

npm install -g pm2
pm2 start openclaw -- gateway start
pm2 save
pm2 startup  # 生成开机启动脚本
20

更新与升级

# 更新到最新版本
npm install -g openclaw@latest

# ⚠️ 注意:版本更新后必须完全重启 Gateway
# 软重启 (SIGUSR1) 不会加载新模块 hash
openclaw gateway restart  # 必须完全重启
# 或使用 doctor 自动修复
openclaw doctor --fix

# Docker 更新
docker compose pull
docker compose up -d

# 订阅更新通知(推荐)
# 访问 github.com/openclaw/openclaw/releases 开启 Watch
21

API 费用控制

每条消息都会调用 LLM API,活跃的 Telegram 群组或 Discord 频道可能快速消耗 API 额度。以 Claude 或 GPT-4 级别模型为例,单个活跃用户每天发 100 条消息,每天可能消耗 $3-5。

配置限速

# 在 .env 或配置文件中设置
RATE_LIMIT_PER_USER=30       # 每用户每小时最多 30 条消息
DAILY_COST_LIMIT=5.00        # 每天最高花费 $5

使用 ChatGPT OAuth 控制开销

如选择 OpenAI Codex + ChatGPT OAuth 认证方式,OpenClaw 的 API 调用会消耗 ChatGPT 订阅的额度(而非单独计费),自然设置了一个每月上限。

模型路由策略(省钱关键)

{
  "agent": {
    "model": "openai/gpt-4o-mini"  
  },
  "modelRouting": {
    "complex": "anthropic/claude-opus-4-6",
    "simple": "openai/gpt-4o-mini"
  }
}
// 简单对话用经济模型,复杂任务才用高端模型
// 此策略可降低 50%+ 的 API 成本
22

诊断命令速查表

命令用途
openclaw status --all完整系统诊断报告(首选!)
openclaw doctor检查配置问题
openclaw doctor --fix自动修复常见配置问题
openclaw doctor --security-audit安全配置审计
openclaw gateway status查看 Gateway 运行状态
openclaw gateway restart重启 Gateway
openclaw logs --follow实时日志输出
openclaw channels status --probe检测各消息平台连接状态
openclaw dashboard打开 Web 控制面板
openclaw message send --target +86... --message "test"发送测试消息
openclaw agent --message "What's 2+2?"直接测试 Agent
lsof -i :18789检查端口占用
journalctl -u openclaw -fsystemd 服务日志
docker compose logs -fDocker 容器日志

完整重装流程

# 当一切方法都失败时,完全清理重装
openclaw gateway stop
docker compose down -v    # 如果用 Docker
npm uninstall -g openclaw
docker system prune -a    # 清理 Docker 缓存(Docker 用户)
# 可选:备份并清理配置
cp -r ~/.openclaw ~/.openclaw-backup
rm -rf ~/.openclaw
# 重新安装
npm install -g openclaw@latest
openclaw onboard

获取社区帮助

🎉
配置成功检查清单
openclaw doctor 无错误输出
openclaw gateway status 显示 running
openclaw channels status --probe 所有频道绿色
✓ 在 Telegram/WhatsApp 中收到 Agent 回复
✓ 控制面板 http://localhost:18789 可正常访问
openclaw doctor --security-audit 无严重警告

整理自官方文档 · GitHub · DigitalOcean · Habr · Medium · PromptLayer · LaoZhang AI Blog 等 30+ 来源
最后更新:2026年3月 · OpenClaw v2026.2.6