资讯动态

树莓派5部署OpenClaw:打造7×24小时常驻AI助手全指南

发布时间:2026/10/27 18:04:49 来源:尧图企业网站定制
把AI助手塞进一块比信用卡大不了多少的开发板里让它7×24小时蹲在家里随时响应这个想法我琢磨了很久。树莓派、OpenClaw、AI助手这三个词放在一起听起来就像是极客玩具的叠buff但实际跑下来这件事真的能落地而且比大部分人想象的要稳。我这次用树莓派5作为宿主部署了一个基于OpenClaw的常驻AI助手接入了本地大模型和云API两套算力跑了将近一个月没断电重启过。这篇文章把我从选型、装系统、写配置到调优稳定性踩过的坑全部记录下来。不管你是刚摸到树莓派的新手还是已经玩过一阵子的爱好者照着这套流程走都能搭出一个真正可用的24小时在线AI助手。你会碰到的卡点我先替你们踩一遍。1. 动手之前先想清楚三个问题1.1 树莓派跑AI助手硬件到底怎么选树莓派不是服务器跑AI助手不能只看能不能开机要看长期运行下的综合表现。目前主流选择是树莓派4B和5我直接说结论如果预算允许优先选树莓派58GB版本。树莓派5相比4B的提升非常明显CPU从Cortex-A72升级到Cortex-A76主频也拉到2.4GHz跑Python服务、处理并发请求时差距能感受出来。更重要的是树莓派5的PCIe接口可以直接接NVMe固态硬盘这对AI助手这类需要频繁读写配置、日志、模型缓存的场景帮助很大。我用的是NVMe转接板加一条256GB的SSD系统响应比之前用TF卡顺畅得多TF卡也不会因为频繁读写提前报废。如果手头已经有4B也不是不能用。4GB版本跑OpenClaw加小模型是够的但我强烈建议至少8GB内存版本而且系统一定要装在固态介质上TF卡只做启动引导。你非要拿3B来跑我也不拦你但那个体验真的不太行光是Python依赖装起来就能让你怀疑人生。在树莓派社区里很多人拿它和N3050小主机对比N3050胜在多核性能和内存扩展性但树莓派5的优势是功耗低、GPIO生态完善、社区资料丰富做AI助手这种轻量级常驻服务反而更合适。1.2 OpenClaw到底是什么它能解决什么问题OpenClaw是一个开源AI助手编排框架官方定位是数字员工的运行底座。它解决的核心问题不是你有没有一个模型而是你怎么让模型真正干活。打个比方模型是大脑OpenClaw是身体。大脑负责思考但思考完要行动比如查天气、记笔记、调API、执行Python脚本这些动作靠模型自己是做不到的。OpenClaw提供了一套标准化的接口把模型能力接出来再通过Skill机制让你给助手装上各种各样的手和脚。你让它帮我整理这个文件夹里的PDF标题它能把文件遍历、内容提取、结果汇总这一套流程跑完而不是只给你一段你可以这样做的废话。这个定位决定了它在树莓派上的价值很大。你不需要在树莓派上跑一个庞大的全功能应用只需要跑一个轻量的编排服务把家里的智能设备、文件服务器、定时任务都串进来。我在配置完第一个Skill之后立刻意识到它本质上是一个家里的自动化总中枢AI助手只是它的最简单形态。1.3 算力怎么来只调云API还是接本地模型这是新手最容易搞混的问题。OpenClaw本身不提供算力它只是编排框架真正的脑子要么来自云API要么来自本地部署的模型。先说结论树莓派本地跑大语言模型性能天花板很低。不要被树莓派本地部署大语言模型这种标题骗了在树莓派5上跑7B量化模型生成速度大约每秒几个token用来做实验可以做生产级响应根本受不了。但本地模型并非一无是处它不需要网络、数据不出门、响应隐私要求高的场景本地模型是唯一选择。云API路线刚好相反速度快、模型聪明但需要联网而且按token计费。OpenClaw的设计很聪明它支持不同的模型提供者你可以同时配置多个根据场景切换。我在实际部署中采用的是混合策略日常闲聊和简单任务走本地小模型复杂推理和工具调用走云API这样既控制了成本又保证了响应速度。关于OpenClaw只能用接入API的方式使用算力吗这个疑问答案是否定的它对接本地模型完全没问题只是你得好好的调参数这一点我在第4章详细展开。2. 搭建部署环境系统、换源与运行时2.1 从烧录系统到SSH登录树莓派的系统安装我推荐直接用Raspberry Pi Imager它比手动dd镜像靠谱得多尤其是内置了SSH开关和WiFi配置功能。烧录时我选择的是Raspberry Pi OS Lite64位不要装Desktop版纯命令行环境比带桌面版少占几百MB内存对服务器用途来说更干净。烧录时有三个细节容易出问题。第一Imager设置里有一项Enable SSH必须在烧录前打开否则你插上电只能接显示器键盘操作。第二WiFi配置要写对国家选CN频道等参数保持默认。第三主机名不要用默认的raspberrypi改成你以后好记的名字比如aibot这样后续访问时省很多事。第一次开机之后我习惯直接找到路由器的DHCP列表看树莓派拿到了什么IP然后用SSH连上去。如果你不小心没开SSH还有一个兜底办法把TF卡重新插回电脑在boot分区里新建一个名为ssh的空文件再插回树莓派启动SSH就会自动开启。这个方法在社区里流传很久了非常管用。2.2 换树莓派的系统源和软件源树莓派默认的软件源在国外国内网络环境下装软件经常卡到怀疑人生所以拿到系统第一件事就是换源。换源分两层一是apt源也就是系统软件包的下载源二是pip源也就是Python包的下载源。OpenClaw依赖大量Python包pip源不换的话你会在装依赖那一步耗掉一晚上。apt源我习惯用清华源。改法很简单编辑/etc/apt/sources.list把默认的deb.debian.org替换成mirrors.tuna.tsinghua.edu.cn。注意树莓派OS新版本基于Debian trixie如果源里带了nobackports之类的后缀不要删那是官方特意加的。改完执行sudo apt update如果看到一堆“跳过”或者404大概率是删错了后缀恢复原样重改一次就好。pip源同理编辑~/.pip/pip.conf写入index-url https://pypi.tuna.tsinghua.edu.cn/simple。全程用国内源之后装依赖的速度从一个多小时缩短到十几分钟这个对比极其悬殊。别在这上面将就源不换后面每个步骤都会跟着难受。2.3 安装Git、Python与DockerOpenClaw的运行依赖Python 3.11及以上树莓派OS Lite自带的Python版本够用。不过我不建议直接用系统Python装项目依赖强烈推荐用venv虚拟环境或者直接用Docker部署。我两次部署试过不同方案。第一次裸装用python3 -m venv venv建虚拟环境然后一切正常。第二次用Docker发现配置文件的多级挂载比较啰嗦而且日志查看不如裸装直接。对于前端新手我建议走venv路线逻辑更直观出问题也好排查。Git和基础工具先装好sudo apt update sudo apt install -y git curl wget htop python3 -m venv ~/openclaw-env source ~/openclaw-env/bin/activate这里有一个坑值得单独说树莓派的内存有限编译某些Python扩展包时容易卡死。如果装包时出现Killed字样多半是内存不足。解决办法是临时扩大swap默认的100MB swap根本不够我改成了2GB 修改/etc/dphys-swapfile里的CONF_SWAPSIZE2048然后sudo systemctl restart dphys-swapfile。装完依赖后再改回512MB就够用了。这个小技巧我常跟人说因为大多数人在树莓派上装AI项目翻车都是栽在内存这条沟里。3. 安装OpenClaw与首次初始化3.1 获取项目代码与安装依赖OpenClaw的安装方式很标准从官方仓库把代码clone到本地然后在虚拟环境里装依赖。我用的命令是git clone https://github.com/your-openclaw-repo/openclaw.git ~/openclaw cd ~/openclaw source ~/openclaw-env/bin/activate pip install -e .装依赖这里我要多说两句。pip install -e .会读取项目里的setup.py或pyproject.toml把全部依赖拉下来。如果你用的是树莓派4或者内存较小的设备建议先只装核心依赖跳过文档构建和可选加速包等跑通了再逐个补。日志里看到Successfully installed列表里出现一堆包名这步才算完成。有个细节是OpenClaw依赖的uvloop、pydantic这类包在arm64架构上编译时间较长期间CPU温度会明显升高。装依赖时看下温度如果超过80度给树莓派加个小散热片或者风扇再继续不然可能编译中断。我的树莓派5自带散热风扇但默认风扇策略比较保守温度到60度才开始加速我在后面配置了更激进的风扇策略编译期间明显稳很多。3.2 初始化配置一个最小可用的配置文件OpenClaw的主配置文件是config.yml在项目根目录下。首次运行前会要求初始化一般命令是openclaw init --config ./config.yml这个命令会生成一个可编辑的配置模板内容包括模型接入参数、系统人设、Skill启停、日志级别、端口号等。我贴一个最简配置的核心片段注意把API Key和模型名称替换成你自己的system: name: my-ai-assistant persona: 你是一个住在树莓派上的AI助手回答简洁、务实善用工具。 model: provider: openai base_url: https://api.openai.com/v1 api_key: sk-your-key model_name: gpt-4o-mini temperature: 0.3 max_tokens: 2048 server: host: 0.0.0.0 port: 8787 auto_start: true skills: enabled: []这段配置没有启用任何Skill只保证助手能对话。host设为0.0.0.0是为了让局域网内其他设备能访问如果你只想本机访问改成127.0.0.1即可。temperature我故意调低到0.3因为AI助手做工具调用和指令执行时温度太高容易发挥不稳定回答飘。如果你拿它做创意写作可以再调高但作为常驻服务稳定优先。3.3 验证服务是否正常启动配置好之后先别急着加入复杂功能跑一个最小的启动验证openclaw start --config ./config.yml看到日志输出Uvicorn running on http://0.0.0.0:8787说明服务已经起来了。这时再开另一个终端窗口用curl测一下对话接口curl -X POST http://localhost:8787/v1/chat -H Content-Type: application/json -d {message: 你好简单介绍一下你自己}正常的响应会带上一段JSON结构里面有助手的回复内容。如果curl返回空或者Connection refused先去检查配置文件里server.host和port是否有语法错误再看虚拟环境是否激活——这两个问题占了启动失败的大部分原因。我第一次启动时遇到的坑是pydantic版本冲突启动直接报ModuleNotFoundError。解决方法是看错误栈里缺哪个包手动pip install 包名版本号补上。都不用慌OpenClaw的依赖问题基本都能通过重新安装依赖解决。4. 让助手变聪明模型接入与Skill扩展4.1 对接Ollama本地模型之前提到OpenClaw支持本地模型最常见的方案就是对接Ollama。Ollama是一个极简的本地模型运行工具在树莓派上跑小模型很方便。安装方式一行命令curl -fsSL https://ollama.com/install.sh | sh装完以后拉取一个适合树莓派性能的模型。我用的是qwen2.5:3b量化版它在树莓派5上的生成速度大约每秒8到10个token属于可以接受的范围。拉取命令ollama pull qwen2.5:3b ollama run qwen2.5:3b 你好确认本地模型能正常对话之后回到OpenClaw的配置把模型provider改成ollamamodel: provider: ollama base_url: http://localhost:11434/v1 api_key: ollama model_name: qwen2.5:3b注意Ollama默认的API地址是http://localhost:11434路径上OpenClaw一般会自动补上/v1。如果启动后提示模型不存在检查model_name是否和ollama list输出的名字完全一致包括冒号和标签。这里也解释一下OpenClaw只能用接入API的方式使用算力吗它对接Ollama本质上也是走HTTP接口但算力完全在你本机不产生一分钱API费用。区别在于模型质量差异很大3B参数的模型和云端百B参数模型在复杂任务上的表现有断层这也是我采用混合策略的根本原因。4.2 云API接入与本地模型的切换策略OpenClaw支持在配置文件里同时定义多套模型配置按路由规则切换。我的设置是默认走本地模型当Skill需要调用工具或者处理长文本时走云API。核心思路是手动指定两个prompt规则简单问答匹配本地模型带工具调用的请求匹配云模型。如果你用的模型平台兼容OpenAI格式接入就很简单只需要改三个字段base_url、api_key、model_name。很多国内模型服务都是compatible模式直接把base_url改成对应服务地址即可。切换策略有个注意点不要在同一轮对话里频繁切换模型OpenClaw的上下文是跟着会话走的你切了模型但上下文还带着上一轮的格式回复容易乱。我的经验是日常单轮对话固定用本地模型涉及Skill执行的对话固定用云模型避免混用。4.3 动手写一个能落地的SkillOpenClaw真正值钱的地方是Skill。Skill本质上是一个定义好的工具函数告诉模型我可以做什么然后模型在合适的时候自动调用。官方自带一些Skill比如查天气、RSS订阅、定时任务。我这次自己写了一个家庭服务器状态查询的Skill实现了随口一问就能看到树莓派CPU温度、内存使用率和磁盘剩余空间。一个最小的Skill包含两部分一个描述文件和一段Python执行代码。描述文件是YAML格式写上技能名称、描述和参数定义执行代码就是普通的Python函数。我给个简化示例name: sys_status description: 查询树莓派的系统状态包括CPU温度、内存、磁盘、负载 parameters: type: object properties: {}对应的Python代码写入同一目录下的sys_status.pyimport os, psutil def run(): temp os.popen(vcgencmd measure_temp).read().strip() mem psutil.virtual_memory() disk psutil.disk_usage(/) return { temperature: temp, memory_percent: mem.percent, disk_percent: disk.percent, load_avg: os.getloadavg(), }把这两个文件放到OpenClaw的skills目录下设置里启用它然后重启服务。之后问助手树莓派状态怎么样它会先判断该调sys_status这个函数再根据返回的数据组织语言回答。这一刻你会明显感受到这个助手不是复读机它在真正干活。4.4 语音输入把Whisper接进来纯文字对话在手机和电脑上够用但如果想让树莓派助手成为一个真正的家庭语音入口语音转文字是绕不开的一环。在本地部署Whisper服务比云语音识别更适合树莓派场景原因很简单语音是实时流走云端延迟抖动明显本地处理反而稳定。最轻量的方案是用faster-whisper它比原版Whisper快很多而且有arm64架构的预编译包。安装依赖后启动一个小服务pip install faster-whisper python -m faster_whisper_server --model small --host 0.0.0.0 --port 9900然后在OpenClaw的Skill里加一个语音处理入口上传一段录音调用Whisper服务返回文字再把文字交给主对话模型。注意small模型在树莓派5上转一段10秒语音大约需要3到5秒属于可接受范围。想更快就换tiny模型但识别精度会下降。这个扩展做出来后配合一个USB麦克风树莓派就能变成一个家庭语音问答盒子成本不超过三百块。5. 24小时在线的关键远程访问与稳定性保障5.1 局域网外访问树莓派树莓派放家里出门也想用就得解决远程访问问题。我的建议是优先用开源的内网穿透方案比如frp搭配一台有公网IP的小服务器或者用ZeroTier/Tailscale做虚拟组网。这两条路我都试过结论是家里网络条件好、路由器可以端口转发的用frp经常在不同网络环境下切换的用ZeroTier省心。我想特别提醒新手不要直接改路由器把8787端口映射到公网。除非你非常懂安全配置否则树莓派默认的登录机制和API鉴权扛不住公网扫描。我在配置完frp之后把OpenClaw的server.host仍然保持内网地址只通过frp暴露同时在应用层加上token鉴权。这个双重保险保了我后面很多事。frp的配置也简单我贴一个我实际用的客户端部分[common] server_addr your-server-ip server_port 7000 [openclaw] type tcp local_ip 127.0.0.1 local_port 8787 remote_port 8787启动frpc之后在外网输入你的服务器IP:8787就能访问到家里的树莓派。注意远程访问的延迟一定比局域网高这是物理限制别指望外网调用任务能像本地一样丝滑。5.2 systemd守护与开机自启一个7×24小时的助手最怕的就是服务进程意外退出后没人拉它起来。我建议把OpenClaw做成systemd服务而不是手动nohup后台跑。systemd的好处是开机自动启动崩溃自动拉起还能记录标准日志。我在/etc/systemd/system/openclaw.service里写的配置[Unit] DescriptionOpenClaw AI Assistant Afternetwork.target ollama.service [Service] Typesimple Userpi WorkingDirectory/home/pi/openclaw ExecStart/home/pi/openclaw-env/bin/openclaw start --config /home/pi/openclaw/config.yml Restartalways RestartSec10 EnvironmentPYTHONUNBUFFERED1 [Install] WantedBymulti-user.target写完后执行sudo systemctl daemon-reload sudo systemctl enable openclaw --now。以后不管树莓派断电恢复还是进程崩溃系统都会自动拉起服务。这个配置里RestartSec10我有意留了10秒缓冲避免服务崩溃后立刻重启导致连续失败陷入重启风暴。5.3 断电恢复与内存优化树莓派毕竟不是服务器硬件断电重启是常态。为了让重启后一切自动回到可用状态除了systemd之外还需要处理两个隐患一是文件系统损坏二是内存不足。文件系统方面我在/etc/fstab给关键分区加了noatime选项减少写盘次数。扩展分区和SSD硬盘之间建议手动挂载而不是依赖自动挂载同时确保挂载点在OpenClaw启动前就已就绪。你可能觉得这些操作麻烦但经历过一次重启后服务起不来、查了半天发现是硬盘没挂载的教训你就不会再省这一步了。内存方面树莓派5的8GB版本相对宽裕但运行Ollama加OpenClaw依然紧张。我在Ollama的启动参数里限制了模型最多使用4GB内存给OpenClaw留足余量。另外给系统增加2GB swap作为突发流量下的缓冲。这些细节叠加起来我在实际运行的一个月里中途OOM没有发生过一次。5.4 散热和功耗树莓派风扇转速调校长期运行最容易被忽略的就是散热。树莓派5原装风扇是温控的但默认策略偏保守CPU到60度才开启全速。高频访问时温度偶尔冲到80度以上风扇嗡嗡响但降温效果一般。后来我改了/boot/firmware/config.txt里的风扇控制参数把触发温度下限调到50度dtparamfan_temp50000,fan_temp_hyst10000改完之后风扇会更频密地低速运转温度稳定在55度左右噪音反而比忽快忽慢的全速风噪更低。树莓派的GPIO引脚图可以在官方文档里查到如果你想自己外接风扇做PID控制也可以直接用PWM引脚编程实现。我实测下来官方原装风扇加合理温控策略对于OpenClaw这种负载已经绰绰有余。功耗方面树莓派5满载大约10W出头待机不到4W比一台N3050小主机省电多了。这也是我坚持用它而不是x86迷你主机的核心理由——24小时开一个月电费几乎可以忽略不计。6. 高频问题排查实录6.1 换源后软件装不上怎么办换源之后最常见的问题是apt update出现404多半是源地址里混入了Debian新版本的仓库路径而树莓派OS有几个软件包只放在自己的源里。解决方法是先恢复原厂配置确认能update再换源时用nano编辑把bookworm替换为trixie时不要多删字符。我踩过最深的坑是手滑删掉了nobackports后缀结果apt源里查不到包。恢复方法把这一行改回deb https://deb.debian.org/debian trixie main contrib non-free non-free-firmware再换源。6.2 内存不足OOM症状是服务运行一段时间后突然掉线日志里出现Killed process。排查先看htop确认哪些进程占内存最多。大概率是Ollama的模型占满内存然后系统把OpenClaw杀了。解决办法是给Ollama模型设置内存上限或者减少max_tokens。注意max_tokens不仅影响单次回复长度还影响推理时显存/内存的占用峰值云端API没这个问题本地模型必须调。6.3 模型加载超时或连接拒绝这种情况大多不是模型的问题而是服务启动顺序不对。Ollama还没完全加载模型时OpenClaw就去请求自然连接拒绝。我的解决办法是在systemd配置里用Afterollama.service声明顺序并给OpenClaw的RestartSec留够缓冲。如果你发现curl localhost:11434有响应但OpenClaw内部报超时检查一下base_url是否以/v1结尾这是最容易漏的。6.4 远程页面打不开从外部访问时打不开优先排查三件事frpc进程是否活着、服务器安全组是否放行端口、本地防火墙是否拦截。在我实际排查中发现很多人卡在最后一步树莓派内部的ufw默认拒绝所有外部连接而frp的流量是从本地端口出去的ufw会拦住。执行sudo ufw allow 8787就好。如果还是不行在frpc那台机器上执行curl http://127.0.0.1:8787/先确认本地服务没挂再往链路外面找。6.5 风扇噪音大或完全不转树莓派5的风扇问题分成两种。一种是一直全速转吵得不行另一种是温度已经70度了还不转。都和config.txt里的风扇策略有关。直接改dtparamfan_temp50000,fan_temp_hyst10000可以解决大部分噪音问题。如果想更精细可以装rpi-fan-control这类脚本根据CPU负载动态调整PWM占空比。我个人的经验是官方风扇胶垫用久了会老化松动震动变大换一套新的散热套装能明显降噪。写了这么多最后说点实际体会。树莓派跑OpenClaw这件事真正有意思的不是让它能聊天而是把它变成一个长期在线、还能干活的家庭成员。我后来扩展了几个实用Skill每天早上自动检查家里的NAS磁盘空间、监控局域网内设备在线状态、甚至对接了一个简单的定时任务提醒系统。这台小机器的价值会在你习惯它存在之后慢慢体现出来。踩过几次坑之后我最深的感受是树莓派算力小不是问题问题是你愿不愿意在硬件约束下做取舍。本地模型加云API的混合策略、合理的内存上限、可靠的开机自启这三件套做好之后这台没用几百块的开发板完全可以扛起一个家庭AI助手的担子。如果你正好手头有闲置的树莓派这周末就可以试起来。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