如果你想要一个 7×24 小时在线的个人 AI 助手,但又不想每个月为云服务器付费,树莓派是目前最性价比的答案。一台树莓派 5(8GB,约 600 元)的电费成本约为每月 3~6 元,硬件成本在 2~3 个月内就能”回本”。结合 Cloudflare Tunnel,无需开放任何路由器端口,就能在全球任何地方安全访问你的 OpenClaw 助手。本文记录完整的实测全流程。更多资源请访问 OpenClaw 中文版官网

一、方案概览与成本核算

为什么选树莓派?

OpenClaw 本身是一个轻量级编排层,真正的 AI 计算发生在云端 API(Claude、DeepSeek 等)。这意味着树莓派只需要处理消息路由、工具调度和状态管理,不需要在本地跑大模型,即使是树莓派 4 也能胜任。

  • 年化电费:树莓派 5 平均功耗约 5W,全年 24 小时运行约消耗 43 度电,按国内居民用电均价约 每年 30 元
  • 数据不离家:所有对话记忆、配置文件、技能扩展都存储在你自己的设备上,不经过任何第三方服务器
  • 无月费:Cloudflare Tunnel 免费套餐完全满足个人使用,零月租

推荐硬件配置

硬件 推荐型号 参考价格 说明
主板 树莓派 5(8GB) 约 580 元 首选;4GB 版也可用但会有内存压力
存储 NVMe SSD(128GB+)+ M.2 HAT 约 150 元 强烈推荐,比 SD 卡快 3~5 倍且不易损坏
备选存储 SanDisk Extreme MicroSD A2(64GB) 约 80 元 如暂不购买 SSD,至少选 A2 规格
电源 树莓派官方 27W USB-C 电源 约 100 元 必须用官方电源,劣质电源会导致欠压崩溃
散热 主动散热器(官方或第三方) 约 80 元 树莓派 5 满载时较热,主动散热防止降频
外壳 带散热的外壳 约 50 元 可选,用于整洁放置在路由器旁边

树莓派 4(4GB)也能运行 OpenClaw,但在多任务并发和大上下文窗口场景下会明显卡顿。树莓派 5(8GB)是 2026 年的最低推荐规格,CPU 性能约是树莓派 4 的 3 倍。

二、系统烧录与初始配置

