什么是 OpenClaw?
OpenClaw 是一个 开源、自托管的个人 AI 助手网关(MIT 协议),运行在你自己的机器或服务器上,通过你已在使用的聊天工具(WhatsApp、Telegram、Discord、Slack、iMessage 等)与 AI 模型交互。
与 ChatGPT 等"会话即止"的 AI 工具不同,OpenClaw 作为持久化后台守护进程运行,可以主动发送消息、执行 Shell 命令、管理文件、自动化浏览器操作、发送定时任务提醒,是真正的"AI 数字员工"。
负责 API 调用与任务编排,对接 Claude、GPT-4、Gemini、Ollama 等多种模型,支持模型故障自动切换。
运行各类 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 节点
名称变更历史(必读)
openclaw。| 时间段 | 名称 | npm 包名 | 状态 |
|---|---|---|---|
| 2024 早期 | ClawdBot | clawdbot | 已弃用 |
| 2024 中期 | Moltbot | moltbot | 已弃用(Anthropic 商标请求) |
| 2025–今 | OpenClaw | openclaw | ✓ 当前官方名称 |
安装前:系统要求检查
最低硬件要求
| 组件 | 最低 | 推荐 | 说明 |
|---|---|---|---|
| CPU | 2 核 | 4 核 | Node.js 单线程,但并发任务需要多核 |
| RAM | 2 GB | 8 GB | 1GB VPS 安装期间常 OOM;4GB+ 稳定运行 |
| 存储 | 10 GB SSD | 20 GB+ SSD | HDD 会导致启动明显变慢 |
| 网络 | 稳定互联网 | 固定 IP 或域名 | WebSocket 长连接要求稳定 |
软件依赖
| 依赖 | 版本要求 | 说明 |
|---|---|---|
| Node.js | ≥ 22 | ⚠️ 最关键!低于 22 会出现各种神秘错误 |
| npm / pnpm | npm ≥ 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
macOS 安装
macOS(尤其是 Apple Silicon M 系列)是运行 OpenClaw 体验最好的平台,原生支持 iMessage、Reminders、Notes 等系统集成。
方法一:官方一键安装脚本(推荐)
curl -fsSL https://openclaw.ai/install.sh | bash
脚本会自动检测 Node.js 版本,不满足则提示安装,并自动下载最新版 OpenClaw。
出现 "I understand this is powerful and inherently risky" 提示时,选择 Yes 继续。
openclaw onboard
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 配合使用,提供更便捷的图形化管理界面。下载地址见官方文档。
sharp 原生模块编译失败。如遇此问题,请先运行 xcode-select --install 安装 Xcode 命令行工具。详见下方错误排查章节。Linux 安装(Ubuntu / Debian)
# 方式 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
curl -fsSL https://openclaw.ai/install.sh | bash
# 或
npm install -g openclaw@latest
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
Windows 安装(必须使用 WSL2)
# 需要 Windows 10 v2004+ 或 Windows 11
wsl --install
# 安装完成后重启,设置用户名密码
# 编辑 WSL 配置文件
sudo nano /etc/wsl.conf
# 添加以下内容
[boot]
systemd=true
# 重启 WSL2(PowerShell 中执行)
wsl --shutdown
wsl
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
Gateway 运行在 WSL2 内部,但你可以通过 Windows 浏览器访问:
http://localhost:18789/
所有 OpenClaw 命令必须在 WSL2 终端中运行,不要在 PowerShell 中执行。
WSL2 开机自启配置
# WSL2 重启后 systemd 服务不会自动启动,手动启动:
systemctl --user start openclaw-gateway
# 或配置 Windows 任务计划程序在开机时自动启动 WSL
# 详见 Windows Task Scheduler 相关文档
Docker 部署(推荐生产环境)
Docker 方式提供最强的隔离性、可复现性和安全性,是 VPS 或需要多服务共存环境的首选方案。
git clone https://github.com/openclaw/openclaw.git
cd openclaw
bash docker-setup.sh
脚本会自动:构建本地镜像 → 启动初始化向导容器 → 生成安全令牌 → 通过 Docker Compose 启动服务。
# docker-compose.yml 关键挂载
volumes:
- ~/.openclaw:/workspace/.openclaw # 配置、密钥
- ~/openclaw/workspace:/workspace/files # Agent 工作区
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'
VPS 云服务器部署
VPS 是推荐的 24/7 永久在线部署方案,消除了本地断电、网络波动等问题。
推荐 VPS 配置
| 场景 | CPU | RAM | 估算月费 |
|---|---|---|---|
| 个人轻度使用 | 1 核 | 2 GB | $5–8/月 |
| 个人正常使用(推荐) | 2 核 | 4 GB | $12–20/月 |
| 团队/多 Agent | 4 核 | 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
Raspberry Pi 部署(低功耗永久在线)
硬件选型建议
| 型号 | RAM | 推荐指数 | 备注 |
|---|---|---|---|
| Raspberry Pi 5 | 8 GB | ★★★★★ | 最佳选择,2-2.5x 于 Pi4 |
| Raspberry Pi 5 | 4 GB | ★★★★☆ | 满足浏览器自动化 |
| Raspberry Pi 4 | 8 GB | ★★★☆☆ | 可用,性能有限 |
| Raspberry Pi 4 | 4 GB | ★★★☆☆ | 基础功能可用 |
| Raspberry Pi 3 / Zero | 1 GB | ★☆☆☆☆ | 不推荐,内存不足 |
# 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 网关,笔记本/台式机作为节点,需要时连接使用本地摄像头、屏幕录制等能力。
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 安全指令。
初始化向导(openclaw onboard)详解
安装完成后,运行 openclaw onboard 进行交互式配置。向导依次询问:
选择 QuickStart(最快)或完整向导。首次推荐 QuickStart。
支持:Anthropic Claude / OpenAI GPT / Google Gemini / Ollama 本地模型 / Gradient AI 等。输入对应 API Key。
注意:不必选最强模型。高端模型 API 费用高,日常任务用经济模型即可,仅在需要时切换。
选择 Telegram / WhatsApp / Discord 等,跟随屏幕指引完成配对。
TUI(终端界面):适合首次设置,在 Hatch 模式中配置 Agent 人格。
Control UI(Web):通过浏览器访问 http://localhost:18789/。
技能包扩展 OpenClaw 的能力(网页搜索、Whisper 语音等)。首次可选 No,之后随时安装。安装时选择 npm 作为包管理器。
OpenClaw 新增了 Bash/Zsh 命令补全功能,大幅提升 CLI 使用效率,建议保持开启。
AI 模型配置
支持的 AI 提供商
| 提供商 | 典型模型 | 特点 |
|---|---|---|
| Anthropic | Claude Opus 4.6 / Sonnet 4.6 | 最强推理,官方首推 |
| OpenAI | GPT-4o / GPT-4o-mini | 通用性好 |
| Gemini Pro / Flash | 长上下文,价格适中 | |
| Ollama | Llama 3 / Mistral 等 | 完全本地,零 API 费用 |
| Gradient AI | 多种模型 | 专注 AI Infra |
多模型与故障转移配置
{
"agent": {
"model": "anthropic/claude-opus-4-6",
"thinkingLevel": "high"
},
"modelFallback": [
"openai/gpt-4o",
"openai/gpt-4o-mini"
]
}
切换为 Setup Token 方式(更稳定)
# 避免 OAuth 定期刷新失效,改用长期 API Token
openclaw models auth setup-token --provider anthropic
# 或粘贴 Token
openclaw models auth paste-token --provider anthropic
接入 Telegram
在 Telegram 搜索 @BotFather,发送 /newbot,输入机器人名称和用户名(必须以 _bot 结尾),复制生成的 Token。
在 openclaw onboard 中选择 Telegram,粘贴 Bot Token。
# 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。
接入 WhatsApp
在 openclaw onboard 中选择 WhatsApp 作为 Channel。
选择在终端显示 QR Code,然后在手机 WhatsApp 中操作:
设置 → 右上角 QR 图标 → 扫描码
如有提示,输入手机号完成验证。
{
"channels": {
"whatsapp": {
"allowFrom": ["+86138xxxx1234"]
}
}
}
接入 Discord
访问 Discord Developer Portal → New Application → Bot → 创建 Bot Token。
在 Bot 设置中启用 Message Content Intent,邀请 Bot 加入你的服务器。
{
"channels": {
"discord": {
"token": "YOUR_BOT_TOKEN",
"dm": { "policy": "pairing" }
}
}
}
接入 Slack
{
"channels": {
"slack": {
"dm": { "policy": "pairing" }
}
}
}
Slack 接入需要创建 Slack App,获取 Bot Token(xoxb-...)和 Signing Secret,在向导中按提示配置。
常见问题与解决方案
openclaw status --all,然后根据输出定位问题所在章节。症状:安装或启动时出现神秘的语法错误、SyntaxError: Unexpected token、Cannot 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
症状:安装成功但执行 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, 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,或 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 无响应;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 错误原因: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、node-gyp、vips 等关键词。
原因: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
问题 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
原因:凭证文件未正确持久化(尤其是 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
症状:日志确认收到消息,但用户侧无任何回复,且日志中没有错误信息。
原因(2026 已知 Bug):Telegram 群组 chat ID 为负数(如 -1001234567890),OpenClaw 默认的 AccountId 规范化器会去掉前导负号,导致会话路由 key 不匹配。
# 解决方案:升级到最新版本(已在近期版本修复)
npm install -g openclaw@latest
openclaw gateway restart
# 临时 workaround:在配置中明确指定群组 ID(含负号)
# openclaw.json 中加入你的群组负数 ID
原因:超过模型提供商的速率限制(Anthropic Tier 1 为 50 RPM);已知 Bug #5159 有时导致 OpenClaw 指数退避失效,形成激进的重试循环。
# 等待 retry-after 时间(通常 60 秒)
# 或配置模型故障转移
openclaw config set modelFallback '["openai/gpt-4o-mini"]'
# 完全重启 Gateway 以中断潜在的重试循环
openclaw gateway restart
原因:容器内 Node 用户(UID 1000)对挂载的宿主机目录没有写权限。
# 修复宿主机挂载目录的所有权
sudo chown -R 1000:1000 ~/.openclaw
sudo chown -R 1000:1000 ~/openclaw/workspace
docker compose restart
# 清理 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
症状:向导没有问完所有问题,导致 ~/.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
# 然后手动编辑配置文件
安全加固(重要)
安全核心原则
- 绝不以 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
后台服务与持久化运行
安装为系统服务
# 安装时加参数(推荐)
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 # 生成开机启动脚本
更新与升级
# 更新到最新版本
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
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 成本
诊断命令速查表
| 命令 | 用途 |
|---|---|
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 -f | systemd 服务日志 |
docker compose logs -f | Docker 容器日志 |
完整重装流程
# 当一切方法都失败时,完全清理重装
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
获取社区帮助
- 官方文档:docs.openclaw.ai
- GitHub Discussions:github.com/openclaw/openclaw/discussions
- 官方 Discord:通过 README 中的链接加入
- 提 Issue 时附带:
openclaw doctor完整输出、OS 版本、Node 版本、Docker 版本
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