1. 项目概述:OpenClaw部署全攻略

如果你正在寻找一个能让你完全掌控代码、文件系统,并能通过自然语言直接操作服务器的AI助手,那么OpenClaw绝对值得你花时间研究。简单来说,OpenClaw是一个开源的AI代理框架,它允许你将像Claude、GPT这样的强大语言模型,变成一个能真正理解你的指令、执行代码、读写文件、甚至管理你整个服务器的“数字员工”。这和我们平时用的那些只能聊天的AI完全不同,它更像是一个能听懂人话的超级终端。

我花了将近两周时间,在从云服务器到树莓派的各种环境里反复折腾OpenClaw的部署,踩了不少坑,也总结出了一套最稳当、最高效的部署方案。这篇内容就是把我这段时间的实战经验,从零开始,掰开揉碎了讲给你听。无论你是想快速体验,还是追求极致性价比的自托管玩家,甚至是喜欢在树莓派上捣鼓的硬件爱好者,都能在这里找到适合你的路径。我的核心目标就一个:让你用最少的时间、最清晰的步骤,把OpenClaw稳稳当当地跑起来,真正用上这个强大的工具。

2. 部署方案深度解析与选型指南

面对一个开源项目,尤其是像OpenClaw这样涉及服务端部署的,第一步往往不是急着敲命令,而是先搞清楚“我该怎么把它跑起来”。官方文档和社区提供了多种路径,但每种路径背后的成本、复杂度和适用场景天差地别。盲目选择很容易中途受挫。下面我就结合自己的实测经验,帮你彻底理清这几种主流部署方式的本质区别和选择逻辑。

2.1 一键托管方案:MyClaw.ai的价值与定位

MyClaw.ai是OpenClaw官方推出的托管服务平台。很多人第一反应是:“一个开源项目,为什么还要用付费托管?” 这恰恰是理解其价值的关键。MyClaw.ai解决的并非“能不能安装”的问题,而是“如何以零运维成本获得一个生产就绪、功能完整且持续更新的OpenClaw实例”。

它的核心优势在于“开箱即用”的完整性:

  1. 真正的服务器,而非沙箱 :你获得的不是一个功能受限的API端点,而是一台拥有root权限、完整Linux环境的VPS。这意味着你的AI助手可以执行任何 apt-get install git clone npm run 等命令,拥有对自身代码和环境的完全控制权。这是它区别于绝大多数AI SaaS产品的根本。
  2. 复杂的后端集成被简化 :与Telegram、Discord等通讯软件的后端对接,涉及到Webhook配置、SSL证书、反向代理、安全令牌管理等一堆琐碎且容易出错的操作。MyClaw.ai将这些全部内置并自动化了,你只需要在界面点击几下,或者输入一个Bot Token,通道就通了。
  3. 持续的维护与更新 :开源项目版本迭代快,依赖更新频繁。自己托管需要你时刻关注GitHub releases,手动执行更新操作,处理可能出现的依赖冲突。MyClaw.ai负责所有底层基础设施和OpenClaw本身的更新,你永远在用最新稳定版,且理论上无停机时间。
  4. 技能市场的无缝集成 :OpenClaw的扩展性体现在“技能”上。社区开发的技能包存放在ClawHub。在自托管环境中,安装技能可能需要手动克隆仓库、处理依赖。MyClaw.ai将其整合为类似应用商店的体验,一键安装即可使用。

我的实操心得 :如果你预算允许(每月19美元起),且核心需求是快速将OpenClaw投入实际使用(例如管理你的项目、处理日常自动化任务),而不是学习Linux运维,那么MyClaw.ai是性价比最高的选择。它把至少10个小时的安装、调试、维护时间成本,转换成了每月一杯咖啡的金钱成本。尤其适合创业者、小型团队或者希望将AI作为生产力工具直接使用的非技术背景用户。

2.2 自托管方案全景图:从云到本地

当你决定自托管,世界就变得广阔而复杂了。自托管的核心乐趣和挑战在于“完全控制”,但随之而来的是对部署平台、成本、网络和持续维护的全权负责。我们可以把自托管环境分为几个大类:

2.2.1 传统云VPS:稳定与灵活的基石 以Hetzner、DigitalOcean、Linode、Vultr为代表的云服务商,提供的是最经典的虚拟私有服务器。你获得一个干净的Linux系统(通常是Ubuntu或Debian),拥有一个公网IP和root权限,剩下的一切都需要你自己搭建。

  • Hetzner :以极高的性价比著称,尤其在欧洲机房。5欧元左右的月付机型足以流畅运行OpenClaw。它的优势是硬件性能给得足,价格透明。缺点是对于国内用户,部分机房网络可能不够理想,且后台管理界面相对朴素。
  • DigitalOcean :开发者体验的标杆。文档极其完善,操作界面直观,全球机房分布较广。虽然同等配置价格略高于Hetzner,但其稳定的网络、丰富的One-Click应用镜像和强大的社区,能为你节省大量排查怪问题的时间。
  • 选择逻辑 :追求极致性价比且有一定Linux基础,选Hetzner;希望部署过程更顺畅、减少环境问题困扰,选DigitalOcean。对于OpenClaw,建议选择至少1vCPU、2GB内存、20GB SSD的配置,这是保证基础体验的底线。

2.2.2 大厂免费/优惠套餐:羊毛党的乐园 Oracle Cloud的“始终免费”套餐是其中的明星产品。它提供最多4核ARM CPU、24GB内存和200GB存储的永久免费实例。这配置跑OpenClaw绰绰有余。

  • 优势 :真正的零成本,高性能ARM架构。
  • 陷阱与挑战
    1. 资源可能被回收 :虽然叫“始终免费”,但如果你长时间闲置实例(CPU利用率极低),Oracle有权回收资源。需要保持一定的活跃度。
    2. ARM架构兼容性 :OpenClaw基于Node.js,而Node.js对ARM支持很好,所以这不是问题。但某些你未来可能想通过OpenClaw安装的第三方工具或Docker镜像,可能需要确认是否有ARM版本。
    3. 注册与开通难度 :Oracle对信用卡验证比较严格,有时会拒绝虚拟信用卡或某些地区的卡,开通成功率不是100%。
  • 我的建议 :如果你成功申请到了,这是一个绝佳的测试和长期轻量使用的平台。务必在创建实例时选择Ubuntu 22.04或20.04的ARM镜像,并按照指南配置好SSH密钥。

2.2.3 容器化与PaaS平台:现代应用部署思维 以Fly.io、Railway、Render为代表的平台,倡导的是以应用为中心、无需管理操作系统的部署方式。你把代码(或Docker镜像)交给它们,它们负责构建、运行和暴露网络。

  • Fly.io :特色是能轻松将容器部署到全球边缘节点,自动生成HTTPS证书。它用起来很像一个加强版的 docker run ,但提供了负载均衡、持久化存储卷等高级功能。部署OpenClaw到Fly.io,你获得的是一个有公网IP、自带SSL的容器服务。
  • 优势 :无需关心服务器系统更新、安全补丁;配置声明文件( fly.toml )即可实现版本控制和一键回滚;网络配置简单。
  • 注意事项 :这类平台通常是按资源使用量(CPU时间、内存、出站流量)计费。OpenClaw作为常驻服务,7x24小时运行,成本可能高于固定月费的VPS。此外,对宿主机文件系统的直接访问会受到更多限制,更适合OpenClaw的核心服务,如果你需要它操作一个复杂的外部工作区,配置起来会更麻烦。

2.2.4 本地硬件:树莓派与家庭服务器 在树莓派或闲置的x86电脑上部署,是隐私性最强、硬件一次投入、长期边际成本为零的方案。

  • 树莓派 :低功耗、静音、物理可控。Raspberry Pi 4/5的性能运行OpenClaw网关服务完全足够。
  • 核心挑战
    1. 网络穿透 :你的树莓派在家里的路由器后面,没有公网IP。如何从外部互联网(比如你在公司)访问它?这是最大难点。解决方案包括:内网穿透工具(如Tailscale、Zerotier)、路由器配置DDNS和端口转发(需要公网IP)、或使用云服务器做反向代理中继。
    2. 电力与稳定性 :需要保证设备不断电、网络不中断。家用环境可能面临意外断电、网络波动等问题。
    3. 性能边界 :不要在树莓派上尝试运行本地大语言模型(如Llama系列),它的算力不足以支撑。树莓派上的OpenClaw应该纯粹作为“网关”或“代理”,通过API调用云端模型(如Claude、GPT-4),这才是合理的分工。
  • 适用场景 :极客玩家、注重数据隐私、希望将AI与家庭物联网结合、或纯粹享受本地化部署乐趣的用户。

