Raspberry Pi 一直是自架愛好者的首選平台。體積小、功耗低、價格親民,放在書架角落就能 24 小時不間斷運行。而 OpenClaw 作為一個輕量級的 AI Agent 框架,與 Raspberry Pi 的搭配堪稱絕配。
本文將從硬體選擇、作業系統安裝、OpenClaw 部署,一路講到 systemd 常駐設定與效能調校。
為什麼選擇 Raspberry Pi
功耗極低。 Raspberry Pi 5 在一般負載下的功耗約 5-8W,滿載也不超過 12W。以台灣電價計算,一台 Pi 全年運行的電費大約在 150-250 元之間[1]。
體積迷你。 信用卡大小的主機板,加上外殼和散熱器,放在路由器旁邊完全不佔空間。
ARM64 原生支援。 OpenClaw 完整支援 ARM64 架構,Node.js 22 在 ARM64 上的效能表現也已經非常成熟[2]。
硬體選擇與建議
Raspberry Pi 型號
強烈建議:Raspberry Pi 5 8GB。 8GB RAM 提供充裕的記憶體空間,即使 Gateway 進程、Node.js 運行時和作業系統同時運行也不會吃力。
最低門檻:Raspberry Pi 5 4GB。 可以運行,但需要配置 swap 空間。處理較長的對話上下文時可能出現效能瓶頸。
不建議:Raspberry Pi 4 及更早型號。 Pi 4 的 CPU 效能大約只有 Pi 5 的一半[3],I/O 頻寬也有限。
購物清單
| 項目 | 建議規格 | 預估價格 (USD) |
|---|---|---|
| Raspberry Pi 5 8GB | 主機板 | $80 |
| 散熱器或主動散熱殼 | 必備 | $5-15 |
| USB-C 電源供應器 | 5V/5A (27W) PD | $12 |
| microSD 卡 | 至少 32GB, A2 等級 | $10 |
| NVMe SSD (建議) | 256GB, 搭配 HAT | $25-40 |
| NVMe Base HAT | Pi 5 專用 | $15 |
| UPS 模組 (選配) | 鋰電池 UPS HAT | $20-35 |
散熱
Pi 5 的 BCM2712 處理器發熱量不小。沒有散熱措施的 Pi 5 在持續負載下會觸發降頻保護。
# 檢查 CPU 溫度
vcgencmd measure_temp
# 持續監控
watch -n 1 vcgencmd measure_temp
日常運行保持在 60 度以下,持續負載不超過 75 度。
作業系統安裝
使用 Raspberry Pi Imager 安裝 Raspberry Pi OS (64-bit) Lite。Lite 版本不含桌面環境,節省記憶體。
在 Imager 的進階設定中啟用 SSH、設定使用者名稱密碼和時區,寫入 SD 卡後開機。
# SSH 連線
ssh your-username@openclaw-pi.local
# 更新系統
sudo apt update && sudo apt upgrade -y
# 安裝必要套件
sudo apt install -y curl git build-essential
NVMe SSD 開機(強烈建議)
microSD 卡的讀寫速度和壽命都有限。SD 卡隨機讀寫約 2-5 MB/s,NVMe SSD 可達 400-800 MB/s[4]。
# 確認 NVMe SSD 被偵測到
lsblk
# 更新 EEPROM 以支援 NVMe 開機
sudo rpi-eeprom-update -a
sudo reboot
# 設定開機順序
sudo raspi-config
# Advanced Options → Boot Order → NVMe/USB Boot
安裝 Node.js 22 與 OpenClaw
# 安裝 Node.js 22
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
# 驗證
node -v # v22.x.x
node -e "console.log(process.arch)" # arm64
# 安裝 OpenClaw
npx openclaw onboard
設定 Gateway Token
如果不設定固定的 Gateway Token,每次重啟都會產生新 Token,導致已配對的裝置全部失效。
export TOKEN=$(openssl rand -hex 32)
echo "Your gateway token: $TOKEN"
openclaw config set gateway.token "$TOKEN"
驗證安裝
openclaw start
openclaw status
openclaw doctor
Gateway 大約需要 30-40 秒才能完全啟動。看到 [gateway] listening on 時表示就緒。
設定 systemd 自動啟動
sudo tee /etc/systemd/system/openclaw.service << 'EOF'
[Unit]
Description=OpenClaw AI Assistant
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=your-username
WorkingDirectory=/home/your-username
ExecStart=/usr/bin/openclaw start --foreground
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
Environment=NODE_ENV=production
Environment=HOME=/home/your-username
MemoryMax=2G
CPUQuota=80%
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable openclaw
sudo systemctl start openclaw
sudo systemctl status openclaw
# 查看即時日誌
journalctl -u openclaw -f
看門狗健康檢查
sudo tee /usr/local/bin/openclaw-watchdog.sh << 'EOF'
#!/bin/bash
if ! curl -sf http://localhost:3001/health > /dev/null 2>&1; then
echo "$(date): Health check failed, restarting..." >> /var/log/openclaw-watchdog.log
systemctl restart openclaw
fi
EOF
sudo chmod +x /usr/local/bin/openclaw-watchdog.sh
# 每 5 分鐘執行一次
(crontab -l 2>/dev/null; echo "*/5 * * * * /usr/local/bin/openclaw-watchdog.sh") | sudo crontab -
效能基準與調校
Raspberry Pi 5 (8GB) 搭配 NVMe SSD 的實測數據:
| 指標 | 數值 |
|---|---|
| Gateway 啟動時間 | 35-45 秒 |
| 訊息回覆延遲 | 2-5 秒 (不含 API) |
| 記憶體 (閒置) | 約 350MB |
| 記憶體 (活躍對話) | 約 500-700MB |
| CPU (閒置 / 處理中) | < 5% / 15-30% |
調校建議
swap 空間(4GB 機型必備):
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=30' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Node.js 記憶體限制(4GB 機型): 在 systemd service 中加入 Environment=NODE_OPTIONS="--max-old-space-size=1536"。
減少日誌寫入(延長 SD 卡壽命): echo 'tmpfs /tmp tmpfs defaults,noatime,nosuid,size=256m 0 0' | sudo tee -a /etc/fstab
SD 卡 vs SSD 與 UPS 保護
SD 卡使用 NAND Flash,寫入次數有限。OpenClaw 持續寫入日誌和狀態,長期運行可能損壞 SD 卡[5]。NVMe SSD 在壽命、速度、穩定性上全面勝出。
Raspberry Pi 沒有優雅關機機制,突然斷電可能損壞檔案系統。市面上有 PiSugar 3、Waveshare UPS HAT 等解決方案,搭配自動關機腳本可以保護資料完整性。
Raspberry Pi vs VPS
| 面向 | Raspberry Pi | VPS |
|---|---|---|
| 月費 | 電費 $0.5-1 | $4-12 |
| 初始成本 | $150-200 | $0 |
| 網路品質 | 家用網路 | 資料中心等級 |
| 隱私 | 資料在本地 | 資料在雲端 |
| 可靠性 | 受停電影響 | 高可用性 |
如果你不想處理任何基礎設施,ClawTank 提供託管的 OpenClaw 實例,不需要 Pi 也不需要 VPS。
外部存取設定
Cloudflare Tunnel(推薦)
不需要固定 IP,不需要開放連接埠:
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb
sudo dpkg -i cloudflared.deb
cloudflared tunnel login
cloudflared tunnel create openclaw-pi
cloudflared tunnel route dns openclaw-pi openclaw.yourdomain.com
# ~/.cloudflared/config.yml
tunnel: your-tunnel-id
credentials-file: /home/your-username/.cloudflared/your-tunnel-id.json
ingress:
- hostname: openclaw.yourdomain.com
service: http://localhost:3001
- service: http_status:404
Tailscale(個人使用)
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
常見問題
Gateway 啟動失敗: 用 free -h 檢查記憶體,確認 swap 已啟用。
溫度過高降頻: vcgencmd get_throttled 回傳非 0x0 表示曾經降頻,需要更好的散熱。
時鐘不同步: Pi 沒有電池時鐘,安裝 chrony 確保 NTP 同步。
總結
Raspberry Pi 5 是運行 OpenClaw 的優秀平台。核心建議:選 Pi 5 8GB、用 NVMe SSD、設定 systemd 服務、注意散熱、考慮 UPS。整個設定過程約 30-60 分鐘,完成後你就擁有一台全天候運行的個人 AI 助理。
