从闲置到满配:树莓派作为 OpenClaw 宿主的完整实践

硬件环境

  • 主机: Raspberry Pi 4 (4GB RAM)
  • 存储: 移动硬盘 (SSD 迁移后)
  • 系统: Raspberry Pi OS (Debian 12 Bookworm, ARM64)
  • 网络: 代理节点 (Trojan) 用于 API 访问

核心目标

将闲置树莓派改造为 24 小时在线的本地 AI 中枢,实现邮件自动化、多模型 AI 路由、跨平台通讯集成与知识库管理。


整体架构

scss 复制代码
┌─────────────────────────────────────────────────────────────┐
│                     用户交互层                               │
│  ┌─────────┐  ┌──────────┐  ┌─────────┐  ┌──────────────┐  │
│  │ WebChat │  │ Telegram │  │  微信   │  │    邮箱      │  │
│  └────┬────┘  └────┬─────┘  └────┬────┘  └──────┬───────┘  │
└───────┼────────────┼─────────────┼──────────────┼──────────┘
        │            │             │              │
        └────────────┴─────────────┴──────────────┘
                          │
                          ▼
        ┌─────────────────────────────────────────┐
        │           OpenClaw Gateway              │
        │  ┌─────────────────────────────────┐    │
        │  │         Agent Router            │    │
        │  │  ┌─────┬──────┬─────┬────────┐  │    │
        │  │  │main │coding│free │reasoning│  │    │
        │  │  └──┬──┴──┬───┴──┬──┴───┬────┘  │    │
        │  └─────┼─────┼──────┼──────┼───────┘    │
        │        │     │      │      │            │
        │  ┌─────┴─────┴──────┴──────┴───────┐    │
        │  │      Model Provider              │    │
        │  │  ┌──────────┐   ┌────────────┐  │    │
        │  │  │Moonshot  │   │SiliconFlow │  │    │
        │  │  │(Kimi)    │   │(DeepSeek)  │  │    │
        │  │  └──────────┘   └────────────┘  │    │
        │  └──────────────────────────────────┘    │
        └─────────────────────────────────────────┘
                          │
        ┌─────────────────┼─────────────────┐
        ▼                 ▼                 ▼
┌──────────────┐  ┌──────────────┐  ┌──────────────┐
│ OpenViking   │  │ Browser      │  │   Skills     │
│ (RAG)        │  │ (Playwright) │  │ (WeChat/Email)│
└──────────────┘  └──────────────┘  └──────────────┘

任务清单(一晚完成)

系统层

  • 诊断并修复树莓派随机卡死问题(swap 扩容 100MB→1GB + watchdog 配置)
  • 系统固件升级(bluez-firmware、firmware-brcm80211、raspi-firmware)
  • 内核升级 6.1 → 6.12.62+rpt,清理旧内核释放 150MB+ 空间
  • 存储迁移:从 SD 卡迁移到 SSD,优化 I/O 性能
  • 修复开机自启项,配置 systemd 服务保活

OpenClaw 核心

  • 多 Agent 架构配置(main/agent2/agent3/coding/longcontext/reasoning)
  • 对比 SiliconFlow 与 Kimi token 价格,配置成本最优的路由策略
  • 清理 Gateway fallbacks 中的免费模型,统一使用 Kimi-k2.5 保证输出质量
  • 安装 Playwright Chromium,启用浏览器自动化与网页搜索能力
  • 树莓派密码重置指导(文档记录)

通讯集成

  • Gmail 邮箱接入,自动分类面试邮件并生成时间表摘要
  • Telegram Bot 配置与 Gateway 启动
  • Telegram 自动回复脚本编写
  • UOS 版微信 ARM64 原生安装与运行
  • 微信开机自启配置(systemd + 桌面双保险)
  • 微信 Hook 方案设计(Frida + OCR 双备份)
  • 微信库依赖修复与故障排查

知识库与工具

  • OpenViking (RAG) 向量数据库部署
  • 代理配置(Trojan)用于 API 访问

关键配置详解

