
给一张信用卡大小的电脑装上 “大脑”,是一件特别有成就感的事。这不是普通的大脑,而是一个AI 智能体:能管理日程、整理收件箱、在 Telegram 上和你聊天,还能 24 小时安静摆在桌面,功耗比小夜灯还低。
今天我们就一步步实现它:用树莓派 4,通过官方工具把全新系统烧进 microSD 卡,安装最新版 Node.js,运行 OpenClaw,最后接上一块 3.5 英寸液晶屏,不用外接显示器也能直接看到内容。
运行Openclaw的树莓派4搭配3.5英寸触摸屏——完美的人工智能智能体配置。以下是构建方法,下面是一个完整的教程。

你需要准备的硬件
树莓派 4(推荐 4GB/8GB 内存,8GB 更适合 OpenClaw),也可以用树莓派 5
全新 microSD 卡(至少 32GB,建议 64GB 以上,Class 10 / A2 性能更好)
microSD 卡读卡器
3.5 英寸 RPi LCD(A/B/C 型均可,本文以 C 型为例)
5V 3A USB-C 电源(供电不足会导致各种奇怪问题)
网线或 Wi-Fi 信息
一台电脑(Windows/macOS/Linux)用于烧卡
Anthropic、OpenAI 等支持的 LLM 提供商的 API Key(订阅更划算)
第一部分:用树莓派官方工具烧录系统
树莓派官方 Imager 是最简单的烧录方式,全平台通用。
下载并安装烧录工具
前往 raspberrypi.com/software,下载适用于你操作系统的树莓派烧录工具。它适用于macOS、Windows以及Ubuntu/Debian Linux。像安装其他应用程序一样安装它——在Mac上拖到“应用程序”文件夹,在Windows上运行安装程序,在Linux上使用包管理器。
刷写镜像
1.将microSD卡插入读卡器,然后插入电脑。
2.打开树莓派烧录工具。
3.选择你的设备——从列表中选择“树莓派4”。
4.选择操作系统——选择Raspberry Pi OS(64位)。这里选择64位版本很重要,因为Openclaw和Node.js都能从中受益。如果你打算无头运行Openclaw(不带桌面环境),你可以选择Raspberry Pi OS Lite(64位),这样可以释放大约600MB的内存。不过,既然我们要连接液晶屏,完整桌面版能让屏幕更有用。
5.选择存储设备——选择你的microSD卡。仔细检查,确保选对了驱动器。

