OpenClaw 完整安装教程

目录

  1. 简介
  2. 系统要求
  3. Windows WSL2 安装
  4. Linux 子系统安装
  5. Docker 部署方式
  6. 配置与测试
  7. 常见问题排查
  8. 进阶配置

简介

OpenClaw 是一个开源的个人 AI 助手网关(MIT 许可证),可以将你喜欢的大语言模型(Claude、GPT、Gemini 或本地 Ollama 模型)连接到各种消息平台,如 WhatsApp、Telegram、Slack、Discord、Signal、iMessage 等。

核心特性:

  • 支持多个 AI 提供商(Anthropic Claude、OpenAI GPT、Google Gemini、本地模型)
  • 连接多个消息平台
  • 浏览器自动化控制
  • 完全开源,可自托管
  • 低资源占用(150-300 MB RAM)

系统要求

最低配置

  • RAM: 2 GB(推荐 4 GB)
  • 磁盘空间: 20 GB
  • Node.js: v22.0.0 或更高版本
  • 操作系统: macOS、Linux、Windows WSL2

推荐配置(24/7 运行)

  • RAM: 4-8 GB
  • CPU: 2-4 vCPU
  • 磁盘空间: 40-80 GB SSD
  • 网络: 稳定的互联网连接

Windows WSL2 安装

第一步:启用 WSL2

  1. 以管理员身份打开 PowerShell
  2. 运行以下命令:
wsl --install
  1. 重启计算机
  2. 重启后,Ubuntu 会自动启动并要求创建用户名和密码

第二步:更新系统并安装 Node.js

在 WSL2 Ubuntu 终端中运行:

# 更新包管理器
sudo apt update && sudo apt upgrade -y

# 安装必要的依赖
sudo apt install -y curl wget git build-essential

# 安装 Node.js 22
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs

# 验证安装
node --version  # 应显示 v22.x.x
npm --version

第三步:安装 OpenClaw

使用官方安装脚本(推荐):

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

或使用 npm 全局安装:

npm install -g openclaw@latest

第四步:运行配置向导

openclaw onboard

配置向导会询问:

  1. 网关模式: 选择 “Local gateway (this machine)”
  2. AI 提供商: 选择 Anthropic (Claude)、OpenAI (GPT) 或其他
  3. API 密钥: 输入你的 API 密钥
  4. 消息平台: 选择要连接的平台(Telegram、WhatsApp 等)

第五步:验证安装

# 运行诊断工具
openclaw doctor

# 检查网关状态
openclaw gateway status

# 启动网关(如果未运行)
openclaw gateway start

第六步:访问控制面板

在 Windows 浏览器中打开:

http://localhost:18789

Linux 子系统安装

Ubuntu/Debian 系统

第一步:检查 Node.js 版本
node --version

如果版本低于 v22.0.0 或未安装,执行:

# 添加 NodeSource 仓库
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -

# 安装 Node.js
sudo apt install -y nodejs

# 安装构建工具
sudo apt install -y build-essential
第二步:使用安装脚本
curl -fsSL https://openclaw.ai/install.sh | bash

安装脚本会自动:

  • 检测系统要求
  • 下载最新版本
  • 安装 openclaw 二进制文件
  • 创建配置目录 ~/.openclaw
第三步:运行配置向导
openclaw onboard
第四步:设置系统服务(可选,用于开机自启)

创建 systemd 服务文件:

sudo nano /etc/systemd/system/openclaw.service

添加以下内容:

[Unit]
Description=OpenClaw AI Assistant Gateway
After=network.target

[Service]
Type=simple
User=你的用户名
WorkingDirectory=/home/你的用户名
ExecStart=/usr/local/bin/openclaw gateway start
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

启用并启动服务:

sudo systemctl daemon-reload
sudo systemctl enable openclaw
sudo systemctl start openclaw
sudo systemctl status openclaw

查看日志:

journalctl -u openclaw -f

Fedora/RHEL 系统

# 安装 Node.js
sudo dnf install -y nodejs npm

# 验证版本
node --version

# 如果版本不够,使用 nvm 安装
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install 22
nvm use 22