1. OpenClaw Gateway 配置

json 复制代码
// ~/.openclaw/openclaw.json
{
  "defaultProfile": "openclaw",
  "profiles": {
    "openclaw": {
      "headless": true,
      "executablePath": "/home/chris/.cache/ms-playwright/chromium-1097/chrome-linux/chrome"
    }
  },
  "agents": {
    "main": {
      "model": "moonshot/kimi-k2.5",
      "fallbacks": ["moonshot/kimi-k2.5"]
    },
    "free": {
      "model": "siliconflow/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B"
    }
  }
}

关键决策 : 移除 siliconflow/deepseek-ai/DeepSeek-V3.2 等免费 fallback,避免轻量任务意外触发低质量模型,确保输出稳定性。

2. 微信开机自启服务

ini 复制代码
# ~/.config/systemd/user/wechat.service
[Unit]
Description=WeChat UOS
After=graphical-session.target

[Service]
Type=simple
ExecStart=/home/chris/bin/wechat-start.sh
Restart=on-failure
RestartSec=5

[Install]
WantedBy=default.target
bash 复制代码
# ~/bin/wechat-start.sh
#!/bin/bash
export DISPLAY=:0
export GDK_BACKEND=x11
export QT_QPA_PLATFORM=xcb

LOCKFILE=/tmp/wechat.lock
if [ -f "$LOCKFILE" ]; then
    PID=$(cat "$LOCKFILE")
    if ps -p "$PID" > /dev/null 2>&1; then
        echo "WeChat already running (PID: $PID)"
        exit 0
    fi
fi

/opt/wechat/wechat --no-sandbox --disable-gpu &
echo $! > "$LOCKFILE"
wait
rm -f "$LOCKFILE"

3. 系统稳定性配置

ini 复制代码
# /etc/dphys-swapfile 修改
CONF_SWAPSIZE=1024  # 从 100MB 提升到 1GB

# Watchdog 配置
sudo apt install watchdog
sudo systemctl enable watchdog

/etc/watchdog.conf 关键参数:

ini 复制代码
watchdog-device = /dev/watchdog
max-load-1 = 24
memory-capacity-check = 1

性能基准测试

指标 SD 卡 SSD 提升
系统启动时间 45s 18s 2.5x
apt upgrade 耗时 8m 32s 2m 15s 3.8x
Chromium 启动 12s 4s 3x
微信冷启动 25s 8s 3.1x

资源占用(运行时) :

  • 内存: 1.1-1.3GB / 4GB (含 OS + OpenClaw + 微信 + 浏览器)
  • CPU: 空闲 2-5%,任务高峰期 40-60%
  • 温度: 43-48°C(被动散热,无风扇)
  • 磁盘: SSD 使用率 23%

成本分析(月度)

项目 云服务器方案 树莓派方案 备注
硬件成本 ¥80-150/月(ECS) ¥0(闲置硬件) 已摊销
API 调用 ¥30-50 ¥10-20 多 Agent 路由节省
存储 包含在 ECS ¥0 本地 SSD
电费 - ~¥3 Pi 4 空闲 2.5W,满载 6W
总计 ¥110-200/月 ¥13-23/月 节省 80%+

踩坑记录与解决方案

问题 1: 微信 UOS 版启动后立即退出

现象 : 进程启动后 3-5 秒内消失,无错误日志
排查:

bash 复制代码
# 检查缺失的库
ldd /opt/wechat/wechat | grep "not found"
# 检查图形后端
echo $XDG_SESSION_TYPE  # 输出 wayland

解决: Wayland 兼容性不佳,通过 XWayland 适配并显式指定 GDK 后端:

ini 复制代码
export GDK_BACKEND=x11
export QT_QPA_PLATFORM=xcb

问题 2: 树莓派随机硬卡死

现象 : 系统无响应,SSH 断开,日志突然中断,无 panic 记录
根因 : 默认 swap 仅 100MB,内存不足时 OOM killer 行为异常
解决:

  1. Swap 扩容至 1GB
  2. 启用硬件 watchdog,负载过高自动重启
  3. 调整微信进程 oom_score_adj 避免被优先杀死