第一步:烧录 Raspberry Pi OS Lite(64 位)

  1. raspberrypi.com/software 下载 Raspberry Pi Imager
  2. 选择设备:Raspberry Pi 5
  3. 选择系统:Raspberry Pi OS Lite(64-bit)——注意是 Lite 版,无桌面环境,为 OpenClaw 节省约 600MB 内存
  4. 选择存储介质:NVMe SSD(如已安装 M.2 HAT)或 MicroSD 卡
  5. 点击齿轮图标进入高级设置,配置以下内容再烧录:
    • 设置主机名(如 openclaw-pi
    • 开启 SSH,上传你的公钥(强烈推荐,禁用密码登录)
    • 设置 Wi-Fi(如果不使用有线网络)
    • 设置用户名和密码
  6. 烧录完成后,将 SSD 或 SD 卡插入树莓派,接通电源

第二步:SSH 登录并完成系统初始化

# 在你的电脑上,通过 SSH 连接树莓派
ssh pi@openclaw-pi.local
# 或使用 IP 地址:ssh pi@192.168.x.x
# 更新系统
sudo apt update && sudo apt upgrade -y

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

# 设置时区(重要!影响定时任务执行时间)
sudo timedatectl set-timezone Asia/Shanghai

# 验证时区
timedatectl

第三步:优化树莓派内存配置

# 减少 GPU 内存分配(无显示器时不需要显存)
echo 'gpu_mem=16' | sudo tee -a /boot/firmware/config.txt

# 创建 2GB Swap 文件(防止 OpenClaw 大上下文时 OOM)
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

# 降低 Swappiness(减少不必要的 Swap 使用)
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

# 禁用不需要的服务(释放资源)
sudo systemctl disable bluetooth
sudo systemctl disable avahi-daemon

三、安装 Node.js 和 OpenClaw

第四步:安装 Node.js v24(ARM64)

# 方式一:通过 NodeSource 官方源(推荐)
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt install -y nodejs

# 验证版本
node --version   # 应显示 v24.x.x
npm --version

第五步:启用 Node.js 编译缓存(提升树莓派性能)

在低功耗 ARM 芯片上,Node.js 每次启动的 JIT 编译开销较明显。开启编译缓存可以显著提升 OpenClaw 的响应速度:

cat >> ~/.bashrc << 'EOF'
export NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache
mkdir -p /var/tmp/openclaw-compile-cache
export OPENCLAW_NO_RESPAWN=1
EOF
source ~/.bashrc

第六步:安装 OpenClaw

npm install -g openclaw@latest

# 验证安装
openclaw --version
# 应显示:2026.4.1

如果提示命令未找到,修复 PATH:

echo 'export PATH="$(npm prefix -g)/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

第七步:运行引导向导

openclaw onboard --install-daemon

在引导向导中,关键配置项:

  • Gateway 绑定:选 Loopback(127.0.0.1),禁止局域网内其他设备直接访问
  • AI 模型:推荐 DeepSeek(国内低延迟)或 Anthropic Claude Sonnet(质量最佳)
  • 消息平台:暂时跳过,安装完成后单独配置 Telegram

配置完成后记录控制面板地址(http://127.0.0.1:18789)和 Gateway Token。

四、配置 systemd 守护进程

引导向导的 --install-daemon 会自动注册 systemd 服务,但我们需要验证并优化配置:

# 查看服务状态
systemctl --user status openclaw-gateway

# 如果服务未启动,手动启动
systemctl --user start openclaw-gateway

# 设置用户登录时自动启动
systemctl --user enable openclaw-gateway

# 启用用户 lingering(即使未登录也保持服务运行)
sudo loginctl enable-linger $USER

重要:loginctl enable-linger 是关键一步。没有它,SSH 断开连接后,用户级 systemd 服务会随之停止,OpenClaw 就不能真正做到 24 小时在线。

# 验证 linger 状态
loginctl show-user $USER | grep Linger
# 应显示:Linger=yes

# 实时查看运行日志
journalctl --user -u openclaw-gateway -f

五、接入 Telegram(局域网内测试)

在接入 Cloudflare 之前,先在局域网内验证 OpenClaw 运行正常:

  1. 在 Telegram 中找到 @BotFather,发送 /newbot 创建机器人,获取 Bot Token
  2. 在树莓派上执行:
openclaw channels add telegram --token "你的BotToken"
  1. 在 Telegram 中向你的 Bot 发送"你好",收到正常回复说明 OpenClaw 运行正常

六、Cloudflare Tunnel:安全的公网访问

树莓派在家庭网络中没有公网 IP,传统的端口转发方案需要修改路由器设置,且会把服务直接暴露在公网上。Cloudflare Tunnel 通过出站连接将流量安全地路由到 Cloudflare 的边缘节点,你的家庭网络不需要开放任何端口

第八步:注册 Cloudflare 账户并添加域名

  1. 访问 cloudflare.com 注册免费账户(如已有账户直接登录)
  2. 如果有自己的域名,将 DNS 托管到 Cloudflare;如果没有,也可以使用 Cloudflare 提供的 *.cfargotunnel.com 子域名

第九步:在树莓派上安装 cloudflared

# 添加 Cloudflare 软件源(ARM64)
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared bookworm main" | sudo tee /etc/apt/sources.list.d/cloudflared.list

sudo apt update
sudo apt install -y cloudflared

# 验证安装
cloudflared --version

第十步:创建 Cloudflare Tunnel

  1. 登录 Cloudflare Dashboard,进入 Zero Trust → Networks → Tunnels
  2. 点击 「Create a Tunnel」,选择 「Cloudflared」类型
  3. 输入 Tunnel 名称(如 openclaw-tunnel),点击创建
  4. 在 Choose your environment 中选择 Debian → arm64-bit
  5. 复制页面上显示的安装命令(包含你的 Tunnel Token),在树莓派终端执行
# 示例命令(使用你实际的 Token)
sudo cloudflared service install eyJhIjoiYWJj...(你的Token)

# 启动 cloudflared 服务
sudo systemctl start cloudflared
sudo systemctl enable cloudflared

# 验证连接状态
sudo systemctl status cloudflared

Cloudflare Dashboard 中该 Tunnel 的状态应变为 HEALTHY(健康)

第十一步:配置公共主机名(路由规则)

在 Tunnel 配置页面,点击 「Public Hostname」→「Add a public hostname」,填写:

  • Subdomainopenclaw(或你喜欢的前缀)
  • Domain:选择你的域名
  • Service Type:HTTP
  • URLhttp://127.0.0.1:18789(OpenClaw 控制面板的本地地址)

保存后,https://openclaw.你的域名.com 就可以从任何地方访问你的 OpenClaw 控制面板了。

第十二步:启用 Cloudflare Access 身份验证(强烈推荐)

控制面板公网可访问后,必须加一层身份验证,防止他人访问:

  1. 进入 Zero Trust → Access → Applications → Add an application
  2. 选择 「Self-hosted」,填写应用域名(openclaw.你的域名.com
  3. 「Policies」 中添加规则,设置只允许你的邮箱登录
  4. Save 后,访问控制面板会先跳转到 Cloudflare 登录页面进行身份验证

整个 Cloudflare 零信任访问方案在免费套餐内完全可用(每月 50 个用户以内免费)。

七、NVMe SSD 性能优化(如使用 SD 卡可跳过)

如果你安装了 NVMe SSD,需要确认树莓派从 SSD 启动(而非 SD 卡):

# 查看当前启动设备
df -h /
# 如果显示 /dev/nvme0n1p2 说明已从 SSD 启动

# 查看 NVMe 读写速度
sudo hdparm -t /dev/nvme0n1
# 正常应显示 300~500 MB/s 的读取速度

OpenClaw 会持续写入记忆文件、日志和会话记录,SSD 的随机写入性能远超 SD 卡,实测 OpenClaw 响应速度提升约 3~5 倍,且 SSD 的写入寿命比 SD 卡长得多,更适合 24 小时持续运行的场景。

八、实测性能数据

以下是在树莓派 5(8GB)+ NVMe SSD 上实测的 OpenClaw 性能数据(使用 Claude Sonnet 4.6 API):

测试场景 响应时间 内存占用
简单问答(单轮对话) 1.5~3 秒 约 180 MB
心跳任务触发(含邮件检查) 8~15 秒 约 250 MB
多步骤任务(GitHub PR 摘要) 20~40 秒 约 320 MB
浏览器自动化(简单页面) 30~60 秒 约 450 MB
系统空闲(仅 Gateway 运行) 约 120 MB

绝大多数日常场景(消息回复、日历查询、文件操作)的响应速度完全满足个人使用需求。浏览器自动化是性能瓶颈,复杂网页操作建议通过 Cron 在夜间或业务低峰期执行。

九、日常维护与监控

常用管理命令

# 查看 OpenClaw 运行状态
systemctl --user status openclaw-gateway

# 查看实时日志
journalctl --user -u openclaw-gateway -f

# 重启 OpenClaw
systemctl --user restart openclaw-gateway

# 更新 OpenClaw 到最新版
npm install -g openclaw@latest
systemctl --user restart openclaw-gateway

# 查看内存使用
free -h

# 查看磁盘使用(日志和记忆文件会增长)
du -sh ~/.openclaw/

SD 卡健康检查(如使用 SD 卡)

# 安装 SD 卡健康检查工具
sudo apt install -y smartmontools

# 检查文件系统错误
sudo fsck /dev/mmcblk0p2 -n

定期日志清理(防止磁盘空间耗尽)

# 清理 30 天前的会话日志
find ~/.openclaw/workspace/sessions/ -name "*.jsonl" -mtime +30 -delete

# 查看日志目录大小
du -sh ~/.openclaw/workspace/

十、常见问题排查

问题:树莓派启动后 OpenClaw 没有自动运行

检查 linger 设置:loginctl show-user $USER | grep Linger。如果显示 Linger=no,执行 sudo loginctl enable-linger $USER 修复。

问题:内存不足导致 OpenClaw 崩溃

检查 Swap 是否正常启动:free -h。如果 Swap 显示为 0,重新执行添加 Swap 的步骤。同时考虑减少并发技能数量,或升级到 8GB 内存版本。

问题:Cloudflare Tunnel 连接显示 Unhealthy

检查 cloudflared 服务状态:sudo systemctl status cloudflared。常见原因是 Token 过期,在 Cloudflare Dashboard 重新生成连接命令并重新安装。

问题:外网访问时响应很慢

Cloudflare Tunnel 的延迟取决于你的家庭网络出口带宽和 Cloudflare 节点的距离。如果延迟超过 3 秒,尝试在 Cloudflare Dashboard 中将 Argo Smart Routing 开关打开(可能需要付费计划)。

问题:树莓派温度过高导致降频

检查 CPU 频率和温度:vcgencmd measure_temp && vcgencmd get_throttled。如果 get_throttled 不为 0,说明已发生降频,需要改善散热(加装主动散热风扇)。

总结:这套方案适合谁?

树莓派 + Cloudflare 的方案适合这类用户:

  • 希望数据完全自控,不想将对话记忆上传到任何第三方服务器
  • 不介意一次性购买硬件,长期节省云服务器月费
  • 有基本的 Linux 命令行使用经验
  • 主要使用场景是个人助手,不需要高强度的浏览器自动化

如果你对技术折腾有顾虑,或者需要更稳定的企业级部署,云端 VPS 或 DigitalOcean 一键部署方案会是更省心的选择。

整套方案搭建完成后,你拥有的是一台永远在线、数据永远在家、月均成本不足一元钱的个人 AI 助手服务器。想了解更多 OpenClaw 配置技巧和实战案例,欢迎访问 OpenClaw 中文版官网