【全网首发】RK3588 部署 OpenClaw 完整记录

【全网首发】RK3588 部署 OpenClaw 完整记录 系列文章目录第一章 RK3588 部署 OpenClaw 完整记录文章目录系列文章目录前言一、环境背景与挑战1.1 硬件与系统环境1.2 核心挑战Android 不是标准 Linux踩坑点 1Android 原生 Shell 无法运行标准 Node.js二、架构方案Termux Proot 搭建完整 Linux 环境2.1 架构设计2.2 安装 Termux避坑指南踩坑点 2Termux 版本选择错误2.3 Proot 环境搭建踩坑点 3Termux 原生环境 Node.js 编译失败三、OpenClaw 安装与配置3.1 官方脚本安装Proot 中自动识别 Linux踩坑点 4官方脚本 OS 检测3.2 编译依赖安装踩坑点 5koffi 原生模块编译失败3.3 网关启动与后台运行踩坑点 6Systemd 不可用四、飞书机器人集成核心踩坑区4.1 配置方式大坑Schema 验证失败踩坑点 7手动修改配置文件被拒绝4.2 正确方案channels add 交互式配置4.3 连接模式选择长连接 vs Webhook踩坑点 8Webhook 模式配置复杂4.4 关键应用必须发布踩坑点 9长连接显示已连接但机器人不回复五、TUI 使用与命令执行5.1 启动 TUI 交互5.2 命令执行审批机制踩坑点 10AI 无法直接执行系统命令5.3 直接命令行模式无需审批六、最佳实践总结6.1 部署流程速查6.2 核心踩坑点汇总总结前言本文记录将 OpenClaw AI 网关部署到 RK3588 开发板Android 系统的完整踩坑过程。涉及 Termux 环境、Proot 容器、Node.js 兼容性、OpenClaw 飞书集成等核心难点。全文基于实际操作记录希望能帮助嵌入式开发者少走弯路。一、环境背景与挑战1.1 硬件与系统环境设备RK3588 开发板ARM64 架构8 核 2.4GHz系统Android 12原生 Shell 为 Bionic libc控制方式Windows 笔记本通过 ADB Scrcpy 远程控制1.2 核心挑战Android 不是标准 Linux踩坑点 1Android 原生 Shell 无法运行标准 Node.js在 RK3588 的 ADB Shell 中直接执行安装命令console:/# npm install -g openclawlatest/system/bin/sh: npm: inaccessible or not found根本原因Android 使用 Bionic libc专为移动设备优化的 C 库而标准 Linux 软件Node.js依赖 glibc。两者二进制不兼容导致官方 Node 二进制在 Android 上直接报No such file or directory。二、架构方案Termux Proot 搭建完整 Linux 环境2.1 架构设计为绕过 Android 的 Bionic 限制采用三层架构┌─────────────────────────────────────────────────────────────┐ │ Windows 笔记本 │ │ ADB Scrcpy 远程控制 │ └───────────────────────┬─────────────────────────────────────┘ │ ┌───────────────────────▼─────────────────────────────────────┐ │ Android OS (RK3588) │ │ ┌────────────────────────────────────────────────────────┐ │ │ │ Termux 应用 (提供用户态 Linux 环境) │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ Proot Debian (chroot 容器完整 glibc 环境) │ │ │ │ │ │ • OpenClaw 网关 │ │ │ │ │ │ • Node.js npm │ │ │ │ │ │ • 飞书机器人长连接 │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘2.2 安装 Termux避坑指南踩坑点 2Termux 版本选择错误不要从 Google Play 安装版本停止维护API 22 不兼容必须从 F-Droid 或 GitHub Releases 下载 v0.118安装命令# Windows 端下载并安装curl-O-Lhttps://github.com/termux/termux-app/releases/download/v0.118.1/termux-app_v0.118.1github-debug_arm64-v8a.apk adbinstalltermux-app_v0.118.1github-debug_arm64-v8a.apk2.3 Proot 环境搭建踩坑点 3Termux 原生环境 Node.js 编译失败在 Termux 中直接运行npm install会遇到依赖编译错误CANNOT LINK EXECUTABLEnode:librarylibcrypto.so.3not found解决方案安装 Proot-distro 运行完整 Debianpkginstallproot-distro proot-distroinstalldebian proot-distro login debian进入后提示符变为rootlocalhost:~#此时拥有完整的 glibc 环境。三、OpenClaw 安装与配置3.1 官方脚本安装Proot 中自动识别 Linux踩坑点 4官方脚本 OS 检测在 Termux 原生环境中运行官方脚本会报错curl-fsSLhttps://openclaw.ai/install.sh|bash# Unsupported operating system但在 Proot Debian 中脚本正确识别为 Linux自动完成 Node.js 和 OpenClaw 安装# 在 Proot Debian 中执行aptupdateaptinstall-ycurlgitcurl-fsSLhttps://openclaw.ai/install.sh|bash3.2 编译依赖安装踩坑点 5koffi 原生模块编译失败安装过程中若遇到 koffi 编译错误需安装构建工具链aptinstall-ypython3 cmake build-essential3.3 网关启动与后台运行踩坑点 6Systemd 不可用Proot 容器中无法使用 systemd直接启动会提示systemd user services are unavailable解决方案使用 nohup 后台运行nohupopenclaw gateway--port18789/tmp/openclaw.log21# 验证状态openclaw gateway status# 预期输出listening on ws://127.0.0.1:18789, RPC probe: ok四、飞书机器人集成核心踩坑区4.1 配置方式大坑Schema 验证失败踩坑点 7手动修改配置文件被拒绝尝试在~/.openclaw/openclaw.json中添加飞书配置feishu:{enabled:true,config:{appId:cli_xxx,appSecret:xxx}}报错Config validation failed: plugins.entries.feishu.config: must NOT have additional properties源码验证查看飞书插件源码发现configSchema: emptyPluginConfigSchema()不接受任何配置字段。尝试环境变量也无效FEISHU_APP_ID等环境变量未被插件读取。4.2 正确方案channels add 交互式配置最终解决方案使用 OpenClaw CLI 的交互式命令openclaw channelsadd--channelfeishu按提示输入AppID: 从飞书后台获取App Secret: 从飞书后台获取Verification Token: 从飞书后台加密策略获取4.3 连接模式选择长连接 vs Webhook踩坑点 8Webhook 模式配置复杂尝试使用 Ngrok 搭建 Webhook但遇到免费版域名随机变化飞书验证 JSON 格式失败路径配置复杂/webhook/feishu或/webhook/lark不确定推荐方案长连接模式WebSocket# 配置为长连接通过 channels add 自动设置openclaw channelsadd--channelfeishu# 选择 connection mode: websocket长连接优势OpenClaw 主动连接飞书服务器无需公网 IP无需 Ngrok 内网穿透适合嵌入式设备长期运行4.4 关键应用必须发布踩坑点 9长连接显示已连接但机器人不回复即使飞书后台显示已连接机器人仍无响应检查清单事件订阅必须添加im.message.receive_v1权限开通im:message:receive和im:message:send_as_bot最关键发布应用在飞书开放平台 → 版本管理与发布 → 创建版本并发布或添加测试人员。不发布则事件不会推送五、TUI 使用与命令执行5.1 启动 TUI 交互openclaw tui5.2 命令执行审批机制踩坑点 10AI 无法直接执行系统命令在 TUI 中让 AI 执行命令时会提示需要审批让我检查 Gateway 状态exec openclaw gateway status [Request ID: 2] pending approval操作方式# 查看待审批请求 ID/approve2allow-once# 单次允许# 或/approve2allow-always# 永久允许此类操作5.3 直接命令行模式无需审批退出 TUI使用非交互式命令openclaw gateway status openclaw agent--agentmain--message你好--thinkinghigh六、最佳实践总结6.1 部署流程速查# 1. 进入 Proot Debianproot-distro login debian# 2. 安装 OpenClaw官方脚本自动识别 Linuxaptupdateaptinstall-ycurlgitcurl-fsSLhttps://openclaw.ai/install.sh|bash# 3. 启动网关nohupopenclaw gateway--port18789/tmp/openclaw.log21# 4. 交互式配置飞书关键不能用配置文件openclaw channelsadd--channelfeishu# 按提示输入 AppID、Secret、Token# 5. 飞书后台配置# - 订阅方式长连接接收事件# - 添加事件im.message.receive_v1# - 开通权限并发布应用必须6.2 核心踩坑点汇总阶段踩坑点现象解决方案环境准备Android 不是 Linuxnpm: not foundTermux Proot Debian安装Termux 原生 Node 编译失败libcrypto.so.3错误在 Proot 中用官方脚本安装配置修改 JSON 被拒绝must NOT have additional properties用channels add交互式配置连接Webhook 复杂难配JSON 验证失败 / Ngrok 域名变化改用长连接模式运行机器人不回复连接正常但无响应必须发布应用版本总结本文详细记录了在 RK3588 Android 开发板上部署 OpenClaw AI 网关的完整过程。核心难点在于 Android 系统使用 Bionic libc 与标准 Linux 软件不兼容需要通过 Termux Proot Debian 搭建完整的 glibc 环境。飞书机器人集成时切记不能使用配置文件手动添加必须通过openclaw channels add交互式配置且务必在飞书后台发布应用版本才能正常接收事件。希望这份踩坑指南能帮助到同样在嵌入式 Android 设备上部署 AI 服务的开发者避免重复踩坑。参考链接OpenClaw 官方文档Termux GitHub ReleasesProot-distro 文档