2.3 决策矩阵:我该如何选择?

光看特点还不够,我们需要一个更直观的对比。下面的表格综合了成本、难度、维护量和适用性,你可以对号入座。

部署方式 月度成本 初始设置时间 持续维护需求 最适合的人群 核心考量
MyClaw.ai $19 - $79 < 5分钟 所有人,尤其是非运维背景、追求效率的用户 用金钱换时间和稳定性,享受完整服务。
Oracle Cloud (免费套餐) $0 30-60分钟 中(需防回收,处理ARM兼容问题) 技术爱好者、学生、想零成本深度体验的用户 羊毛虽好,有门槛和不确定性,适合做实验场。
Hetzner / DigitalOcean $5 - $10 20-40分钟 中(系统安全更新、服务监控) 开发者、有Linux基础的用户、需要稳定可控环境的项目 性价比与可控性的平衡点,是自托管的“标准答案”。
Fly.io / Railway $10 - $20+ (按量) 15-30分钟 低(平台代管基础设施) 熟悉容器化、微服务架构的开发者 现代化部署体验,适合将OpenClaw作为应用组件集成。
树莓派 (本地) ~$50 (一次性) 30-60分钟+ (解决网络穿透、硬件维护) 硬件极客、隐私敏感者、家庭实验室玩家 终极控制权与最大挑战并存,是学习网络和运维的绝佳课题。

避坑指南 :对于绝大多数第一次接触OpenClaw的国内用户,如果你的主要目标是 尽快用起来 ,我强烈建议两条路:要么直接上 MyClaw.ai 省心省力;要么选择 DigitalOcean 腾讯云/阿里云的轻量应用服务器 (有海外节点为佳),因为它们的网络优化和中文文档支持更好,能避免初次部署时就被网络问题劝退。

3. 核心部署流程实操详解

理论分析完毕,现在我们进入实战环节。我将以 在DigitalOcean Ubuntu服务器上部署 作为标准流程进行超详细拆解,因为这个环境最普遍,遇到的问题也最具代表性。其他平台(如Hetzner、Oracle Cloud)的步骤大同小异,我会在关键点指出差异。

3.1 前期准备:服务器初始化与安全加固

拿到一台全新的VPS,不要急着安装OpenClaw。一个安全、干净的基础环境是长期稳定运行的前提。

3.1.1 服务器创建与基础登录

  1. 在DigitalOcean创建Droplet。选择Ubuntu 22.04 LTS或24.04 LTS镜像。计划选择最基础的“Regular Intel with SSD”即可, 最低配置请选择1GB内存/1vCPU ,但强烈建议选择2GB内存或以上的配置,因为Node.js和后续运行的服务对内存有一定要求。选择你的首选机房(建议新加坡或旧金山,对国内连接相对友好)。
  2. 创建SSH密钥对并添加到Droplet。 绝对不要使用密码登录 ,这是最基本的安全实践。
  3. 创建完成后,你会获得一个公网IP地址。使用终端连接:
    ssh root@你的服务器IP
    
    首次连接会提示确认主机密钥,输入 yes 即可。

3.1.2 系统更新与基础工具安装 登录后,第一件事是更新系统软件包列表并升级现有软件:

apt update && apt upgrade -y

这个命令中, apt update 是刷新软件源索引, apt upgrade -y 是执行升级, -y 参数表示自动确认所有提示。升级完成后,建议重启一次以确保所有更新生效: reboot 。等待一分钟后再重新SSH连接。

安装后续可能需要的工具:

apt install -y curl wget git vim htop net-tools ufw
  • curl , wget : 下载文件必备。
  • git : 克隆代码仓库。
  • vim : 文本编辑器(如果你习惯 nano 也可以安装 nano )。
  • htop : 一个强大的进程监控工具,比 top 更直观。
  • net-tools : 包含 netstat 等网络诊断工具。
  • ufw : 防火墙管理工具(Uncomplicated Firewall)。