首次使用树莓派烧录工具设置树莓派
使用设置齿轮进行预配置
在点击“写入”之前,点击齿轮图标(或在新版本中点击“编辑设置”)。这是让你无需键盘和显示器就能进行初始设置的秘诀:
设置主机名——比如piagent.local,这样容易记住
启用SSH——勾选此框并设置密码(或粘贴你的公钥)。这很重要,因为理想情况下,如果你想更改某些设置,这就是你稍后从电脑连接到树莓派的方式。
配置Wi-Fi——输入你的SSID和密码,这样树莓派首次启动时就能自动连接
设置地区——选择你的时区和键盘布局
设置用户名和密码——默认的pi用户就可以,但要选择一个强密码
点击“保存”,然后点击“写入”。烧录工具将下载镜像、刷写并验证。根据你的卡速度,这需要几分钟时间。
完成后,安全地弹出卡,然后将其插入树莓派4。
第二部分:首次启动和系统更新
将树莓派连接到电源(如果你不使用Wi-Fi,则连接以太网线)。给它一两分钟时间启动。如果你在烧录工具中配置了SSH和Wi-Fi,能直接从电脑连接:
ssh pi@piagent.local如果主机名解析不起作用,你可以从路由器的管理面板中找到树莓派的IP地址,然后直接使用IP地址进行SSH连接。
连接后,更新所有内容:
sudo apt update && sudo apt upgrade -y这会拉取最新的安全补丁和软件包更新。这可能需要几分钟时间——去喝杯咖啡吧。
第三部分:安装最新版本的Node.js
Openclaw需要Node.js 22或更高版本。树莓派操作系统自带的Node.js版本通常已经过时,所以我们通过NodeSource来安装:
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -sudo apt install -y nodejs
验证安装:
node --version # Should show v22.x.x or newernpm --version # Should show 10.x.x or newer
你还需要基本的构建工具来处理任何本地的npm软件包:
sudo apt install -y git curl build-essential设置你的时区
这比你想象的要重要得多——Openclaw使用时间戳来安排日程、提醒和类似cron的任务:
sudo timedatectl set-timezone Europe/Paris当然,要替换成你自己的时区。你可以使用timedatectl list-timezones列出可用的时区。
第四部分:安装Openclaw
有了Node.js,安装Openclaw就非常简单了。官方的一行命令就能处理所有事情:
curl -fsSL https://openclaw.ai/install.sh | bash这会下载命令行界面(CLI),通过npm全局安装它,并启动入门向导。向导会引导你完成以下步骤:
1.确认安全警告——Openclaw会获得深度的系统访问权限,这正是为什么在专用的树莓派上运行它而不是在你的主电脑上运行是个好主意。
2.选择快速入门模式——这是首次设置的推荐选项。一开始就选这个。
3.选择你的人工智能提供商——Anthropic(Claude)、OpenAI或本地模型。当提示时,粘贴你的API密钥。我建议选择OpenAI并选择Codex——这样你使用的是订阅服务,而不是API,这样你就不会支付比已经支付的费用更多的钱了。
4.选择一个模型——比如,如果你使用Anthropic,就选择Claude Sonnet或Opus;如果你使用OpenAI,就选择GPT-5.4或GPT-5.3-codex。只需选择最新推荐的即可。
5.设置通信渠道——Telegram配置起来最快。向导将引导你在Telegram上通过BotFather创建一个机器人,并粘贴令牌。如果你没有Telegram,WhatsApp也非常简单易用——这一步的详细说明如下。
6.选择技能——你可以暂时跳过这些,稍后再添加。核心智能体没有这些额外功能也能正常工作。
向导完成后,Openclaw将启动你的机器人,并给你一个仪表板URL(通常是http://localhost:18789)。
将Openclaw作为服务运行
你希望Openclaw在重启后继续运行,并且在关闭SSH会话后也不中断。入门向导通常会设置好这一点,你可以验证:
openclaw statussudo systemctl status openclaw
如果它没有作为服务设置,你可以启用它:
openclaw onboard --install-daemon快速健康检查
运行内置的诊断工具:
openclaw doctor这会检查你的配置、API连接和网关状态。如果有什么不对劲,它通常会告诉你确切需要修复什么。你也可以运行openclaw doctor --fix让它自动修复常见问题。
第4a部分:通过SSH配置Openclaw
在设置消息渠道之前,我们先熟悉一下如何通过SSH编辑Openclaw配置。Openclaw的所有设置都存储在~/.openclaw/openclaw.json这个单一的JSON5文件中。你有几种方法可以修改它。
最安全的CLI方式
openclaw config命令会在写入前根据你的模式验证你的更改,所以它不会引入无效的键,导致网关无法启动:
# View the entire current configopenclaw config get
# Read a specific valueopenclaw config get gateway.port# Set a specific valueopenclaw config set gateway.port 18789# Remove a settingopenclaw config unset tools.web.search.apiKey
直接编辑文件
如果你更喜欢直接编辑原始文件(这对于较大的更改很有用),请务必先备份:
# Back up the configcp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak
# Edit with nano (or vim, if you prefer)nano ~/.openclaw/openclaw.json# Validate after savingopenclaw doctor
这个文件是JSON5格式,这意味着注释(//像这样)、尾随逗号和未加引号的键都是有效的。但要小心:未知的键或无效的类型会导致网关完全拒绝启动。没有优雅的降级——它很严格。
Web用户界面
如果网关正在运行,你也可以通过浏览器在http://127.0.0.1:18789的“配置”标签下编辑配置。先从你的笔记本电脑隧道连接:
ssh -L 18789:localhost:18789 pi@piagent.local然后在浏览器中打开http://localhost:18789。
热重载
网关会监视openclaw.json的更改,并自动热重载大多数设置——无需手动重启。渠道设置、模型更改、访问策略和工具权限都会热应用。对于少数确实需要重启的设置(比如更改网关端口或绑定地址),默认的“混合”重载模式会自动处理。
通过SSH进行的基本安全配置
这是你应该首先配置的内容。锁定网关,使其只监听本地主机,并要求令牌认证:
# Bind to localhost only (prevents exposure to the network)openclaw config set gateway.bind loopback
# Verify auth mode is set to tokenopenclaw config get gateway.auth.mode# Lock down file permissionschmod 700 ~/.openclawchmod 600 ~/.openclaw/openclaw.jsonchmod 700 ~/.openclaw/credentials
如果你需要远程访问仪表板,使用SSH隧道或Tailscale——永远不要直接将18789端口暴露给互联网。
第4b部分:设置Telegram(分步指南)
Telegram是与Openclaw一起工作的最快的渠道。它默认使用长轮询,所以无需配置webhook,也无需暴露端口。你大约五分钟就能让它运行起来。
第一步:通过BotFather创建机器人
在你的手机或桌面Telegram应用上:
1.搜索@BotFather——确保它是带有蓝色验证标记的官方账号。
2.开始聊天并发送/newbot。
3.BotFather会要求你输入一个显示名称——输入类似Pi Agent或My Openclaw这样的名称。
4.接下来它会要求你输入一个用户名——这个用户名必须以bot或_bot结尾,比如my_openclaw_pi_bot。
5.BotFather会回复你的机器人令牌——一个看起来像835019428:ABCdefGHIjklMNOpqrsTUVwxyz的长字符串。复制这个令牌并保密。任何拥有这个令牌的人都可以控制你的机器人。
第二步:获取你的Telegram用户ID
你需要你的数字Telegram用户ID来设置访问控制。在Telegram中搜索@userinfobot,点击开始,它会回复你的用户ID(一个像123456789这样的数字)。复制这个ID。
第三步:配置Openclaw
SSH连接到你的树莓派,并将Telegram渠道添加到你的配置中。你可以使用CLI:
openclaw config set channels.telegram.enabled trueopenclaw config set channels.telegram.botToken "YOUR_BOT_TOKEN_HERE"openclaw config set channels.telegram.dmPolicy "pairing"
或者直接编辑配置文件:
nano ~/.openclaw/openclaw.json添加(或合并)channels块:
{channels: {telegram: {enabled: true,botToken: "835019428:ABCdefGHIjklMNOpqrsTUVwxyz",dmPolicy: "pairing",// Optional: restrict to specific users by numeric ID// allowFrom: ["123456789"],},},}
重要提示:Telegram配置在channels.telegram下,而不是在plugins.entries.telegram下。放错地方是一个常见错误,会导致“插件未找到”错误。
第四步:重启并配对
重启网关以启用新渠道:
openclaw gateway restart检查Telegram是否正确启动:
openclaw channels status# Should show: Telegram default: enabled, configured, running, mode:polling
现在在手机上打开Telegram,找到你的机器人(搜索你选择的用户名,或点击BotFather给你的链接)。发送/start或任何消息。由于我们将dmPolicy设置为"pairing",机器人会回复一个配对码——比如ABC123。
在树莓派上批准配对:
openclaw pairing approve telegram ABC123就是这样。再给你的机器人发送一条消息,你应该会在几秒钟内收到人工智能的回复。
第五步:可选的Telegram调整
在基本功能正常工作后,有一些设置值得配置:
# If you want the bot to work in group chats (requires @mention by default)openclaw config set channels.telegram.groups.*.requireMention true
# Set specific user allowlist (numeric IDs only, not usernames)openclaw config set channels.telegram.allowFrom '["123456789"]' --json
如果你计划在Telegram群聊中使用你的机器人,回到BotFather并发送/setjoingroups,选择你的机器人,并选择“启用”。你可能还想发送/setprivacy并禁用隐私模式,这样机器人就能看到所有群消息,而不仅仅是@提及它的消息。注意,更改隐私设置后,你需要从现有群聊中移除并重新添加机器人,更改才能生效。
第4C部分c:设置WhatsApp(分步指南)
WhatsApp可以说是日常使用最方便的渠道——它是大多数人手机上已经有的应用。Openclaw通过Baileys库连接到WhatsApp,Baileys是WhatsApp Web多设备协议的开源实现。这意味着你将你的树莓派链接为你现有WhatsApp账户的配套设备,就像你链接WhatsApp Web或WhatsApp Desktop一样。
你需要的东西
你手机上的WhatsApp账户
你的手机必须保持在线(如果离线超过约14天,WhatsApp将取消链接会话)
建议使用一个专用的电话号码——使用你的个人号码也可以,但使用一个便宜的预付费SIM卡或eSIM卡能让你更好地分离
为什么选择Baileys而不是商业API?
官方的WhatsApp商业API按对话收费,需要Meta验证,并对出站消息施加模板要求。Baileys是免费的,适用于任何个人WhatsApp账户,并且没有这些限制。代价是它依赖于逆向工程,所以如果WhatsApp更改协议,理论上它可能会中断。实际上,社区会迅速跟进。
第一步:配置WhatsApp访问
SSH连接到你的树莓派并设置渠道配置:
openclaw config set channels.whatsapp.dmPolicy "pairing"openclaw config set channels.whatsapp.allowFrom '["+48XXXXXXXXX"]' --json
将+48XXXXXXXXX替换为你实际的国际格式电话号码(包括国家代码)。这个白名单控制谁能给你的机器人发消息。你可以添加多个号码:
openclaw config set channels.whatsapp.allowFrom '["+48XXXXXXXXX", "+1XXXXXXXXXX"]' --json或者直接编辑配置文件:
{channels: {whatsapp: {dmPolicy: "pairing", // or "allowlist" for stricter controlallowFrom: ["+48XXXXXXXXX"],groupPolicy: "allowlist", // restrict group accessgroupAllowFrom: ["+48XXXXXXXXX"],},},}
dmPolicy选项有:
"pairing"(推荐)——未知发件人会收到一个配对码,你必须批准后他们才能与机器人交谈。
"allowlist"——只有allowFrom中的号码可以给机器人发消息。其他人会被静默忽略。
"open"——任何人都可以给机器人发消息。除非你想耗尽你的API额度,否则不要使用这个选项。
第二步:通过二维码链接WhatsApp
配置完成后,运行:
openclaw channels login --channel whatsapp一个二维码会出现在你的终端中。在手机上打开WhatsApp,进入设置→链接设备→链接设备,然后扫描二维码。树莓派现在就像是一个链接的配套设备。
会话凭证保存在~/.openclaw/credentials/whatsapp/。像对待密码一样对待这个目录——任何拥有这些文件的人都可以冒充你的链接会话。
第三步:测试它
从另一部手机(或请别人)给你链接的WhatsApp号码发送一条消息。如果你使用的是dmPolicy: "pairing",机器人会发回一个配对码。批准它:
openclaw pairing approve whatsapp <CODE>批准后,消息将传递给人工智能,回复将直接发回WhatsApp。
如果你使用的是 dmPolicy: "allowlist" 并且已将发件人号码添加到 allowFrom 中,则无需配对即可立即生效。
第四步:验证所有设置
# Check all channel statusesopenclaw channels status
# Watch live logs for issuesopenclaw logs --follow# If WhatsApp shows as disconnected, re-linkopenclaw channels login --channel whatsapp
WhatsApp故障排除
二维码无法扫描——确保在首次扫描期间,手机与树莓派处于同一网络。链接后,它们无需处于同一网络。
会话断开——如果手机长时间离线,或者已达到4个已链接设备的限制,会话将中断。从WhatsApp设置→已链接设备中删除未使用的已链接设备,然后重新运行 openclaw channels login --channel whatsapp。
消息发送失败——使用 openclaw logs --follow 查看网关日志,查找特定错误代码。通常原因包括速率限制、网络问题或收件人屏蔽了你的号码。
凭据问题后重新链接——删除凭据文件夹并重新开始:
rm -rf ~/.openclaw/credentials/whatsapp/openclaw channels login --channel whatsapp
第4d部分:通过SSH进行常见配置操作
以下是一些有用的配置命令,在一切正常后,你可能需要通过SSH运行这些命令。
更改AI模型
# See what model is currently configuredopenclaw config get agents.defaults.model
# Switch to a different modelopenclaw config set agents.defaults.model "anthropic/claude-sonnet-4-5"# Set a fallback model in case the primary is downnano ~/.openclaw/openclaw.json
在配置文件中,备用模型如下所示:
{agents: {defaults: {model: {primary: "anthropic/claude-sonnet-4-5",fallbacks: ["anthropic/claude-haiku-4-5",],},},},}
设置心跳(记忆整合)
OpenClaw的心跳功能会定期将对话上下文整合到记忆文件中,以免丢失长期运行的任务:
openclaw config set agents.defaults.heartbeat.every "30m"为你的代理命名
openclaw config set identity.name "PiBot"openclaw config set identity.emoji "🦞"
设置定时任务
你可以安排周期性任务。例如,设置晨间简报:
nano ~/.openclaw/openclaw.json添加一个 cron 部分:
{cron: {jobs: [{name: "Morning Brief",schedule: { kind: "cron", expr: "0 8 * * *" },sessionTarget: "isolated",payload: {kind: "agentTurn",message: "Give me a summary of today's weather and any reminders.",},},],},}
同时启用Telegram和WhatsApp
你可以同时运行多个频道。只需在配置中包含两个频道的配置块:
{channels: {telegram: {enabled: true,botToken: "YOUR_TELEGRAM_BOT_TOKEN",dmPolicy: "pairing",},whatsapp: {dmPolicy: "pairing",allowFrom: ["+48XXXXXXXXX"],},},}
来自任何频道的消息都会到达同一个代理,并共享相同的记忆。你可以在Telegram上开始对话,然后在WhatsApp上继续。
完整配置验证
进行任何手动编辑后,务必进行验证:
# Check for problemsopenclaw doctor
# Auto-fix what it canopenclaw doctor --fix# Verify the gateway is healthyopenclaw statusopenclaw health
安全注意事项
这一点值得强调:OpenClaw具有与你用户账户相同的系统访问权限。在专用的树莓派上,这是可控的——它是一个隔离的设备。但你仍应采取基本预防措施。通过编辑 openclaw.json 将网关绑定地址设置为 127.0.0.1(而非 0.0.0.0),从而将网关仅绑定到本地主机。如果需要远程访问,请使用Tailscale或SSH隧道,而不是直接暴露端口。
第5部分:连接3.5英寸液晶显示屏
现在到了有趣的部分——为你的树莓派添加“面孔”。3.5英寸液晶显示屏直接连接到GPIO接口,为你提供480×320像素的触摸屏。虽然屏幕不大,但足以显示仪表盘、状态信息,或者让整个设置更具真实感。

物理连接
首先关闭树莓派电源:
sudo shutdown -h now小心地将液晶显示屏的母GPIO接口与树莓派的公GPIO引脚对齐。显示屏位于树莓派上方,覆盖电路板。确保所有26(或40)个引脚都正确连接——连接错位可能导致屏幕无法工作,甚至更糟的是损坏屏幕。
连接完成后,重新启动树莓派。
安装驱动程序
通过SSH重新连接到树莓派并安装液晶显示屏驱动程序。具体命令取决于你使用的型号。一般来说,最好的方法是按照官方教程操做,因为他们会逐步讲解。
第6部分:整合所有部分
至此,你已经拥有一台运行最新树莓派操作系统的树莓派4,安装了Node.js 22,OpenClaw作为系统服务运行,还有一块3.5英寸液晶显示屏显示桌面。以下是如何充分利用这一设置。
在液晶显示屏上访问OpenClaw仪表盘
你可以在树莓派桌面(预装了Chromium浏览器)上打开浏览器,并导航至:
http://localhost:18789这样即可在小屏幕上打开OpenClaw仪表盘。虽然480×320像素的浏览体验并不宽敞,但足以查看状态和阅读最近的消息。
通过SSH隧道远程访问
你也可以从笔记本电脑或台式机建立仪表盘隧道:
ssh -L 18789:localhost:18789 pi@piagent.local然后在主浏览器中打开 http://localhost:18789,以获得更舒适的体验。
与你的代理对话
如果你在设置过程中配置了Telegram,只需在手机上打开Telegram并向你的机器人发送消息。让它执行某些操作——查看天气、起草电子邮件、设置提醒。OpenClaw将使用你选择的大语言模型处理请求,并在聊天中直接回复。
树莓派4的性能提示
树莓派4的CPU性能大约比树莓派5慢2-2.5倍,但它仍然完全能够作为OpenClaw的协调中心运行。繁重的AI推理通过API调用在云端进行——你的树莓派只需进行协调。需要注意以下几点:
考虑使用USB固态硬盘而非microSD卡进行日常使用。对于OpenClaw频繁对SQLite数据库和日志文件进行的小规模读写操作,SD卡速度较慢。即使是便宜的USB固态硬盘也能带来显著差异。
使用 htop 监控交换空间使用情况。如果你经常大量使用交换空间,4GB型号可能无法满足你的工作负载需求。
不要尝试在树莓派4上运行本地大语言模型。即使是小型模型也会消耗过多内存。坚持使用云API,让树莓派发挥其专长:安静地保持连接并进行协调。除非你添加AI加速扩展板。
总结
我们构建的是一个自给自足的AI代理工作站,硬件成本远低于100美元。一台运行全新操作系统的树莓派4、最新版本的Node.js、作为持久服务运行的OpenClaw,以及一块让你随时查看代理动态的3.5英寸触摸屏——所有这些设备的功耗仅约1瓦。
这一设置的优点在于隔离性。你的主计算机保持原样,你的个人数据保持独立,你的AI代理拥有自己的小沙盒来运行。它始终在线、始终连接,并随时准备提供帮助。
现在,给你的“龙虾”找点事做吧。例如:让它构建一个始终运行的终端应用程序,并在你的树莓派屏幕上显示OpenClaw的最近消息。它运行得非常出色。
点击文章最底下的【原文链接】按钮,查看原文。
如果你想了解更多关于 OpenClaw 的文章,可以查看下面内容:
解锁超强组合!树莓派5 + OpenClaw(ClawdBot)能产生哪些玩法?
树莓派 CM0 NANO + OpenClaw + 飞书:打造我的7x24小时 AI 秘书!
抛开 OpenClaw 炒作:谈谈我那套基于树莓派7×24小时自托管的AI代理团队!
比 OpenClaw 快 400 倍、省 99% 内存!在树莓派CM0上部署 ZeroClaw !
启动时间不到1秒!比OpenClaw省99%内存!在树莓派CM0上部署 PicoClaw!
只知道龙虾?盘点那些可在树莓派等设备上运行的 OpenClaw 替代方案!
1. 树莓派CM0,CM0NANO 开启测评!

如果您是具有一定影响力的树莓派爱好者,创客爱好者,热爱动手,搞项目做测评,拥有自己的树莓派圈子,活跃在各个树莓派的论坛,或者是小有成就媒体博主,都可以添加小编微信:EDATEC_SH,备注测评申请!(名额有限)点击此处了解规则!
2. 加入树莓派爱好者群!
话题:代码、DIY、项目、整活、求教程
成员:学生、社畜、退休工程师、神秘高中生
添加小编拉你进群,微信号:EDATEC_SH

官方网站:https://edatec.cn/zh/cm0
淘宝店铺:https://edatec.taobao.com/
夜雨聆风