基于 NXP iMX8MP ARM平台安装测试 Openclaw
By Toradex秦海1). 简介Openclaw AI agent 开源项目最新非常火热目前主流是基于 Mac 或者 X68 PC 进行安装部署本文就尝试基于 NXP iMX8MP ARM 平台通过 Docker 环境进行部署测试。另外通过 Docker 部署的好处除了可复用性同时也一定程度保证了 Openclaw 和本机系统和数据的隔离只将需要的数据通过共享目录提供给 Docker 内的 Opanclaw 处理即可。本文测试使用的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia 载板并连接调试串口和 HDMI 显示器用于测试。3).BSP 配置a). 参考这里文章说明下载适用于 Verdin iMX8MP 的TorizonOS 7.x BSP Image并通过 Toradex Easy Installer 安装到 Verdin i.MX8MP 模块。b). TorizonOS 默认使能了 Docker 环境可以非常方便的安装和测试各种 Docker Image本文中 Openclaw 也通过 Docker 方式进行安装部署。4).Openclaw 安装a). Openclaw 源码 github 如下在支持 git 命令的系统可以直接通过 git 命令 clone 下来因为 TorizonOS 目前默认未集成 git因此这里直接下载压缩包后复制到 TorizonOS $HOME 目录。------------------------------### Openclaw official github ###https://github.com/openclaw/openclaw### copy source code package to Verdin iMX8MP ###torizonverdin-imx8mp-06849028:~$ cp store_path/openclaw-main.zip /home/torizontorizonverdin-imx8mp-06849028:~$ unzip openclaw-main.zip------------------------------b). 修改源码中默认的 docker-compose.yml 文件以适配安装和配置进程./ 主要增加了挂载目录以保证配置和应用数据固化修改了网络模式同时增加了 NPM 仓库镜像和 DNS 配置以便于国内网络环境下在 Openclaw 容器内可以正常安装一些组件。--------------------------------- a/docker-compose.yml b/docker-compose.yml -9,6 9,14 CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY:-}CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY:-}CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE:-} # add npm local registry NPM_CONFIG_REGISTRY: https://registry.npmmirror.com/ # network_mode: bridge dns: - 8.8.8.8 - 8.8.4.4 - 114.114.114.114volumes:- ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw- ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace -65,6 73,9 CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY:-}CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY:-}CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE:-} # add npm local registry NPM_CONFIG_REGISTRY: https://registry.npmmirror.com/ # volumes:- ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw- ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace------------------------------c). 创建 Openclaw 本地相关目录------------------------------### 配置目录-config工作目录-workspaceOpenclaw /home/node 挂载目录-home ###torizonverdin-imx8mp-06849028:~$ mkdir -p /home/torizon/openclaw/{config,workspace,home}### 更改目录权限torizonverdin-imx8mp-06849028:~$ chown -R 1000:1000 /home/torizon/openclaw------------------------------d). 输出 Openclaw 安装配置所需的一些环境变量为了减少安装时间和复杂度这里直接使用官方编译好的 docker image而不是通过源码编译。------------------------------### env 环境变量文件 ###torizonverdin-imx8mp-06849028:~$ cat env# openclaw official docker imageexport OPENCLAW_IMAGEghcr.io/openclaw/openclaw:latest# configuration folderexport OPENCLAW_CONFIG_DIR/home/torizon/openclaw/config# workspace folderexport OPENCLAW_WORKSPACE_DIR/home/torizon/openclaw/workspace# HOME folderexport OPENCLAW_HOME_VOLUME/home/torizon/openclaw/home# gateway network bind mode and portexport OPENCLAW_GATEWAY_BINDlanexport OPENCLAW_GATEWAY_PORT18789export OPENCLAW_GATEWAY_TOKENyour_openclaw_token### export env ###torizonverdin-imx8mp-06849028:~$ source ./env------------------------------e). 安装 Openclaw------------------------------torizonverdin-imx8mp-06849028:~$ cd openclaw-maintorizonverdin-imx8mp-06849028:~$ ./docker-setup.sh------------------------------5).Openclaw 配置a). 上述步骤 docker image 下载运行后Onboarding 交互模式启动开始进行配置./ Onboarding 模式要选择 “Manual”否则会导致网络以 “loopback” 模式工作。-------------------------------... Onboarding (interactive)Docker setup pins Gateway mode to local.Gateway runtime bind comes from OPENCLAW_GATEWAY_BIND (default: lan).Current runtime bind: lanGateway token: your_openclaw_tokenTailscale exposure: Off (use host-level tailnet/Tailscale setup separately).Install Gateway daemon: No (managed by Docker Compose)...-------------------------------./ security configuration-------------------------------I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue?│ ● Yes / ○ No-------------------------------./ Onboarding mode-------------------------------◇ Onboarding mode│ Manual◇ Workspace directory│ /home/node/.openclaw/workspace-------------------------------b). 模型配置./ 需要提前注册好想要使用的 AI 模型提供商并获得 API Key-------------------------------Model/auth provider│ MiniMax◇ MiniMax auth method│ MiniMax M2.5 (CN)◇ How do you want to provide this API key?│ Paste API key now◇ Enter MiniMax China API key│ your_Model_Provider_API_key◆ Default model│ ● Keep current (minimax-cn/MiniMax-M2.5)│ ○ Enter model manually│ ○ minimax-cn/MiniMax-M2.5│ ○ minimax-cn/MiniMax-M2│ ○ minimax-cn/MiniMax-M2.1│ ○ minimax-cn/MiniMax-M2.5-highspeed-------------------------------c). Gateway 配置------------------------------◇ Gateway port│ 18789◇ Gateway bind│ LAN (0.0.0.0)◇ Gateway auth│ Token◇ Tailscale exposure│ Off◇ How do you want to provide the gateway token?│ Generate/store plaintext token◇ Gateway token (blank to generate)│ your_openclaw_token------------------------------d). Channel 配置./ 需要提前注册好要使用的 Channel本文使用飞书创建新机器人 APP 并获得相关的 App Secret 和 App id 用于绑定 plugin。Feishu Plugin 通过 npm 或者 local 方式安装都可以。------------------------------◇ Configure chat channels now?│ Yes◇ Select channel (QuickStart)│ Feishu/Lark (飞书)◇ Install Feishu plugin?│ Use local plugin path/Download from npm (openclaw/feishu)◇ Feishu credentials ───────────────────────────│ 1) Go to Feishu Open Platform (open.feishu.cn) ││ 2) Create a self-built app ││ 3) Get App ID and App Secret from Credentials page ││ 4) Enable required permissions: im:message, im:chat, contact:user.base:readonly ││ 5) Publish the app or add it to a test group ││ Tip: you can also set FEISHU_APP_ID / FEISHU_APP_SECRET env vars. ││ Docs: 8;;https://docs.openclaw.ai/channels/feishufeishu8;; │├────────────────────────────────────◇ How do you want to provide this App Secret?│ Enter App Secret◇ Enter Feishu App Secret│ your_feishu_App_secret◇ Enter Feishu App ID│ your_feishu_App_id◇ Feishu connection mode│ WebSocket (default)◇ Which Feishu domain?│ Feishu (feishu.cn) - China◇ Group chat policy│ Disabled - dont respond in groups◇ Select a channel│ Finished------------------------------e). 其他配置./ 为了简化配置流程先都 skip 跳过。------------------------------◇ Configure DM access policies now? (default: pairing)│ No◇ Search provider│ Skip for now◇ Configure skills now? (recommended)│ No◇ Enable hooks?│ Skip for now------------------------------f). 此时配置过程就完成了会提示通过如下浏览器 URL 来打开 Dashboard 等信息后自动退出安装脚本------------------------------...Dashboard link (with token):http://127.0.0.1:18789/#tokenyour_openclaw_token...------------------------------6).模型测试和飞书 Channel 连接a). 连接 dashboard有两种方式本地显示和局域网远程访问./ 本地显示------------------------------### 分别通过如下命令下载运行 Weston 和 Cog 浏览器通过本地网址和之前预设的 your_openclaw_token 进行连接 #### Westondocker container run -d --nameweston --nethost \--cap-add CAP_SYS_TTY_CONFIG \-v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ \--device-cgroup-rulec 4:* rmw --device-cgroup-rulec 253:* rmw \--device-cgroup-rulec 13:* rmw --device-cgroup-rulec 226:* rmw \--device-cgroup-rulec 10:223 rmw --device-cgroup-rulec 199:0 rmw \torizon/weston-imx8:4 \--developer# Cogdocker run -d --rm --namecog --nethost\-v /tmp:/tmp -v /var/run/dbus:/var/run/dbus \-v /dev/dri:/dev/dri --device-cgroup-rulec 226:* rmw \torizon/cog:$CT_TAG_COG \http://127.0.0.1:18789/#tokenyour_openclaw_token### 第一次连接会提示 “ pairing request”# 执行下面命令获取 RequestIDtorizonverdin-imx8mp-06849028:~$ cd openclaw-maintorizonverdin-imx8mp-06849028:~$ docker compose exec openclaw-gateway node dist/index.js devices list# 执行下面命令 approve requestdocker compose exec openclaw-gateway node dist/index.js devices approve RequestID# 重启 Cog 即可正常连接 Gatewaytorizonverdin-imx8mp-06849028:~$ docker restart cog------------------------------./ 通过局域网内其他电脑浏览器连接------------------------------### 首先在其他电脑和 Veridn iMX8MP 设备间建立 SSH Tunnel ###$ ssh -L 18789:127.0.0.1:18789 torizonip_addr_verdin_imx8mp -N### 然后浏览器通过如下 URL 连接第一次连接同样需要和本地连接一样完成 pairing requesthttp://127.0.0.1:18789/#tokenyour_openclaw_token------------------------------b). 飞书连接和测试./ 关于飞书平台机器人应用的创建和权限配置这里不再赘述可以自行查询公开资料。./ 同样在第一次通过飞书 APP 发消息给 Openclaw 时候会提示需要 pairing并给出 Pairing code此时在命令下通过如下命令 approve------------------------------torizonverdin-imx8mp-06849028:~$ docker compose exec openclaw-gateway node dist/index.js pairing approve feishu pairing_code------------------------------c). 到这里基于 Verdin iMX8MP 平台部署的 Openclaw AI agent 就可以基本工作了更进一步使用就需要自行开发或者安装相应的 SKILL 等本文不再深入测试。./ 由于当前仅仅是基本状态查看系统资源占用非常小后续资源占用情况可能会根据不同 SKILL 的使用情况各不相同。------------------------------0[###* 5.8%] Tasks: 48, 151 thr, 109 kthr; 0 running1[##* 4.5%] Load average: 0.18 0.44 0.632[##* 5.8%] Uptime: 1 day, 05:15:553[##** 6.5%]Mem[|||||||||||||#$$$$$$$$$$$$$1.28G/3.83G]Swp[ 0K/0K][Main] [I/O]PID USER PRI NI VIRT RES SHR S CPU%-MEM% TIME Command...99047 torizon 20 0 11.3G 445M 57140 S 0.6 11.4 0:53.40 openclaw-gateway...------------------------------7). 总结本文基于 NXP i.MX8MP 处理器平台演示了通过 Docker 方式来测试部署 OpenClaw希望能够对于在嵌入式边缘测设备使用 AI 工具有一些尝试和探讨。免责声明本文测试流程仅供学习交流请勿在实际生产环境部署测试造成的任何风险和损失本文不承担任何相关责任。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2410667.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!