3.1.3 配置防火墙(UFW) 默认情况下,云服务器的所有端口都是开放的,这非常危险。我们需要用防火墙只开放必要的端口。

  1. 首先允许SSH端口(默认为22),否则设置完防火墙你会把自己关在外面:
    ufw allow OpenSSH
    
  2. OpenClaw的网关服务默认运行在 18789 端口(后续我们会用到),现在也一并开放:
    ufw allow 18789/tcp
    

    注意 :如果你计划使用其他端口,请将 18789 替换成你的自定义端口。另外,如果你打算通过网页访问OpenClaw的管理界面,且服务器有公网IP,强烈建议 不要在此处直接开放18789端口 ,而是通过后面的步骤配置反向代理(如Nginx)并启用HTTPS,或者使用Tailscale等安全隧道。此处开放仅用于临时测试或后续安全配置。

  3. 启用防火墙并查看状态:
    ufw enable
    ufw status verbose
    
    你应该能看到 22/tcp 18789/tcp 的规则是 ALLOW 状态。

3.2 Node.js环境部署:版本选择与最佳实践

OpenClaw基于Node.js,因此Node.js环境的正确安装至关重要。 不推荐使用系统自带的 apt install nodejs ,因为Ubuntu官方源的Node.js版本通常很旧。

3.2.1 使用NodeSource安装指定版本 NodeSource提供了维护良好的Node.js二进制分发源。OpenClaw推荐使用Node.js 24.x或22.14+。我们安装最新的24.x LTS版本:

curl -fsSL https://deb.nodesource.com/setup_24.x | bash -

这个命令会下载并执行一个脚本,将NodeSource的仓库添加到你的系统源列表中。 接着安装Node.js和npm(Node.js的包管理器):

apt install -y nodejs

安装完成后,验证版本:

node --version  # 应输出 v24.x.x
npm --version   # 应输出对应的npm版本

3.2.2 配置npm全局安装路径与镜像(可选但推荐) 默认情况下,全局安装的包( npm install -g )需要 sudo 权限,并且可能和系统文件混在一起。更好的做法是为你当前的用户配置一个独立的全局安装目录。

mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'

然后将这个目录添加到你的PATH环境变量中。编辑你的shell配置文件(如 ~/.bashrc ~/.zshrc ):

echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

现在,你就可以在不使用 sudo 的情况下全局安装npm包了,所有文件都会存放在你的家目录下,更安全、更干净。

对于国内用户,为了加速npm包的下载,可以设置淘宝镜像源:

npm config set registry https://registry.npmmirror.com/

3.3 OpenClaw核心安装与初始化

环境准备就绪,现在开始安装OpenClaw本体。

3.3.1 使用官方安装脚本 OpenClaw提供了极简的一键安装脚本,它会处理大部分依赖和初始化工作:

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

这个脚本会:

  1. 检查并确认Node.js环境。
  2. 通过npm全局安装 @openclaw/cli 命令行工具。
  3. 可能还会触发初始的引导配置。

安装完成后,验证CLI工具是否可用:

openclaw --version

3.3.2 首次引导与配置 接下来运行引导命令,它会以交互式问答的方式帮你完成最基础的配置:

openclaw onboard

在这个过程中,你可能会被问到:

  • 项目路径 :OpenClaw的配置和数据存储在哪里?默认在 ~/.openclaw 即可。
  • 网关令牌 :用于验证对网关的访问。可以按回车让系统生成一个强随机令牌, 务必妥善保存这个令牌 ,后续连接客户端时需要。
  • AI模型提供商 :你需要配置至少一个AI模型的API密钥,例如Anthropic的Claude或OpenAI的GPT。脚本会引导你输入相应的API Key。

    重要 :你需要提前在对应平台(如console.anthropic.com 或 platform.openai.com)注册账号并创建API Key。这是OpenClaw的“大脑”,没有它就无法工作。

引导完成后,OpenClaw的核心服务就已经就位了。

3.3.3 以系统服务运行(实现开机自启) 为了让OpenClaw网关在后台稳定运行,并且在服务器重启后能自动启动,我们需要将其配置为系统服务。使用 systemd 是最标准的方式。 OpenClaw CLI工具提供了便捷的命令来创建服务:

openclaw onboard --install-daemon

这个命令会自动生成一个 systemd 服务单元文件(通常是 /etc/systemd/system/openclaw.service ),并启用和启动服务。

你可以检查服务状态:

systemctl status openclaw.service

如果看到 active (running) 的字样,说明服务已在后台运行。常用管理命令:

sudo systemctl start openclaw    # 启动
sudo systemctl stop openclaw     # 停止
sudo systemctl restart openclaw  # 重启
sudo systemctl enable openclaw   # 启用开机自启
sudo journalctl -u openclaw -f   # 查看实时日志(Ctrl+C退出)