# 安装 OpenClaw
curl -fsSL https://openclaw.ai/install.sh | bash
openclaw onboard

Arch Linux 系统

# 安装 Node.js
sudo pacman -S nodejs npm

# 安装 OpenClaw
curl -fsSL https://openclaw.ai/install.sh | bash
openclaw onboard

Docker 部署方式

Docker 部署提供了最佳的隔离性和可维护性,特别适合生产环境和 VPS 部署。

第一步:安装 Docker

Linux 系统:
# 使用官方便捷脚本
curl -fsSL https://get.docker.com | sh

# 将当前用户添加到 docker 组
sudo usermod -aG docker $USER

# 重新登录或运行
newgrp docker

# 验证安装
docker --version
docker compose version
Windows WSL2:

在 Windows 上安装 Docker Desktop,它会自动集成 WSL2。

第二步:创建项目目录

mkdir -p ~/openclaw-docker
cd ~/openclaw-docker

第三步:创建 docker-compose.yml

nano docker-compose.yml

添加以下内容:

version: '3.8'

services:
  openclaw-gateway:
    image: openclaw/openclaw:latest
    container_name: openclaw-gateway
    restart: unless-stopped
    ports:
      - "127.0.0.1:18789:18789"  # 网关端口
      - "127.0.0.1:18792:18792"  # 浏览器 CDP Relay
    volumes:
      - ./data:/home/node/.openclaw
      - ./workspace:/workspace
    environment:
      - NODE_ENV=production
    env_file:
      - .env
    mem_limit: 1g
    cpus: 2

第四步:创建环境变量文件

nano .env

添加你的配置:

# AI 提供商配置(至少选择一个)
ANTHROPIC_API_KEY=sk-ant-your-key-here
# OPENAI_API_KEY=sk-your-key-here
# GOOGLE_API_KEY=your-key-here

# 消息平台配置(根据需要添加)
TELEGRAM_BOT_TOKEN=your-telegram-bot-token
# WHATSAPP_SESSION_ID=your-session-id
# DISCORD_BOT_TOKEN=your-discord-token
# SLACK_BOT_TOKEN=xoxb-your-slack-token

# 网关配置
GATEWAY_PORT=18789

# 速率限制(防止 API 费用失控)
RATE_LIMIT_PER_USER=50
RATE_LIMIT_WINDOW=3600
DAILY_COST_LIMIT=5.00

第五步:启动容器

# 启动服务
docker compose up -d

# 查看日志
docker compose logs -f openclaw-gateway

# 检查状态
docker compose ps

第六步:运行配置向导(首次)

docker compose exec openclaw-gateway openclaw onboard

Docker 管理命令

# 停止服务
docker compose down

# 重启服务
docker compose restart

# 更新到最新版本
docker compose pull
docker compose up -d

# 查看资源使用
docker stats openclaw-gateway

# 进入容器 shell
docker compose exec openclaw-gateway bash

# 备份数据
tar -czf openclaw-backup-$(date +%Y%m%d).tar.gz ./data

配置与测试

获取 API 密钥

