真實記錄我在樹莓派上探索OpenClaw的過程——不美化、不炫技,只有真實的踩坑和驚喜。
引言
作為一名後端開發者,我的技術棧從C#開始,逐漸學會了VUE,變成了全棧開發。後來也學習了Python,也用Java開發企業級應用。但是最近這幾年,隨着AI的發展,從ChatGPT到Kimi,從在VsCode中對話,到在Cursor中編程,從學會使用Claude Code開始,我已經變成了AI全棧開發者。最近OpenClaw也很火,而我也很羨慕鋼鐵俠中的賈維斯,於是我開始探索一個不同的方向:把AI助手部署在自己的樹莓派上。
為什麼是樹莓派?
- 數據隱私:AI助手運行在自己的設備上,數據不出本地
- 硬件集成:樹莓派支持GPIO、攝像頭、藍牙等硬件
- 7x24小時運行:低功耗,可以一直待命
- 多渠道集成:直接在釘釘、Discord等通訊工具中使用
- 自動化能力強:內置Cron調度器,各種定時任務
聽起來很完美,對吧?
但實際在樹莓派上安裝和配置OpenClaw的過程中,我踩了不少坑。下面,我想記錄真實的探索過程。
為什麼選擇在樹莓派上部署OpenClaw?
我的樹莓派配置
- 型號:樹莓派4B(4GB內存)
- 系統:Linux 6.12.62+rpt-rpi-v8(ARM64架構)
- Python版本:3.8+
- Node.js版本:v24.13.0
選擇OpenClaw的原因
- 本地化部署:完全在樹莓派上運行,數據更安全
- 硬件友好:支持攝像頭、藍牙等硬件設備
- 多渠道集成:支持釘釘、Discord等,直接在聊天中使用
- 技能擴展:可以自己寫Python/Shell腳本擴展功能
- 定時任務:內置Cron調度器,自動化更方便
在樹莓派上安裝OpenClaw:從"一鍵安裝"到"慢慢摸索"
第一步:環境準備
樹莓派的系統環境和普通的x86服務器不太一樣,這點在安裝時給了我不少驚喜。
坑1:Python版本不兼容
樹莓派默認安裝的是Python 3.7,但OpenClaw需要Python 3.8+。
# 檢查Python版本
python3 --version
# Python 3.7.3
# 安裝Python 3.8+
sudo apt update
sudo apt install python3.8 python3.8-venv python3-pip
坑2:ARM64架構的Node.js安裝
OpenClaw需要Node.js,但樹莓派是ARM64架構,普通的x86版本不能用。
解決:
# 下載ARM64版本的Node.js
wget https://nodejs.org/dist/v24.13.0/node-v24.13.0-linux-arm64.tar.xz
# 解壓
tar -xf node-v24.13.0-linux-arm64.tar.xz
# 移動到系統目錄
sudo mv node-v24.13.0-linux-arm64 /usr/local/node
# 配置環境變量
echo 'export PATH=/usr/local/node/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
# 驗證安裝
node --version
# v24.13.0
第二步:安裝OpenClaw CLI
官方文檔説一行命令就能安裝:
npm install -g @openclaw/cli
但在樹莓派上,遇到了幾個問題。
坑3:npm權限問題
第一次安裝時報錯:EACCES: permission denied
解決:
# 配置npm全局目錄
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
npm install -g @openclaw/cli
坑4:npm安裝速度慢
樹莓派的性能有限,npm安裝速度很慢,甚至會超時。
解決:
# 使用國內鏡像
npm config set registry https://registry.npmmirror.com
第三步:初始化配置
openclaw init
這步比較順利,但有個小細節:
坑5:時區配置錯誤
一開始我沒注意時區設置,結果定時任務總是比我預期的時間晚8小時(UTC vs 北京時間)。
解決:
# 檢查系統時區
timedatectl status
# 顯示:Time zone: UTC
# 設置時區為Asia/Shanghai
sudo timedatectl set-timezone Asia/Shanghai
# 驗證
timedatectl status
# 顯示:Time zone: Asia/Shanghai (CST, +0800)
第四步:安裝DingTalk插件
我想用釘釘作為主要通訊工具,所以安裝了DingTalk插件:
openclaw plugins install dingtalk
坑6:插件配置複雜
安裝後需要配置AppKey、AppSecret、企業ID等信息。我在釘釘開發者後台折騰了很久才搞清楚這些參數從哪裏獲取。
解決:
- 登錄釘釘開放平台:https://open.dingtalk.com/
- 創建應用(機器人應用)
- 獲取AppKey、AppSecret
- 配置企業ID
- 在
~/.openclaw/openclaw.json中填入這些信息
配置文件示例:
{
"channels": {
"dingtalk": {
"enabled": true,
"clientId": "你的AppKey",
"clientSecret": "你的AppSecret",
"robotCode": "你的機器人編碼",
"corpId": "你的企業ID",
"dmPolicy": "open",
"groupPolicy": "open",
"messageType": "card"
}
}
}
第五步:啓動Gateway服務
openclaw gateway start
坑7:端口衝突
第一次啓動時報錯:Error: listen EADDRINUSE: address already in use :::18789
檢查發現是其他服務佔用了端口。
解決:
# 檢查端口占用
lsof -i :18789
# 停止佔用端口的進程
sudo kill <進程ID>
# 或者修改配置文件中的端口
坑8:樹莓派性能限制
啓動Gateway後,樹莓派的內存佔用很高,系統變得卡頓。
解決:
# 在~/.openclaw/openclaw.json中調整併發參數
"agents": {
"defaults": {
"maxConcurrent": 2, // 降低併發數
"subagents": {
"maxConcurrent": 4 // 降低子任務併發數
}
}
}
在樹莓派上的實用場景
場景1:藍牙TTS語音播放
我想讓OpenClaw通過藍牙音箱播放語音。這在樹莓派上實現起來很有意思。
坑9:藍牙音箱配對
樹莓派的藍牙配置和普通電腦不太一樣。
# 安裝藍牙工具
sudo apt install bluez bluez-tools pulseaudio pulseaudio-module-bluetooth
# 啓動藍牙服務
sudo systemctl start bluetooth
# 配置藍牙
sudo bluetoothctl
# 進入交互模式
[bluetooth]# power on
[bluetooth]# agent on
[bluetooth]# scan on
# 找到設備後
[bluetooth]# pair <設備MAC地址>
[bluetooth]# connect <設備MAC地址>
[bluetooth]# trust <設備MAC地址>
[bluetooth]# exit
問題:配對成功了,但音頻輸出不到藍牙音箱。
解決:
# 檢查音頻輸出設備
pactl list sinks short
# 設置默認輸出為藍牙設備
pactl set-default-sink <藍牙設備名稱>
# 測試音頻播放
paplay /usr/share/sounds/alsa/Front_Center.wav
現在,我可以對OpenClaw説:
請播放語音:"現在是下午三點,記得休息一下"
它就會通過藍牙音箱播放出來。
樹莓派上的特別之處:
- 藍牙配置需要手動操作,不像PC那樣圖形界面方便
- 脈衝音頻(PulseAudio)的配置需要熟悉
- 但一旦配置好,可以7x24小時待命,隨時播報
場景2:攝像頭拍照和控制
我想讓OpenClaw幫我拍照併發送到釘釘。樹莓派上接USB攝像頭很方便。
坑10:攝像頭被佔用
樹莓派上有個監控服務 motion,它佔用了攝像頭設備 /dev/video0。
第一次拍照時報錯:Could not open video device /dev/video0
解決:
# 停止motion服務
sudo pkill motion
sudo systemctl stop motion
# 檢查攝像頭
ls /dev/video*
# /dev/video0 /dev/video1
# 拍照
ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -frames:v 1 /tmp/photo.jpg -y
# 拍照後重啓motion(如果需要)
sudo systemctl start motion
坑11:攝像頭分辨率限制
樹莓派支持的攝像頭格式和分辨率有限。
# 查看攝像頭支持的格式
v4l2-ctl --list-formats
# 查看支持的分辨率
v4l2-ctl --list-formats-ext
# 我的icspring camera最高只支持640x480,YUYV格式
拍攝命令需要指定正確的格式:
ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -pix_fmt yuyv422 -frames:v 1 /tmp/photo.jpg -y
現在,我可以對OpenClaw説:
請拍一張照片,併發送到釘釘
幾秒後,我就能在釘釘聊天中看到剛剛拍的照片。
樹莓派上的特別之處:
- USB攝像頭熱插拔方便
- 可以和監控服務motion配合使用
- 樹莓派體積小,可以放在任何需要監控的地方
場景3:郵件發送功能
我想讓OpenClaw幫我發郵件。於是開發了一個email-sender技能。
坑12:SMTP配置陷阱
配置126郵箱的SMTP服務時,我一開始用的是郵箱密碼,結果一直報認證錯誤。
查了半天文檔才發現,126郵箱需要用"客户端授權碼",而不是郵箱密碼。
解決:
- 登錄126郵箱網頁版
- 進入設置 → POP3/SMTP/IMAP
- 開啓SMTP服務
- 獲取授權碼
- 在配置文件中使用授權碼
配置文件(/home/pi/.openclaw/workspace/config/email.conf):
[SMTP]
host = smtp.126.com
port = 465
username = ren8179@126.com
password = QHyjTYHm8w3QVpi6 # 客户端授權碼,不是郵箱密碼
Python發送腳本:
import smtplib
from email.mime.text import MIMEText
import configparser
def send_email(to, subject, content):
config = configparser.ConfigParser()
config.read('/home/pi/.openclaw/workspace/config/email.conf')
smtp_host = config['SMTP']['host']
smtp_port = config['SMTP']['port']
username = config['SMTP']['username']
password = config['SMTP']['password']
msg = MIMEText(content)
msg['From'] = username
msg['To'] = to
msg['Subject'] = subject
with smtplib.SMTP_SSL(smtp_host, smtp_port) as server:
server.login(username, password)
server.send_message(msg)
現在,我可以對OpenClaw説:
請發送郵件到ren8179@126.com,主題是"測試",內容是"OpenClaw郵件發送功能測試"
幾秒後,郵件就發送成功了。
樹莓派上的特別之處:
- 24小時在線,隨時可以發送郵件
- 可以配合定時任務,自動發送日報、週報
- 郵件內容可以基於傳感器數據(温度、濕度等)
場景4:定時任務和自動化
這是OpenClaw最強大的功能之一。內置的Cron調度器讓我可以設置各種自動化任務。
坑13:Cron表達式理解錯誤
一開始我不太理解Cron表達式的格式,導致任務執行時間和預期不符。
比如,我想設置"每天早上8點執行",我寫成了:
"expr": "0 8 * * *"
結果發現是在UTC時間8點執行,不是北京時間8點。
解決:
在配置文件中明確指定時區:
{
"schedule": {
"kind": "cron",
"expr": "0 8 * * *",
"tz": "Asia/Shanghai" // 明確指定時區
}
}
現在,我可以設置各種自動化任務:
- 每天8點:發送早間簡報到釘釘
- 每小時整點:播報時間
- 每天凌晨2點:執行數據備份
- 工作日上午9點:發送工作提醒
早間簡報示例:
{
"id": "morning-report",
"name": "早間簡報",
"schedule": {
"kind": "cron",
"expr": "0 8 * * *",
"tz": "Asia/Shanghai"
},
"payload": {
"kind": "agentTurn",
"message": "請生成今天的早間簡報,包括:\n1. 昨夜完成的工作\n2. 系統狀態\n3. 今日建議\n\n發送到釘釘"
}
}
樹莓派上的特別之處:
- 低功耗,24小時運行也不心疼電費
- 系統穩定,長時間運行不重啓
- 可以和各種硬件定時器配合
樹莓派性能優化經驗
挑戰1:內存佔用高
OpenClaw運行在樹莓派上,內存佔用是個問題。
解決方案:
-
降低併發數:
"agents": { "defaults": { "maxConcurrent": 2, "subagents": { "maxConcurrent": 4 } } } -
啓用會話壓縮:
"agents": { "defaults": { "compaction": { "mode": "safeguard", "maxTokens": 200000 } } } -
定期清理舊會話:
openclaw sessions cleanup --older-than 1d
挑戰2:磁盤空間不足
OpenClaw會話日誌會佔用大量磁盤空間。
解決方案:
# 設置日誌輪轉
sudo vim /etc/logrotate.d/openclaw
/home/pi/.openclaw/agents/main/sessions/*.jsonl {
daily
rotate 7
compress
delaycompress
missingok
notifempty
}
挑戰3:樹莓派散熱
OpenClaw持續運行會讓樹莓派發熱,影響性能。
解決方案:
# 安裝散熱監控
sudo apt install lm-sensors
# 查看温度
sensors
# 安裝散熱風扇
# 樹莓派4B強烈建議安裝主動散熱
# 配置CPU頻率調節
echo 'performance' | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
深入體驗:主動式AI助手的力量
OpenClaw最讓我驚喜的,是它的"主動性"。
傳統的AI助手
傳統的AI助手,是"被動式"的:
- 你問什麼,它答什麼
- 你不問,它什麼都不會做
- 像一個隨時待命的僕人
OpenClaw的主動性
OpenClaw的設計理念是"主動式AI助手":
- 它會主動檢查系統狀態
- 它會主動發送早間簡報
- 它會主動執行定時任務
- 像一個積極的隊友
實際案例:早間簡報
我設置了一個每日早間簡報,每天早上8點自動發送到釘釘。內容包括:
- 📝 內容創作進展
- 🚀 工具優化和創新
- 📚 學習進度
- 🔍 行業動態
- 💡 今日建議
每天早上醒來,打開釘釘,就能看到AI助手已經幫我整理好了所有重要信息。這種感覺,真的像有一個"私人助理"在默默為我工作。
樹莓派上的優勢:
- 7x24小時在線,從不錯過任何任務
- 低功耗,一個月電費不到10元
- 體積小,可以放在任何地方
我的思考:樹莓派+AI助手的可能性
以前的想法:AI在雲端
以前我覺得AI必須在雲端運行,因為:
- 雲端算力強
- 雲端模型大
- 雲端更新快
現在的想法:AI也可以在邊緣
在樹莓派上運行OpenClaw後,我的想法改變了:
AI不是隻能在雲端,也可以在邊緣設備上運行。
優勢:
- 數據隱私:所有數據在本地,更安全
- 網絡獨立:不依賴網絡,離線也能用(部分功能)
- 硬件集成:可以直接控制攝像頭、藍牙、GPIO等
- 7x24小時:低功耗,可以一直待命
- 成本可控:一次性購買,沒有訂閲費用
應用場景
基於樹莓派+OpenClaw,可以做很多事情:
- 智能家居控制中心:控制燈光、温度、安防
- 家庭監控:攝像頭拍照、異常檢測
- 語音助手:通過藍牙音箱播報信息
- 自動化任務:定時發送郵件、提醒、備份
- 遠程監控:通過釘釘隨時查看狀態
- 學習記錄:記錄學習進度、生成日報週報
寫在最後
這篇文章,記錄了我在樹莓派上安裝和配置OpenClaw的真實過程。
真實體驗總結:
- 安裝不輕鬆:踩了不少坑,但都解決了
- 學習曲線陡:需要時間熟悉,但值得
- 功能很強大:超出了我的預期
- 主動性很強:像一個真正的"隊友"
- 性能需要優化:樹莓派性能有限,需要調整配置
- 硬件集成很有趣:攝像頭、藍牙等,探索空間很大
給想嘗試的朋友的建議:
如果你也想在樹莓派上玩AI助手,我的建議是:
- 選擇合適的設備:樹莓派4B(4GB或8GB內存)
- 耐心安裝:會遇到各種問題,慢慢解決
- 關注性能:注意內存、CPU、磁盤使用情況
- 發揮硬件優勢:攝像頭、藍牙、GPIO都試試
- 記錄經驗:把踩坑經驗記錄下來,既幫助自己,也能幫助別人
下一步計劃:
- 繼續探索OpenClaw的高級功能
- 開發更多自定義技能
- 嘗試樹莓派+AI的各種組合場景
- 記錄完整的智能家居項目
- 分享更多樹莓派+AI的實踐經驗
參考鏈接
- OpenClaw 文檔:https://docs.openclaw.ai
- 釘釘開放平台:https://open.dingtalk.com/
- 樹莓派官方文檔:https://www.raspberrypi.org/documentation/
- 愛彌兒任務看板:https://github.com/ren8179/aimier-kanban
本文是真實的探索記錄,沒有美化,沒有技術炫技。只是一個後端開發者在樹莓派上探索AI助手的踩坑經歷。
發佈日期: 2026-02-07
作者: 任琪
標籤: #AI工具 #OpenClaw #樹莓派 #後端開發 #實踐經驗 #本地化部署 #智能家居