3.4 网络访问与安全配置

现在服务跑起来了,但如何安全地访问它呢?直接暴露 18789 端口到公网是极不安全的。我们有几种更优的方案。

3.4.1 方案一:SSH本地端口转发(临时测试用) 这是最安全、最简单的临时访问方法,无需在服务器防火墙开放 18789 端口。在你的 本地电脑 上执行:

ssh -N -L 18789:localhost:18789 root@你的服务器IP

这个命令创建了一条SSH隧道,将你本地机器的 18789 端口转发到服务器本地的 18789 端口。执行后,终端会挂起。此时,在你本地浏览器访问 http://localhost:18789 ,就能看到OpenClaw的网关管理界面了。关闭这个SSH会话,隧道即断开。

3.4.2 方案二:使用Tailscale组建虚拟局域网(推荐) Tailscale是一个基于WireGuard的Mesh VPN,它能将你的服务器、本地电脑、手机等设备安全地连接在同一个虚拟局域网里,就像它们在一个物理局域网一样。这样你就可以通过内网IP直接访问服务,无需公网IP和复杂的端口转发。

  1. 在服务器上安装并登录Tailscale
    curl -fsSL https://tailscale.com/install.sh | sh
    tailscale up
    
    执行 tailscale up 会输出一个链接,用浏览器打开它并登录你的Tailscale账号(支持Google、GitHub等登录)。登录后,服务器就加入了你的Tailscale网络。
  2. 在本地电脑也安装Tailscale并登录同一个账号
  3. 配置OpenClaw网关通过Tailscale提供服务
    openclaw config set gateway.tailscale.mode serve
    openclaw gateway restart
    
    这个命令告诉OpenClaw网关,除了监听本地端口,也通过Tailscale的MagicDNS域名提供服务。
  4. 访问 :在本地电脑的Tailscale客户端找到服务器的MagicDNS名称(通常是 服务器名.tailnet-xxxx.ts.net ),然后在浏览器访问 https://服务器名.tailnet-xxxx.ts.net:18789 。Tailscale自动处理了HTTPS证书。