Anthropic Claude
  1. 访问 console.anthropic.com
  2. 注册账号并登录
  3. 进入 API Keys 页面
  4. 创建新密钥(格式:sk-ant-...
OpenAI GPT
  1. 访问 platform.openai.com
  2. 登录账号
  3. 进入 API keys 页面
  4. 创建新密钥(格式:sk-...
Google Gemini
  1. 访问 ai.google.dev
  2. 获取 API 密钥

配置 Telegram Bot

  1. 在 Telegram 中搜索 @BotFather
  2. 发送 /newbot 命令
  3. 按提示设置机器人名称和用户名
  4. 复制获得的 token(格式:123456:ABC-DEF...
  5. 将 token 添加到配置中
openclaw channels add telegram
# 粘贴 token

# 批准配对
openclaw pairing approve telegram <code>

配置 WhatsApp

openclaw channels login whatsapp

终端会显示二维码,使用手机 WhatsApp 扫描:

  1. 打开 WhatsApp
  2. 设置 > 已连接的设备
  3. 连接设备
  4. 扫描二维码

测试安装

1. 运行诊断
openclaw doctor

健康的输出应该显示:

[OK] Node.js v22.11.0 (minimum: v22.0.0)
[OK] OpenClaw v2026.2.6
[OK] Configuration file found at ~/.openclaw/.env
[OK] Anthropic API key valid (Claude model accessible)
[OK] Telegram bot connected (username: @YourBotName)
[OK] Gateway listening on 127.0.0.1:18789
2. 发送测试消息

在你配置的消息平台(Telegram、WhatsApp 等)中发送:

你好,你能工作吗?

正常情况下,2-5 秒内会收到 AI 生成的回复。

3. 测试多轮对话

发送几条连续的消息,确认 AI 能记住上下文:

我的名字是张三
你记住我的名字了吗?
4. 访问 Web 控制面板

打开浏览器访问:

http://localhost:18789

控制面板提供:

  • 实时对话监控
  • 使用统计
  • 配置管理
  • 日志查看

常见问题排查

问题 1:API 密钥无效

错误信息: ANTHROPIC_API_KEY is invalid or expired

解决方案:

  1. 确认密钥格式正确(以 sk-ant- 开头)
  2. 在提供商控制台检查密钥是否被撤销
  3. 等待 60 秒让密钥传播
  4. 重新生成新密钥
# 重新配置
openclaw config set ANTHROPIC_API_KEY sk-ant-your-new-key
openclaw gateway restart

问题 2:权限被拒绝

错误信息: EACCES permission denied

解决方案:

# Linux/WSL2
sudo chown -R $USER:$USER ~/.openclaw
chmod 700 ~/.openclaw
chmod 600 ~/.openclaw/.env

# 或使用 sudo 安装
sudo npm install -g openclaw@latest

问题 3:端口已被占用

错误信息: Port 18789 already in use

解决方案:

# 查找占用端口的进程
lsof -i :18789
# 或
netstat -tulpn | grep 18789

# 终止进程
kill -9 <PID>

# 或更改端口
export GATEWAY_PORT=18790
openclaw gateway start

问题 4:速率限制

错误信息: 429 Too Many Requests

解决方案:

  • 等待几分钟后重试
  • 检查 API 提供商的速率限制
  • .env 中配置速率限制:
RATE_LIMIT_PER_USER=30
RATE_LIMIT_WINDOW=3600

问题 5:Node.js 版本过旧

解决方案:

# 使用 nvm 管理 Node.js 版本
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install 22
nvm use 22
nvm alias default 22

问题 6:WebSocket 连接失败

解决方案:

  • 检查防火墙设置
  • 确认网络允许 WebSocket 连接
  • 尝试使用长轮询模式作为备选

问题 7:Docker 容器无法启动

解决方案:

# 查看详细日志
docker compose logs openclaw-gateway

# 检查配置文件
docker compose config

# 重新构建
docker compose down
docker compose up -d --force-recreate

# 检查资源限制
docker stats

诊断命令参考

# 查看完整配置
openclaw config list

# 查看网关日志
openclaw gateway logs

# 查看最近 50 行日志
openclaw gateway logs --tail 50

# 实时监控日志
openclaw gateway logs --follow

# 检查通道状态
openclaw channels list

# 测试 API 连接
openclaw test api

# 查看使用统计
openclaw metrics

进阶配置

多模型路由

根据任务类型使用不同的模型以优化成本:

编辑 ~/.openclaw/openclaw.json

{
  "routing": {
    "rules": [
      {
        "pattern": "简单|快速|是什么",
        "model": "claude-3-haiku",
        "priority": 1
      },
      {
        "pattern": "代码|编程|分析",
        "model": "claude-3-5-sonnet",
        "priority": 2
      },
      {
        "default": true,
        "model": "gpt-4o",
        "priority": 0
      }
    ]
  }
}

成本控制

{
  "costControl": {
    "dailyLimit": 5.00,
    "monthlyLimit": 100.00,
    "alertThreshold": 0.8,
    "notifications": {
      "telegram": true,
      "email": "your@email.com"
    }
  }
}

浏览器自动化

启用浏览器控制功能:

{
  "browser": {
    "enabled": true,
    "profile": "managed",
    "headless": true,
    "maxTabs": 5
  }
}

使用示例:

帮我打开 Google 搜索 OpenClaw 文档
截取当前页面的屏幕截图
填写 example.com 上的联系表单

本地模型(Ollama)

完全私密、零 API 成本的方案:

# 安装 Ollama
curl -fsSL https://ollama.ai/install.sh | sh

# 下载模型
ollama pull llama3:70b

# 配置 OpenClaw
openclaw config set OLLAMA_BASE_URL http://localhost:11434
openclaw config set OLLAMA_MODEL llama3:70b
openclaw config set AI_PROVIDER ollama

备份与恢复

备份
# 创建备份
tar -czf openclaw-backup-$(date +%Y%m%d-%H%M%S).tar.gz \
  ~/.openclaw \
  --exclude='*.log' \
  --exclude='cache/*'

# 备份到远程服务器
rsync -avz ~/.openclaw/ user@backup-server:/backups/openclaw/
恢复
# 停止服务
openclaw gateway stop

# 恢复备份
tar -xzf openclaw-backup-20260209-120000.tar.gz -C ~/

# 重启服务
openclaw gateway start

更新 OpenClaw

# 检查更新
openclaw update check

# 备份当前配置
tar -czf openclaw-backup-before-update.tar.gz ~/.openclaw

# 更新(npm 安装)
npm update -g openclaw

# 更新(Docker)
cd ~/openclaw-docker
docker compose pull
docker compose up -d

# 验证更新
openclaw --version
openclaw doctor

性能优化

限制内存使用
# 设置 Node.js 堆大小
export NODE_OPTIONS="--max-old-space-size=512"
openclaw gateway start
启用响应流式传输
{
  "streaming": {
    "enabled": true,
    "chunkSize": 50
  }
}
日志轮转
# 创建 logrotate 配置
sudo nano /etc/logrotate.d/openclaw

添加:

/home/你的用户名/.openclaw/logs/*.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    create 0640 你的用户名 你的用户名
}

安全加固

1. 保护配置文件
chmod 700 ~/.openclaw
chmod 600 ~/.openclaw/.env
chmod 600 ~/.openclaw/credentials/*
2. 使用环境变量而非配置文件
# 不在文件中存储密钥
export ANTHROPIC_API_KEY="sk-ant-..."
export TELEGRAM_BOT_TOKEN="123456:ABC..."
openclaw gateway start
3. 启用访问令牌
# 生成访问令牌
openclaw gateway token

# 访问控制面板时需要令牌
http://localhost:18789/?token=your-generated-token
4. 防火墙配置
# 仅允许本地访问
sudo ufw allow from 127.0.0.1 to any port 18789

# 如需远程访问,使用 SSH 隧道
ssh -L 18789:localhost:18789 user@your-server

监控与告警

使用 systemd 监控(Linux)
# 查看服务状态
systemctl status openclaw

# 设置失败时重启
sudo systemctl edit openclaw

添加:

[Service]
Restart=always
RestartSec=10
资源监控
# 实时监控
watch -n 5 'ps aux | grep openclaw'

# Docker 监控
docker stats openclaw-gateway

# 查看 API 使用情况
openclaw metrics --format json

总结

你现在已经掌握了在 Windows WSL2 和 Linux 系统上安装和配置 OpenClaw 的完整流程。

快速回顾:

  1. Windows 用户: 使用 WSL2 + Ubuntu,然后按 Linux 步骤操作
  2. Linux 用户: 直接使用安装脚本或 npm 安装
  3. 生产环境: 推荐使用 Docker Compose 部署
  4. 测试: 使用 openclaw doctor 诊断问题
  5. 维护: 定期备份、更新和监控

下一步建议:

  1. 连接第二个消息平台(如果已有 Telegram,添加 WhatsApp)
  2. 配置模型路由以优化成本
  3. 探索浏览器自动化功能
  4. 加入 OpenClaw 社区获取支持

有用的资源:

成本参考:

  • 本地运行:$0(仅 API 费用)
  • VPS 托管:$5-20/月
  • API 费用:根据使用量,Claude/GPT 约 $0.25-3/百万 token

祝你使用愉快!如有问题,请参考故障排查部分或访问社区寻求帮助。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