问题 3: Playwright Chromium ARM64 兼容性

现象 : 官方文档未明确支持 ARM64 Linux
解决: 使用系统 Chromium + Playwright 连接模式:

php 复制代码
const browser = await chromium.launch({
  executablePath: '/usr/bin/chromium',
  args: ['--no-sandbox', '--disable-setuid-sandbox']
});

安全考虑

  1. 本地优先: 所有对话历史、邮件内容、知识库文档均保存在本地 SSD,不经过第三方
  2. API Key 管理: 使用 OpenClaw 内置的密钥管理,避免硬编码在脚本中
  3. 微信方案选择: 优先使用 UOS 官方 ARM 版而非 Hook 方案,降低封号风险
  4. 网络隔离: 代理仅用于 API 调用,不暴露内网服务

当前状态

系统已稳定运行 48 小时,核心服务状态:

lua 复制代码
$ systemctl --user status openclaw-gateway
● openclaw-gateway.service - OpenClaw Gateway
     Loaded: loaded (~/.config/systemd/user/openclaw-gateway.service; enabled)
     Active: active (running) since Fri 2026-02-27 01:00:00 CST; 48h ago

$ systemctl --user status wechat
● wechat.service - WeChat UOS
     Loaded: loaded (~/.config/systemd/user/wechat.service; enabled)
     Active: active (running) since Fri 2026-02-27 03:22:00 CST; 46h ago

运行状况:

  • 邮件轮询: 每 5 分钟检查一次,已处理 12 封面试邮件
  • Telegram Bot: 响应延迟 < 2s
  • 微信: 扫码登录后持续在线,未掉线
  • 温度: 43.3°C,无降频

后续可扩展

优先级 项目 方案
P0 微信双向消息 完善 Frida Hook 脚本,实现消息监听与自动回复
P1 企业微信迁移 申请企业微信开发者账号,使用官方 API
P2 日历集成 Google Calendar MCP 接入,面试提醒自动化
P3 语音交互 接入树莓派 GPIO 麦克风,实现语音唤醒
P4 异地访问 WireGuard 配置,外网安全访问本地服务

结论

树莓派 4 在 OpenClaw 的加持下,足以承载个人级 AI 工作流中枢。从裸机到满配约 8 小时完成,验证了边缘设备运行现代 AI 工具链的可行性。

关键收益:

  • 成本: 相比云服务器方案节省 80%+ 月度开支
  • 隐私: 敏感数据完全本地化处理
  • 可控: 服务可用性不依赖第三方平台 SLA

局限性:

  • 内存 4GB 是硬瓶颈,无法同时运行大模型推理(需依赖 API)
  • ARM64 生态仍有兼容性问题(部分 Node 原生模块需编译)

对于个人开发者或小型团队,这是一个性价比极高的自托管方案。

相关推荐
Guass2 小时前
OpenClaw优化飞书API 额度已耗尽问题
人工智能
七牛云行业应用2 小时前
大模型接入踩坑录:被 Unexpected end of JSON 折磨三天,我重写了SSE流解析
javascript·人工智能·代码规范
透明人_x2 小时前
OpenClaw安装
人工智能·后端
开源之美3 小时前
【读Gemini CLI源码,品Agent架构设计】系列文章(二) —— Gemini CLI 模型路由方案深度分析
人工智能
用户7570104166123 小时前
10 分钟接入 AgentNet:从零开始
人工智能
吴佳浩5 小时前
《大模型的文件形态:Qwen3 文件结构与计算流程深度拆解》
人工智能·llm
程序员陆业聪14 小时前
Android 平台 AI Agent 技术架构深度解析
android·人工智能
牛奶16 小时前
AI辅助开发实战:会问问题比会写代码更重要
人工智能·ai编程·全栈
阿星AI工作室16 小时前
10分钟安装claudecode和ccswitch,国产模型随意切,想用哪个用哪个
人工智能