跳到正文
FunCoding

搜索

搜索文档、文章、Skill 和 MCP

Raspberry Pi

在 Raspberry Pi 上托管 OpenClaw,实现全天候自托管

在 Raspberry Pi 上运行一个持久、始终在线的 OpenClaw Gateway 网关。由于 Pi 仅充当 Gateway 网关(模型通过 API 在云端运行),即使配置普通的 Pi 也能很好地处理工作负载——典型硬件成本为一次性 $35-80,无需月费。

硬件兼容性

Pi 型号内存能否运行?说明
Pi 54/8 GB最佳速度最快,推荐使用。
Pi 44 GB良好最适合大多数用户。
Pi 42 GB尚可添加交换空间。
Pi 41 GB吃紧可搭配交换空间和最小配置运行。
Pi 3B+1 GB较慢可以运行,但速度迟缓。
Pi Zero 2 W512 MB不可以不推荐。

最低要求: 1 GB 内存、1 个核心、500 MB 可用磁盘空间、64 位操作系统。 推荐配置: 2 GB+ 内存、16 GB+ SD 卡(或 USB SSD)、以太网。

前提条件

  • 配备 2 GB+ 内存的 Raspberry Pi 4 或 5(推荐 4 GB)
  • MicroSD 卡(16 GB+)或 USB SSD(性能更好)
  • 官方 Pi 电源
  • 网络连接(以太网或 WiFi)
  • 64 位 Raspberry Pi OS(必需——请勿使用 32 位版本)
  • 约 30 分钟

设置

刷写操作系统

使用 Raspberry Pi OS Lite (64-bit)——无头服务器不需要桌面环境。

  1. 下载 Raspberry Pi Imager。
  2. 选择操作系统:Raspberry Pi OS Lite (64-bit)。
  3. 在设置对话框中预先配置:
    • 主机名:gateway-host
    • 启用 SSH
    • 设置用户名和密码
    • 配置 WiFi(如果不使用以太网)
  4. 刷写到 SD 卡或 USB 驱动器,然后将其插入并启动 Pi。

通过 SSH 连接

ssh user@gateway-host

更新系统

sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl build-essential

# 设置时区(对定时任务和提醒很重要)
sudo timedatectl set-timezone America/Chicago

安装 Node.js 24

curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt install -y nodejs
node --version

添加交换空间(对于 2 GB 或更低内存很重要)

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

# 为低内存设备降低交换倾向
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

安装 OpenClaw

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

运行新手引导

openclaw onboard --install-daemon

按照向导操作。对于无头设备,推荐使用 API 密钥而不是 OAuth。Telegram 是最容易上手的渠道。

验证

openclaw status
systemctl --user status openclaw-gateway.service
journalctl --user -u openclaw-gateway.service -f

访问 Control UI

在你的计算机上,从 Pi 获取仪表盘 URL:

ssh user@gateway-host 'openclaw dashboard --no-open'

然后在另一个终端中创建 SSH 隧道:

ssh -N -L 18789:127.0.0.1:18789 user@gateway-host

在本地浏览器中打开输出的 URL。若要始终保持远程访问,请参阅 Tailscale 集成。

性能建议

使用 USB SSD——SD 卡速度较慢且会磨损。USB SSD 能显著提升性能,并承受更多写入周期;如果操作系统仍保留在 SD 卡上,请将其用于 OPENCLAW_STATE_DIR。请参阅 Pi USB 启动指南。

启用模块编译缓存——可加快低功耗 Pi 主机上重复调用 CLI 的速度。OPENCLAW_NO_RESPAWN=1 可让常规 Gateway 网关重启保持在同一进程内,避免额外的进程交接,并使小型主机上的 PID 跟踪保持简单:

grep -q 'NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache' ~/.bashrc || cat >> ~/.bashrc <<'EOF' # pragma: allowlist secret
export NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache
mkdir -p /var/tmp/openclaw-compile-cache
export OPENCLAW_NO_RESPAWN=1
EOF
source ~/.bashrc

使用 /var/tmp,不要使用 /tmp——某些发行版会在启动时清除 /tmp,从而丢失已预热的缓存。

减少内存使用量——对于无头设置,释放 GPU 内存并禁用未使用的服务:

echo 'gpu_mem=16' | sudo tee -a /boot/config.txt
sudo systemctl disable bluetooth

用于稳定重启的 systemd drop-in——如果这台 Pi 主要用于运行 OpenClaw,请添加服务 drop-in:

systemctl --user edit openclaw-gateway.service
[Service]
Environment=OPENCLAW_NO_RESPAWN=1
Environment=NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache
Restart=always
RestartSec=2
TimeoutStartSec=90

然后执行 systemctl --user daemon-reload && systemctl --user restart openclaw-gateway.service。在无头 Pi 上,还需启用一次 lingering,使用户服务在注销后仍能运行:sudo loginctl enable-linger "$(whoami)"。

推荐的模型设置

由于 Pi 只运行 Gateway 网关,请使用云托管的 API 模型——不要在 Pi 上运行本地 LLM,即使是小型模型也慢得无法实际使用:

{
  "agents": {
    "defaults": {
      "model": {
        "primary": "anthropic/claude-sonnet-4-6",
        "fallbacks": ["openai/gpt-5.4-mini"]
      }
    }
  }
}

ARM 二进制文件说明

大多数 OpenClaw 功能无需修改即可在 ARM64 上运行(Node.js、Telegram、WhatsApp/Baileys、Chromium)。偶尔缺少 ARM 构建的二进制文件通常是 Skills 附带的可选 Go/Rust CLI 工具。使用 uname -m 验证架构(应显示 aarch64),然后检查缺失二进制文件的发布页面是否提供 linux-arm64 / aarch64 工件,再考虑回退到从源代码构建。

持久化和备份

OpenClaw 状态存储在:

  • ~/.openclaw/——openclaw.json、每个智能体的 auth-profiles.json、渠道/提供商状态、会话。
  • ~/.openclaw/workspace/——Agent 工作区(SOUL.md、记忆、工件)。

这些数据在重启后仍会保留;无论性能还是使用寿命,SSD 都优于 SD 卡。使用以下命令创建可移植快照:

openclaw backup create

故障排查

内存不足——使用 free -h 验证交换空间是否已启用。禁用未使用的服务(sudo systemctl disable cups bluetooth avahi-daemon)。仅使用基于 API 的模型。

性能缓慢——使用 USB SSD 替代 SD 卡。使用 vcgencmd get_throttled 检查 CPU 是否受到限频(应返回 0x0)。

服务无法启动——使用 journalctl --user -u openclaw-gateway.service --no-pager -n 100 检查日志,并运行 openclaw doctor --non-interactive。如果这是无头 Pi,还要确认已启用 lingering:sudo loginctl enable-linger "$(whoami)"。

ARM 二进制文件问题——如果某个 Skill 因“exec format error”而失败,请检查该二进制文件是否提供 ARM64 构建。使用 uname -m 验证架构(应显示 aarch64)。

WiFi 断线——禁用 WiFi 电源管理:sudo iwconfig wlan0 power off。

后续步骤

  • 渠道——连接 Telegram、WhatsApp、Discord 等
  • Gateway 配置——所有配置选项
  • 更新——让 OpenClaw 保持最新

相关内容