OpenClaw OpenWrt路由器安装:全家网络变身AI助理中枢
教程说明:本文介绍如何将 OpenClaw AI 助理部署在运行 OpenWrt 的路由器上,实现全家设备共享一个永不关机的 AI 助理中枢。适用于小米 AX6S、华硕 AC86U、GL.iNet MT-6000 等内存 256MB+ 的 OpenWrt 设备,以及运行 OpenWrt 的 x86 软路由。涵盖从系统检测、Node.js 编译安装到 OpenClaw 配置的全流程。
为什么要把 OpenClaw 装在路由器上?
把 OpenClaw 部署在家里的路由器上,听起来像是高手才做的事,但其实背后的逻辑非常朴素:路由器是家里唯一一台 24 小时不断电、不睡眠、全家所有设备都经过它的网络节点。把 AI 助理部署在这里,意味着你的手机、电脑、平板,甚至智能电视都可以通过同一个 AI 助理下指令,而不需要在每台设备上分别安装软件。
2026 年的 OpenClaw 已经是一个非常成熟的 AI 代理框架。它可以通过 Telegram、WhatsApp、Discord 等聊天应用接收你的指令,执行文件管理、网页浏览、代码运行、API 调用等几乎所有电脑能做的任务。当它运行在路由器上时,全家人只需发一条消息,AI 就能立刻响应——即使你人在外面,AI 也在家里 24 小时待命。
当然,路由器部署也有其局限性。家用 MIPS/ARM 路由器的计算能力远不如 PC,因此 OpenClaw 在路由器上运行时主要依赖云端 API(如 Anthropic Claude),本地只做任务调度和通讯中转。即便如此,对于大多数日常 AI 任务来说,这已经完全够用。
硬件要求与推荐设备
OpenClaw 的核心是 Node.js 运行时,在 OpenWrt 上运行需要满足以下硬件条件:
内存:256MB RAM(推荐512MB或以上)
Node.js 运行时加上 OpenClaw 进程约占用 80-120MB 内存。256MB 是底线,但会影响路由器原本功能。512MB 及以上可以稳定运行,同时不影响其他路由功能。
存储:16MB Flash + 外置存储(推荐USB/TF扩展)
OpenClaw 本体及依赖包约需要 200MB 存储空间。路由器内置 Flash 通常只有 16-32MB,强烈建议通过 extroot 将 USB 驱动器或 TF 卡挂载为根文件系统扩展。
架构:ARM Cortex-A53/A7(推荐),MIPS 也可但较慢
ARM 架构(如高通 IPQ8074、联发科 MT7622)有预编译的 Node.js 包,安装更简单。MIPS 架构需要自行交叉编译,难度较大,建议使用 x86 软路由方案。
推荐设备对照表
联发科 MT7988A,1GB RAM,8GB eMMC,原生 OpenWrt,ARM64 架构,Node.js 安装轻松,存储空间充裕
联发科 MT7622,512MB RAM,128MB Flash,需配合 extroot USB 扩展存储,性价比高
x86_64 架构,4-8GB RAM,32GB+ SSD,性能最强,Node.js 安装最简单,完全无限制
博通 BCM4906,512MB RAM,256MB Flash,ARM 架构,但博通闭源驱动可能限制部分 OpenWrt 功能
第一步:OpenWrt 系统准备与存储扩展
在安装 OpenClaw 之前,确保你的路由器已经运行 OpenWrt 23.05 或更高版本,并完成以下准备工作:
# 连接到路由器SSH(默认IP 192.168.1.1)
ssh [email protected]
# 更新 opkg 包列表
opkg update
# 查看可用内存和存储
free -m
df -h
# 安装基础依赖
opkg install curl wget git git-http ca-bundle bash
如果你的路由器内置存储不足(Flash 少于 200MB 可用空间),需要先通过 extroot 挂载 USB 存储扩展根文件系统:
# 安装存储相关包
opkg install block-mount kmod-fs-ext4 kmod-usb-storage e2fsprogs
# 找到USB设备路径(通常是 /dev/sda1)
block detect
# 格式化USB为ext4
mkfs.ext4 /dev/sda1
# 挂载并配置extroot
eval $(block info /dev/sda1 | grep -o -e "UUID=\S*")
uci -q delete fstab.rwm
uci set fstab.rwm=mount
uci set fstab.rwm.device="/dev/sda1"
uci set fstab.rwm.target="/overlay"
uci commit fstab
reboot
第二步:在 OpenWrt 上安装 Node.js
OpenWrt 的 opkg 包管理器提供了 Node.js 包,但版本可能较旧。OpenClaw 需要 Node.js 20 或以上版本,以下是不同情况的安装方法:
方法一:通过 opkg 直接安装(最简单,适合 ARM64)
# 先检查 opkg 中的 Node.js 版本
opkg list | grep node
# 如果版本 ≥ 20,直接安装
opkg install node npm
# 验证版本
node --version
npm --version
适用于 OpenWrt 23.05+ 且 opkg 源提供 Node.js 20+ 的设备(如 GL.iNet MT-6000)
方法二:下载预编译二进制(适合 ARM/x86)
# 下载 Node.js 22 LTS ARM64 版本
cd /tmp
wget https://nodejs.org/dist/v22.14.0/node-v22.14.0-linux-arm64.tar.gz
# 解压到 /usr/local
tar -xzf node-v22.14.0-linux-arm64.tar.gz -C /usr/local --strip-components=1
# 验证安装
node --version
npm --version
# 如果是 x86_64 软路由,改为下载:
# node-v22.14.0-linux-x64.tar.gz
注意:ARM32(armv7l)用户请下载 armv7l 版本;MIPS 架构暂无预编译包,需要交叉编译
第三步:安装 OpenClaw 本体
Node.js 就绪后,在 OpenWrt 上安装 OpenClaw 与在 Linux 服务器上的方式相同:
# 使用官方一键安装脚本(推荐)
curl -fsSL https://openclaw.ai/install.sh | bash
# 或者手动通过 npm 安装
npm install -g openclaw
# 验证安装
openclaw --version
# 开始初始化配置
openclaw onboard
路由器安装注意事项
- 安装过程中需要从 npm 仓库下载包,路由器需要能访问 registry.npmjs.org。如遇网络问题,参考后文 VPN07 配置部分
- onboard 配置时选择 Telegram 作为通讯渠道,因为路由器没有图形界面,Telegram Bot 是最方便的交互方式
- 首次 onboard 时选择"minimal"模式,减少初始内存占用
第四步:配置 Telegram Bot 通讯渠道
由于路由器没有屏幕,我们通过 Telegram 与部署在路由器上的 OpenClaw 对话。配置方法如下:
创建 Telegram Bot
打开 Telegram,搜索 @BotFather,发送 /newbot,按提示输入机器人名字和用户名,获取 Bot Token(格式如 7123456789:AAFxxx)
在 onboard 中配置 Telegram
运行 openclaw onboard 时,在通讯渠道选择步骤选择 Telegram,粘贴你的 Bot Token 即可自动完成配置
获取你的 Telegram User ID
搜索 @userinfobot,发送任意消息,获取你的 User ID(如 123456789)。将此 ID 填入 OpenClaw 配置中,确保只有你能控制路由器上的 AI
第五步:设置开机自启动服务
OpenWrt 使用 procd 作为 init 系统,我们创建一个 procd 服务脚本让 OpenClaw 随路由器开机自动启动:
# 创建服务脚本
cat > /etc/init.d/openclaw <<'EOF'
#!/bin/sh /etc/rc.common
USE_PROCD=1
START=99
STOP=01
start_service() {
procd_open_instance
procd_set_param command /usr/local/bin/openclaw start
procd_set_param user root
procd_set_param env HOME=/root
procd_set_param respawn 30 5 0
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
}
EOF
# 赋予执行权限
chmod +x /etc/init.d/openclaw
# 启用开机自启
/etc/init.d/openclaw enable
# 立即启动
/etc/init.d/openclaw start
# 检查运行状态
/etc/init.d/openclaw status
验证 OpenClaw 正常运行
服务启动后,打开 Telegram 找到你创建的 Bot,发送 hello,如果收到 AI 回复,说明部署成功!
你也可以在 SSH 中运行 ps | grep openclaw 确认进程正在运行。
路由器运行 OpenClaw 的性能优化技巧
路由器的计算资源有限,以下几个优化技巧可以让 OpenClaw 在路由器上跑得更稳:
限制 Node.js 内存
NODE_OPTIONS="--max-old-space-size=128" openclaw start
将堆内存限制在128MB,防止 OOM Kill
精简 Skills 加载
在 OpenClaw 配置中,只启用你实际用到的 Skills,禁用浏览器控制、截图等需要大量内存的功能
开启 Swap 交换分区
opkg install swap-utils
dd if=/dev/zero of=/mnt/usb/swapfile bs=1M count=256
mkswap /mnt/usb/swapfile && swapon /mnt/usb/swapfile
在 USB 上创建 256MB swap,缓解内存不足
定时重启 OpenClaw
echo "0 4 * * * /etc/init.d/openclaw restart" >> /etc/crontabs/root
每天凌晨4点自动重启,清理内存碎片
关键:为 OpenClaw 配置稳定的境外网络访问
OpenClaw 运行时需要持续访问境外的 AI API 服务(Anthropic Claude、OpenAI 等)。路由器上的 OpenClaw 还多了一个优势:它可以利用路由器本身的 VPN 透明代理功能,让所有 API 请求自动走 VPN 通道,无需在 OpenClaw 内单独配置代理。
如果你的路由器还没有配置 VPN 全局代理,强烈建议使用 VPN07 服务。VPN07 提供 OpenWrt 原生支持的 OpenVPN 和 WireGuard 配置文件,可直接导入 OpenWrt 的 VPN 配置界面,一键设置透明代理,让路由器上所有流量(包括 OpenClaw 的 API 请求)都通过安全的加密隧道访问境外服务。
常见问题与解决方案
Q: npm install 时提示磁盘空间不足
A: 先确认 extroot 是否正确挂载(df -h 查看 /overlay 挂载点)。如果未挂载,重新按第一步配置 extroot。也可以将 npm 缓存目录指向 USB:npm config set cache /mnt/usb/npm-cache
Q: OpenClaw 启动后几分钟就被 kill
A: 通常是内存不足触发 OOM Killer。运行 dmesg | grep -i oom 确认。解决方法:添加 swap、使用 NODE_OPTIONS 限制内存、或升级到内存更大的路由器
Q: Telegram Bot 没有回复
A: 检查 OpenClaw 进程是否运行(ps | grep openclaw);检查 Bot Token 是否正确;检查路由器是否能访问 api.telegram.org(需要 VPN);查看日志 openclaw logs
Q: Node.js 版本太低,opkg 只有 Node.js 18
A: 使用方法二,手动下载 Node.js 22 预编译二进制包。或者在路由器上运行 nvm 安装最新版本:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash && nvm install 22
总结:路由器是全家 AI 中枢的最佳载体
将 OpenClaw 部署在 OpenWrt 路由器上,是实现"全家共享 AI 助理"最优雅的方案。一台路由器替代了专用服务器,功耗不到 5W,却能全天候响应来自全家任何设备的 AI 指令。无论是早起问天气、下班前让 AI 提前整理邮件,还是让 AI 在夜间自动执行定时任务,路由器上的 OpenClaw 都能胜任。
当然,要让这一切流畅运行,稳定的网络连接是不可缺少的基础设施。OpenClaw 的每一次 AI 对话都需要与境外 API 服务器通信,网络质量直接决定了 AI 响应速度。这正是 VPN07 的价值所在——为你的路由器提供稳定、高速的全球网络加速,让 OpenClaw 的每一次 API 调用都畅通无阻。