
嗨,自动化构建者们。如果你准备安装 OpenClaw,但不确定选择哪条路径——CLI 安装、Docker 或其他,我已经在 macOS、Ubuntu 和 Windows WSL2 上跑过每个主要的安装路径。
我会引导你通过决策点、特定平台的步骤、真正重要的验证检查,以及如果出现问题如何干净地卸载。以下是在三台不同机器上工作的(和不起作用的)方法。

推荐用于:
优势:
openclaw gateway logs)npm install -g openclaw@latest设置时间: 如果你已安装 Node.js 22+,大约 5-10 分钟。
推荐用于:
优点:
设置时间: 包括 Docker 安装和镜像拉取在内需 10-15 分钟。
根据官方 OpenClaw 文档,基于 Docker 的安装支持 Nix 模式,用于声明性配置和每次会话的沙盒。

检查 Node.js 版本:
node --version
# Must show v22.x.x or higher
If you don't have Node 22+, install via Homebrew:
brew install node@22
brew link node@22
Or use nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
nvm install 22 && nvm use 22
# Install OpenClaw globally
npm install -g openclaw@latest
# Verify installation
openclaw --version
# Should show: openclaw/2026.1.29
# Run onboarding wizard (installs launchd daemon)
openclaw onboard --install-daemon
What --install-daemon does:
~/Library/LaunchAgents/com.openclaw.gateway.plist# Pull latest image
docker pull openclaw/openclaw:latest
# Run with volume mounts for config persistence
docker run -d \
--name openclaw-gateway \
-v ~/.openclaw:/root/.openclaw \
-p 18789:18789 \
openclaw/openclaw:latest \
gateway --port 18789
Per GitHub issue #1679, Docker deployments require explicit auth token configuration when accessed via reverse proxy.
~/.openclaw/
├── openclaw.json # Main config (model, channels, tools)
├── state/ # Session data, message history
├── workspace/ # Skills and custom tools
└── credentials/ # OAuth tokens, API keys
~/Library/LaunchAgents/
└── com.openclaw.gateway.plist # macOS daemon config

OpenClaw does not support native Windows. The WhatsApp Web protocol, iMessage integration, and Unix-based process management all assume a POSIX environment.
According to the Windows platform guide, WSL2 (Windows Subsystem for Linux) is the only supported path for Windows users.
# Run in PowerShell as Administrator
wsl --install
This installs Ubuntu 24.04 by default. Restart your computer when prompted.
wsl --list --verbose
# Should show VERSION = 2
If it shows VERSION = 1, upgrade:
wsl --set-version Ubuntu 2
Once inside Ubuntu (WSL2), follow the Linux install steps:
# Update packages
sudo apt update && sudo apt upgrade -y
# Install Node.js 22
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
# Verify Node version
node --version
# Install OpenClaw
npm install -g openclaw@latest
# Run onboarding
openclaw onboard --install-daemon
Issue 1: WSL network access from Windows
By default, WSL2 uses a virtualized network. To access the OpenClaw web dashboard from Windows browser:
ip addr show eth0 | grep inet
# Example output: inet 172.20.224.5/20
http://172.20.224.5:18789/ (replace with your WSL IP)Issue 2: File system performance
Store ~/.openclaw/ inside WSL file system (/home/username/), not Windows (/mnt/c/). Cross-system file access is 10-20x slower.
Issue 3: systemd not running
Some WSL2 distributions don't enable systemd by default. Check:
systemctl --version
If it fails, enable systemd in /etc/wsl.conf:
sudo nano /etc/wsl.conf
Add:
[boot]
systemd=true
Restart WSL:
wsl --shutdown

Ubuntu/Debian:
sudo apt update
sudo apt install -y curl git build-essential
Fedora:
sudo dnf install -y curl git gcc-c++ make
Arch:
sudo pacman -S curl git base-devel
# Install Node.js 22
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
# Or use nvm for user-level install
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
source ~/.bashrc
nvm install 22 && nvm use 22
# Install OpenClaw
npm install -g openclaw@latest
# Run onboarding (installs systemd service)
openclaw onboard --install-daemon
The --install-daemon flag creates a systemd user service automatically. Verify it's running:
systemctl --user status openclaw-gateway
Expected output:
● openclaw-gateway.service - OpenClaw Gateway
Loaded: loaded (/home/user/.config/systemd/user/openclaw-gateway.service)
Active: active (running)
Manual service management:
# Start
systemctl --user start openclaw-gateway
# Stop
systemctl --user stop openclaw-gateway
# Restart
systemctl --user restart openclaw-gateway
# View logs
journalctl --user -u openclaw-gateway -f
Enable auto-start on boot:
systemctl --user enable openclaw-gateway
sudo loginctl enable-linger $USER
The enable-linger command allows user services to start before login, which is necessary for headless servers.