3.4.3 方案三:Nginx反向代理 + HTTPS(用于公网访问) 如果你希望给公网上的其他用户(或你自己在没有Tailscale的设备上)提供一个更标准的Web访问方式,就需要配置反向代理和HTTPS。

  1. 安装Nginx
    apt install -y nginx
    
  2. 配置Nginx :创建一个新的站点配置文件,例如 /etc/nginx/sites-available/openclaw
    server {
        listen 80;
        server_name your-domain.com; # 替换成你的域名
    
        location / {
            proxy_pass http://localhost:18789;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    
  3. 启用配置并测试
    ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/
    nginx -t  # 测试配置语法
    systemctl reload nginx
    
  4. 使用Certbot获取免费SSL证书
    apt install -y certbot python3-certbot-nginx
    certbot --nginx -d your-domain.com
    
    按照交互提示操作,Certbot会自动修改Nginx配置,将HTTP重定向到HTTPS,并配置好SSL证书。

完成以上任意一种安全访问配置后,你的OpenClaw网关就已经可以被安全地访问和管理了。

4. 高级部署场景与深度优化

掌握了标准部署流程,我们可以探索一些更具体或更进阶的场景,这些场景能帮你应对特殊需求或提升使用体验。

4.1 Docker化部署:隔离与可移植性

虽然直接安装简单,但在生产环境或需要严格隔离的环境中,Docker是更好的选择。OpenClaw提供了官方Docker镜像。

4.1.1 使用Docker Compose部署 这是管理Docker服务的最佳实践。首先确保服务器已安装Docker和Docker Compose。

  1. 创建项目目录和 docker-compose.yml
    mkdir -p ~/openclaw-docker && cd ~/openclaw-docker
    vim docker-compose.yml
    
  2. 编辑 docker-compose.yml 内容
    version: '3.8'
    services:
      openclaw:
        image: ghcr.io/openclaw/openclaw:latest
        container_name: openclaw
        restart: unless-stopped
        environment:
          - NODE_ENV=production
          - OPENCLAW_GATEWAY_TOKEN=${GATEWAY_TOKEN:-your-secret-token-here} # 建议通过.env文件设置
          - OPENCLAW_GATEWAY_BIND=lan
          - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} # 其他API Key也通过环境变量传入
        volumes:
          - ./data/config:/home/node/.openclaw
          - ./data/workspace:/home/node/.openclaw/workspace
        ports:
          - "127.0.0.1:18789:18789" # 只绑定到本地,通过Nginx或隧道暴露
        # 如果需要额外的能力,可能需要以特权模式运行或挂载更多目录
        # privileged: true
        # volumes:
        #   - /var/run/docker.sock:/var/run/docker.sock:ro # 允许在容器内控制Docker
    
  3. 创建环境变量文件 .env (安全起见,敏感信息不写入YAML):
    echo "GATEWAY_TOKEN=$(openssl rand -hex 32)" > .env
    echo "ANTHROPIC_API_KEY=sk-ant-xxx" >> .env # 替换为你的真实Key
    
  4. 启动服务
    docker compose up -d
    docker compose logs -f openclaw # 查看日志
    

4.1.2 Docker部署的优劣分析

  • 优势
    • 环境隔离 :所有依赖都被封装在镜像内,与宿主机完全隔离,避免污染。
    • 一致性 :在任何装有Docker的机器上,运行结果都一样,“在我机器上好好的”问题大幅减少。
    • 易于更新 :更新版本只需拉取新镜像并重启容器: docker compose pull && docker compose up -d
    • 资源限制 :可以方便地通过Docker为容器分配CPU、内存限额。
  • 劣势与注意事项
    • 性能轻微损耗 :存在极小的虚拟化开销。
    • 文件系统访问 :如果OpenClaw需要操作宿主机的特定目录(如整个 /home ),需要仔细配置卷挂载( volumes )。
    • 特权需求 :如果希望OpenClaw能在容器内运行 docker 命令(例如构建项目),需要挂载Docker套接字并赋予特权,这会带来安全风险,需谨慎评估。

4.2 树莓派专属部署:低功耗设备的调优

在树莓派上部署OpenClaw别有乐趣,但需要一些特别的调整。

4.2.1 系统准备与优化

  1. 使用64位系统 :确保安装的是Raspberry Pi OS (64-bit) Lite或Desktop版本。32位系统对现代软件支持不佳。
  2. 启用交换空间(Swap) :树莓派内存有限(尤其是2GB版本),当物理内存不足时,交换空间可以防止进程被直接终止。但SD卡上的交换分区频繁读写会降低寿命和速度,建议操作如下:
    # 创建一个2GB的交换文件
    sudo fallocate -l 2G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    # 永久生效
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
    

    重要提示 :如果你的系统盘是SD卡,请酌情减小交换文件大小(如512MB),或考虑将交换文件放在USB SSD上,以保护SD卡。

  3. 减少GPU内存分配 :树莓派的GPU和CPU共享内存。对于无头服务器(没有桌面环境),可以将GPU内存调到最小,让出更多内存给系统。
    echo 'gpu_mem=16' | sudo tee -a /boot/config.txt
    sudo reboot
    

4.2.2 安装与配置要点 后续的Node.js和OpenClaw安装步骤与普通Linux服务器一致。但需要牢记树莓派的性能边界:

  • 绝对不要 在树莓派上运行本地LLM(大语言模型)。它的算力完全不足以支撑。树莓派只应作为 网关 ,通过API调用云端模型(Claude、GPT-4o Mini等)。
  • 使用USB SSD作为系统盘 :这是提升树莓派体验最有效的硬件投资。SD卡的IO性能是严重瓶颈,会导致系统响应缓慢。将系统安装到USB SSD上,整体流畅度会有质的飞跃。
  • 网络穿透是核心 :家庭网络中的树莓派没有公网IP。 Tailscale是解决此问题的最佳方案 ,按照前面章节的步骤安装配置即可。这样你就能在全球任何地方通过 https://pi-hostname.your-tailnet.ts.net 安全访问你的OpenClaw了。

4.3 多模型与技能管理

一个强大的OpenClaw实例往往需要连接多个AI模型,并安装扩展技能。

4.3.1 配置多个AI模型提供商 OpenClaw支持同时配置多个模型。你可以在引导后通过编辑配置文件或使用CLI来添加。配置文件通常位于 ~/.openclaw/config.json 。 更安全的方式是使用环境变量或CLI命令:

# 通过CLI设置Anthropic Claude的API Key
openclaw config set credentials.anthropic.apiKey "sk-ant-xxx"
# 设置OpenAI的API Key
openclaw config set credentials.openai.apiKey "sk-xxx"
# 设置Google Gemini的API Key
openclaw config set credentials.google.aiStudioKey "AIzaSyxxx"

设置后,在OpenClaw的界面或与Agent对话时,你就可以选择使用哪个模型来完成任务了。

4.3.2 安装与管理技能 技能是OpenClaw的插件,赋予Agent新的能力(如搜索网页、发送邮件、操作数据库)。

  1. 浏览技能市场 :访问 ClawHub 查看社区开发的技能。
  2. 安装技能 :通常可以通过CLI安装。例如,安装一个假想的“天气查询”技能:
    openclaw skills install clawhub/weather
    
  3. 技能配置 :许多技能需要额外的配置,如API密钥。安装后,通常需要运行 openclaw skills configure clawhub/weather 来进行交互式配置,或手动编辑技能对应的配置文件。
  4. 更新与移除
    openclaw skills update clawhub/weather # 更新特定技能
    openclaw skills update --all # 更新所有技能
    openclaw skills uninstall clawhub/weather # 卸载技能
    

5. 故障排查与日常维护指南

即使按照指南操作,也难免会遇到问题。本章节汇总了我遇到过的典型问题及其解决方案,希望能帮你快速排雷。

5.1 安装与启动常见问题

问题1: curl -fsSL https://openclaw.ai/install.sh | bash 执行失败,报错连接超时或SSL错误。

  • 原因 :网络连接问题,可能是服务器DNS解析失败或到开源托管平台(如GitHub)的网络不畅。
  • 解决
    1. 检查服务器网络: ping github.com
    2. 尝试更换DNS服务器:编辑 /etc/resolv.conf ,添加 nameserver 8.8.8.8 nameserver 1.1.1.1
    3. 如果服务器在国内,可能是源站被墙。可以尝试先手动下载安装脚本,或者使用代理(如果服务器具备条件)。
    4. 最根本的备用方案:直接从GitHub克隆仓库并手动安装。
      git clone https://github.com/openclaw/openclaw.git
      cd openclaw
      npm install -g @openclaw/cli # 可能需要sudo或已配置npm prefix
      

问题2: openclaw --version 命令未找到。

  • 原因 :Node.js全局安装路径未正确加入系统的PATH环境变量。
  • 解决
    1. 确认npm全局安装路径: npm config get prefix 。假设输出是 /home/user/.npm-global
    2. 将该路径下的 bin 目录加入PATH。编辑 ~/.bashrc ~/.profile ,添加一行: export PATH="/home/user/.npm-global/bin:$PATH"
    3. 使配置生效: source ~/.bashrc
    4. 如果还不行,尝试直接使用完整路径运行: ~/.npm-global/bin/openclaw --version

问题3:OpenClaw服务启动失败, systemctl status openclaw 显示错误,日志中有 EACCES 权限错误。

  • 原因 :OpenClaw进程(通常以 node 用户或你指定的用户运行)对某些目录(如配置目录、工作空间目录)没有写入权限。
  • 解决
    1. 查看服务单元文件,确认运行用户: sudo systemctl cat openclaw
    2. 检查相关目录的所有权和权限。例如,如果配置在 /var/lib/openclaw
      sudo chown -R node:node /var/lib/openclaw # 将所有者改为服务运行的用户
      sudo chmod -R 755 /var/lib/openclaw # 设置合适的权限
      
    3. 如果使用Docker,检查挂载的宿主机目录权限是否允许容器内用户访问。

问题4:能访问Web界面,但Agent无法调用模型,报错“Invalid API Key”。

  • 原因 :API密钥未正确配置或环境变量未生效。
  • 解决
    1. 检查配置文件: cat ~/.openclaw/config.json | jq '.credentials' (需要安装 jq 工具)。
    2. 使用CLI重新设置密钥: openclaw config set credentials.anthropic.apiKey "你的新Key"
    3. 如果使用Docker,确保在 docker-compose.yml .env 文件中正确设置了环境变量。
    4. 重启服务使配置生效: sudo systemctl restart openclaw docker compose restart

5.2 网络与连接问题

问题5:通过Tailscale域名访问,浏览器提示“连接被拒绝”或“无法访问此网站”。

  • 原因 :OpenClaw网关服务没有绑定在Tailscale虚拟网卡上,或者防火墙阻止了连接。
  • 解决
    1. 确保OpenClaw配置正确: openclaw config get gateway.tailscale.mode 应该返回 serve 。如果不是,用 openclaw config set 命令设置。
    2. 检查OpenClaw服务是否在监听所有接口: sudo netstat -tlnp | grep :18789 。应该能看到 0.0.0.0:18789 :::18789 (IPv6)的监听。如果只看到 127.0.0.1:18789 ,说明服务只绑定了本地环回,需要修改配置绑定到 lan all
    3. 检查服务器上的防火墙(如 ufw )是否允许了 18789 端口通过Tailscale网卡(通常是 tailscale0 )。一个简单的测试是先临时关闭防火墙: sudo ufw disable ,看是否能访问。如果可以,则需要为 tailscale0 接口添加规则。

问题6:使用Nginx反代后,WebSocket连接失败(实时通信功能异常)。

  • 原因 :Nginx配置中缺少对WebSocket协议升级的支持。
  • 解决 :确保你的Nginx配置中包含了之前提到的关键头部信息:
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    
    修改配置后,运行 sudo nginx -t 测试,然后 sudo systemctl reload nginx 重载。

5.3 性能与资源监控

OpenClaw本身是轻量级的,但长时间运行后,也需要关注资源使用情况。

监控命令:

  • 查看进程状态 htop top 。关注Node.js进程的CPU和内存占用。
  • 查看服务日志 sudo journalctl -u openclaw -n 50 -f (查看最近50行并跟随)。
  • 检查磁盘空间 df -h ,确保 / 或挂载的数据盘有足够空间。
  • 查看网关状态 openclaw gateway status

如果发现内存占用持续增长(内存泄漏迹象):

  1. 尝试重启OpenClaw服务: sudo systemctl restart openclaw
  2. 检查是否有第三方技能存在兼容性问题,可以尝试禁用最近安装的技能。
  3. 关注GitHub仓库的Issues,看是否有已知的内存问题。

5.4 备份与恢复策略

你的OpenClaw配置、对话历史和技能数据都非常宝贵,定期备份是必须的。

备份什么?

  • 配置目录 :默认在 ~/.openclaw 。这里面包含了 config.json (核心配置)、 skills/ (已安装技能)、 workspace/ (Agent的工作区文件)等。
  • Docker数据卷 :如果你用Docker部署,备份你挂载的宿主机目录(如 ./data )。

简易备份脚本示例: 创建一个 backup_openclaw.sh 脚本:

#!/bin/bash
BACKUP_DIR="/path/to/your/backup/folder"
SOURCE_DIR="$HOME/.openclaw"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="$BACKUP_DIR/openclaw_backup_$TIMESTAMP.tar.gz"

# 创建备份目录(如果不存在)
mkdir -p $BACKUP_DIR

# 打包压缩配置目录
tar -czf $BACKUP_FILE -C $(dirname $SOURCE_DIR) $(basename $SOURCE_DIR)

# 可选:删除超过30天的旧备份
find $BACKUP_DIR -name "openclaw_backup_*.tar.gz" -mtime +30 -delete

echo "Backup completed: $BACKUP_FILE"

然后通过 crontab -e 设置定时任务,例如每天凌晨3点执行一次备份: 0 3 * * * /bin/bash /path/to/backup_openclaw.sh

恢复备份: 只需停止OpenClaw服务,将备份的压缩包解压到目标位置,覆盖现有目录,然后重启服务即可。

部署和运维OpenClaw的过程,就像是在搭建一个高度可定制的数字大脑。从选择安家的地方(服务器),到给它注入知识(模型API),再到教会它各种技能,每一步都需要一些耐心和技巧。我个人的体会是,初期在MyClaw.ai上快速体验,能帮你最快地理解OpenClaw到底能做什么,建立直观感受。而当你有了明确的使用场景和定制化需求后,再迁移到自托管环境,那种完全掌控的感觉是完全不同的。无论是云上的一台VPS,还是家里嗡嗡作响的树莓派,当你看到它理解你的指令,并开始有条不紊地执行任务时,那种成就感正是开源和自托管的魅力所在。最后一个小建议,多关注OpenClaw的官方Discord社区和GitHub动态,社区的分享和讨论常常能帮你解决意想不到的问题,甚至激发新的使用灵感。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