如果你想要一个 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 位)
- 从
raspberrypi.com/software下载 Raspberry Pi Imager - 选择设备:Raspberry Pi 5
- 选择系统:Raspberry Pi OS Lite(64-bit)——注意是 Lite 版,无桌面环境,为 OpenClaw 节省约 600MB 内存
- 选择存储介质:NVMe SSD(如已安装 M.2 HAT)或 MicroSD 卡
- 点击齿轮图标进入高级设置,配置以下内容再烧录:
- 设置主机名(如
openclaw-pi) - 开启 SSH,上传你的公钥(强烈推荐,禁用密码登录)
- 设置 Wi-Fi(如果不使用有线网络)
- 设置用户名和密码
- 设置主机名(如
- 烧录完成后,将 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 运行正常:
- 在 Telegram 中找到 @BotFather,发送
/newbot创建机器人,获取 Bot Token - 在树莓派上执行:
openclaw channels add telegram --token "你的BotToken"
- 在 Telegram 中向你的 Bot 发送"你好",收到正常回复说明 OpenClaw 运行正常
六、Cloudflare Tunnel:安全的公网访问
树莓派在家庭网络中没有公网 IP,传统的端口转发方案需要修改路由器设置,且会把服务直接暴露在公网上。Cloudflare Tunnel 通过出站连接将流量安全地路由到 Cloudflare 的边缘节点,你的家庭网络不需要开放任何端口。
第八步:注册 Cloudflare 账户并添加域名
- 访问
cloudflare.com注册免费账户(如已有账户直接登录) - 如果有自己的域名,将 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
- 登录 Cloudflare Dashboard,进入 Zero Trust → Networks → Tunnels
- 点击 「Create a Tunnel」,选择 「Cloudflared」类型
- 输入 Tunnel 名称(如
openclaw-tunnel),点击创建 - 在 Choose your environment 中选择 Debian → arm64-bit
- 复制页面上显示的安装命令(包含你的 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」,填写:
- Subdomain:
openclaw(或你喜欢的前缀) - Domain:选择你的域名
- Service Type:HTTP
- URL:
http://127.0.0.1:18789(OpenClaw 控制面板的本地地址)
保存后,https://openclaw.你的域名.com 就可以从任何地方访问你的 OpenClaw 控制面板了。
第十二步:启用 Cloudflare Access 身份验证(强烈推荐)
控制面板公网可访问后,必须加一层身份验证,防止他人访问:
- 进入 Zero Trust → Access → Applications → Add an application
- 选择 「Self-hosted」,填写应用域名(
openclaw.你的域名.com) - 在 「Policies」 中添加规则,设置只允许你的邮箱登录
- 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 中文版官网。