openclaw --version
Expected output:
openclaw/2026.1.29
If you see command not found, verify npm global bin is in your PATH:
echo $PATH | grep npm
Add it if missing:
echo 'export PATH="$PATH:$(npm config get prefix)/bin"' >> ~/.bashrc
source ~/.bashrc
openclaw doctor
Healthy installation output:
✅ CLI version: 2026.1.29
✅ Node.js: v22.11.0
✅ Gateway service: running (PID 12345)
✅ Config: ~/.openclaw/openclaw.json
✅ Auth: Anthropic API key configured
⚠️ DM policy: pairing (requires approval for unknown senders)
ℹ️ Channels: telegram, whatsapp (2 connected)
Common warnings:
⚠️ Gateway exposed on 0.0.0.0 - See security guide⚠️ Auth mode: none - This is removed in v2026.1.29+ (per release notes)# View recent Gateway logs
openclaw gateway logs --tail 50
# Follow logs in real-time
openclaw gateway logs --follow
Key log patterns to recognize:
Successful startup:
2026-01-30T12:00:00.000Z [gateway] agent model: anthropic/claude-sonnet-4-5-20250929
2026-01-30T12:00:00.100Z [gateway] listening on ws://127.0.0.1:18789 (PID 12345)
2026-01-30T12:00:00.200Z [canvas] host mounted at http://127.0.0.1:18793/__openclaw__/canvas/
Authentication working:
2026-01-30T12:01:00.000Z [telegram] connected @yourbotname
2026-01-30T12:01:00.100Z [whatsapp] paired device: Chrome (Linux)
Problem indicators:
Error: Missing API key for Anthropic
[ws] unauthorized conn=xxx reason=token_missing
Error: EACCES: permission denied
Minimal working test:
Hello
Hello! I'm your OpenClaw assistant. How can I help you today?
openclaw gateway logs --tail 10
[telegram] ← message from @yourusername
[agent] generating response (model: claude-sonnet-4-5)
[telegram] → reply sent
If you see this flow, your installation is working correctly.
macOS:
# Stop and remove daemon
openclaw gateway stop
launchctl unload ~/Library/LaunchAgents/com.openclaw.gateway.plist
rm ~/Library/LaunchAgents/com.openclaw.gateway.plist
# Remove OpenClaw package
npm uninstall -g openclaw
# Remove config and data (optional)
rm -rf ~/.openclaw
Linux:
# Stop and disable service
systemctl --user stop openclaw-gateway
systemctl --user disable openclaw-gateway
rm ~/.config/systemd/user/openclaw-gateway.service
# Remove package
npm uninstall -g openclaw
# Remove config and data (optional)
rm -rf ~/.openclaw
Windows (WSL2):
Same as Linux steps above, run inside Ubuntu WSL2 terminal.
Option 1: Delete config only (preserves session history)
mv ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.backup
openclaw onboard
Option 2: Full state reset (fresh start)
openclaw gateway stop
mv ~/.openclaw ~/.openclaw.backup
openclaw onboard --install-daemon
Option 3: Reset specific channels
rm ~/.openclaw/credentials/telegram.json
openclaw channels login
Reset if:
openclaw doctor shows state version mismatch)Don't reset if:
~/.openclaw/openclaw.json directly)systemctl --user status openclaw-gateway first)openclaw pairing list to see pending pairs)I've hit all these scenarios testing across platforms. The most common mistake is resetting config when you just need to restart the daemon—save yourself 10 minutes and check service status first.
Prefer a guided setup? At Macaron, we built an AI that remembers your context and creates personalized mini-apps from a single sentence—no technical setup required. If you want to test how conversation turns into custom tools for daily tasks like meal planning or habit tracking, sign up and run your first automation instantly with Macaron.
Q: Do I need Node.js 22+ or can I use an older version?
Node.js 22+ is required. Older versions won't work—you'll get syntax errors immediately.
问:网关显示「运行中」,但我无法访问仪表板。出了什么问题?
在 v2026.1.29 中,默认绑定已更改为仅限本地主机。请从同一台机器访问 http://127.0.0.1:18789,或者设置 Tailscale 进行远程访问。
问:WhatsApp 一直断线重连。我该如何解决?
删除凭据并重新配对:rm -rf ~/.openclaw/credentials/whatsapp 然后再次运行 openclaw channels login --channel whatsapp。
问:安装后找不到 openclaw 命令。
将 npm 的全局 bin 添加到 PATH:echo 'export PATH="$PATH:$(npm config get prefix)/bin"' >> ~/.bashrc && source ~/.bashrc
问:将网关暴露在互联网上安全吗?
不安全。请使用 Tailscale。直接暴露于互联网在 2026 年 1 月存在多项严重漏洞。
问:我可以在 Raspberry Pi 或便宜的 VPS 上运行吗?
可以。需要 1GB 以上的内存。请按照 Linux 的安装步骤进行操作——Docker 也可以运行,但会占用更多内存。