Toybrick

在rk3588上部署openclaw

Y力量

超级版主

积分
45
发表于 2026-3-5 15:14:37    查看: 1984|回复: 3 | [复制链接]    打印 | 显示全部楼层
本帖最后由 Y力量 于 2026-3-5 15:17 编辑

最近openclaw火热,树莓派等一些嵌入式平台也可以支持运行,所以经过尝试后也成功在linaro环境下的3588平台上实现了部署,以下是我的安装部署过程进行分析,参考了官方的使用说明和一些网上经验。


1. openclaw的安装
(1) openclaw是基于js的实现,需要依赖Node.js 22+版本,因此先安装依赖:
  1. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
  2. source ~/.bashrc
  3. nvm install 22
复制代码

(2) 通过npm安装最新的release版本openclaw:
  1. npm install -g openclaw@latest
复制代码

(3) 安装网关:
  1. openclaw onboard --install-daemon
复制代码
安装过程中会跳出配置项需要用户选择,可以根据具体情况进行选择配置,也可以安装如下顺序进行选择:
Yes(是否同意openclaw的声明,不同意不能进行下一步) -> QuickStart(快速配置) -> Skip for now(选择模型/认证供应商,这里打算用本地ollama测试,所以跳过) ->
All provider(过滤模型供应商,选择全部就好了) -> Enter model manually(因为是用本地ollama测试,所以这里选手动,如果有api key了,可以选择其它对应的模型) ->
Default model(选择Enter model manually的话,这里就要先填写模型信息,配置信息后面都可以修改,这里先随便填“ollama/qwen3:8b”) -> Skip for now(选择通道,直接跳过) ->
No(配置技能,也先跳过) -> Skip for now(选择hooks,可以都勾选也可以直接跳过) -> Do this later(设置ai个性或者打开网关web ui,如果没有配置可用的模型或者3588带有屏显这两步都做不到,所以先跳过)

(4) 以上步骤完成后,openclaw算是安装完成了,可以确认下网关的工作状态:
  1. openclaw gateway status
复制代码
如果有看到“Runtime: running (...)”字样说明工作正常

* 如果在网关安装过程中碰到问题导致安装失败,可以先尝试使用“openclaw doctor”命令,让openclaw先自行诊断错误,再通过“openclaw doctor --fix”来修复,可以解决一些安装中出现的错误
* 如果在默认的root用户下,安装过程中碰到提示openclaw-gateway.service不存在或者找不到导致服务安装失败,openclaw安装不完整,可以尝试执行“su”命令切换到root模式,再重新进行尝试

2. 配置模型能力
(1) 打开openclaw的配置文件:
  1. vim ~/.openclaw/openclaw.json
复制代码

(2) 配置模型能力(本地局域网ollama qwen3:8b模型),openclaw的所有配置项都是json格式的key-value值,按如下格式进行添加,并保存退出:
  1. {
  2.     ... //其他配置项
  3.     "agents": {
  4.         "defaults": {
  5.             "model": {
  6.                 "primary": "ollama/qwen3:8b" //选定使用的模型,固定格式,providers中成员的key值 / providers中成员的.models.id的value值
  7.             }
  8.         }
  9.     },
  10.     "models": {
  11.         "providers": {
  12.             "ollama": {
  13.                 "baseUrl": "http://192.168.0.100:11434/v1", //ollama服务的url
  14.                 "apiKey": "local-ollama", //本地部署不需要进行api key的认证
  15.                 "api": "openai-completions",
  16.                 "models": [
  17.                     {
  18.                         "id": "qwen3:8b", //ollama模型名称
  19.                         "name": "通义千问",
  20.                         "reasoning": false, //模型是否启用推理功能
  21.                         "input": [ //模型输入数据类型,可选,未填写默认为text
  22.                             "text"
  23.                         ],
  24.                         "contextWindow": 40960, //上下文长度,不能超过模型限制,最好能 >= 16000
  25.                         "maxTokens": 20480 //最大token数
  26.                     }
  27.                 ]
  28.             }
  29.         }
  30.     }
  31. }
复制代码

(3) 重启网关,让配置的模型能力生效:
  1. openclaw gateway restart
复制代码

(4) 可以通过命令确认下当前使用的模型和状态:
  1. openclaw models list
复制代码
也可以后续在网关的web ui聊天栏中输入“/model”来查看当前应用的模型信息

3. 进入dashboard界面
(1) openclaw的网关dashboard web url默认运行在18789端口,且带token验证,因此不能直接使用“localhost:18789”这种方式直接打开,可以通过以下命令查看具体的url地址:
  1. openclaw dashboard --no-open
复制代码
在输出内容中找到“Dashboard URL”字样,后续接的url地址即为网关的url地址,复制打开即可

(2) 如果3588设备不带屏显或者桌面功能,可以通过SSH方式,从局域网内的其它PC上打开网关url,做法为在需要打开网关的PC上执行以下命令:
  1. ssh -N -L 18789:127.0.0.1:18789 user@ip
复制代码
其中“user”替换为3588上的具有openclaw权限的用户名,“ip”替换为3588的IP地址;之后就可以在PC上打开步骤(1)中获取的url地址进入dashboard界面

* 如果碰到无法通过ssh的方式登录到3588(比如提示权限错误),大概率是因为ssh的配置问题,打开ssh的配置文件“/etc/ssh/sshd_config”,确认如下几个选项是否打开或一致:
  1. PermitRootLogin yes
  2. PasswordAuthentication yes
  3. KbdInteeractiveAuthentication no
  4. UsePAM yes
复制代码
如未打开或不一致,在进行修改后再尝试重试

4. 基础功能测试
完成以上所有步骤后,就可以开始实际测试openclaw的能力,可以在dashboard界面中打开“聊天”栏,通过聊天与模型进行交互,若能收到答复,说明openclaw的模型能力工作正常。
推荐测试功能都正常后可以切换到参数更多的模型上,模型参数小的话可能无法理解或执行一些复杂任务。

5. 功能扩展
浏览器控制功能
该功能能够让openclaw来操作浏览器,完成搜索查询和信息总结的任务,可以代替简单的web search功能(需要配置api key,大部分需要付费且不稳定,需要梯子)。
控制浏览器可以通过两种方式,第一种是通过浏览器中继扩展方式(chrome),第二种是在隔离环境中直接独立操作浏览器的方式。这里介绍第二中方式的配置方法:
(1) 首先确认3588上是否带有chromium,如果不带的话,可以直接通过apt方式进行安装:
  1. apt update
  2. apt install chromuium
复制代码

(2) 打开openclaw的配置文件“~/.openclaw/openclaw.json”添加以下配置项并保存退出:
  1. {
  2.     ..., //其它配置项
  3.     "browser": {
  4.         "enabled": ture,
  5.         "color": "#FF4500",
  6.         "headless": false,
  7.         "defaultProfile": "openclaw"
  8.      }
  9. }
复制代码

(3) 重启openclaw网关:
  1. openclaw gateway restart
复制代码

(4) 启动browser功能:
  1. openclaw browser start
复制代码
看到有“running: true”的字样即代表功能已启用,此时可以在dashboard中的聊天栏中指示AI打开网站获取网页快照进行网页信息总结等

* 如果启动browser功能的时候看到类似“Error: gateway timeout after 15000ms”的错误,可以通过“openclaw logs”查看是否存在“Failed to start Chrome CDP on port 18800 for profile "openclaw"”的提示,如果存在说明当前系统中的chromium可能是snap包,功能不完整,需要卸载掉当前的版本,重新安装一个功能完整的版本再进行重试

对接飞书
对接飞书属于为openclaw添加飞书插件功能,让用户可以通过飞书app连接到openclaw进行交互,为了实现这一功能可以参考官方的指南:飞书,只要一步一步照着做就可以了

* openclaw可能在安装时已经默认包含了飞书的插件,默认插件为精简版,最好在进行飞书对接前通过指令“openclaw plugins list”查看当前已存在的插件中是否已存在飞书插件,已存在的话先删除掉


skill功能
技能功能是一种具备类似插件能力的功能,但是使用起来比插件简单,一般是通过文本+可选脚本文件,以类似学习的方式,用文字说明一步一步告诉AI怎么做,从而使AI具备某一种能力。如告诉AI当你要查询某一信息的时候可以自己用浏览器打开搜索引擎获取查询信息快照并进行内容提前然后将提取结果总结告诉你,来实现简单的web search功能平替。
openclaw有一个官方的skill库,用户可以从中查询下载他人实现后上传的skill:clawhub,下载前需要先确保已经安装了clawhub工具(可以通过指令“npm install -g clawhub”安装),下载指令为:
  1. clawhub install skill-name
复制代码
把“skill-name”替换为目标skill的名字即可。下载后的skill需要通过开启新的session来实现应用

* 越复杂的skill需要模型的参数量足够大,参数过小的模型可能无法理解或者理解不了skill的描述,导致skill不起作用


以上就是目前在rk3588上部署openclaw的总结,还有一些进阶功能还在研究,有进展的话后续会继续更新

回复

使用道具 举报

Y力量

超级版主

积分
45
 楼主| 发表于 2026-3-20 14:31:46 | 显示全部楼层
本帖最后由 Y力量 于 2026-3-20 14:47 编辑

这里补充一下测试rk3588 + rk1828的组合,能否使用rk1828上运行的本地模型来对接openclaw,从而实现整个边缘端openclaw的部署。
因为openclaw要求的context window比较大,所以我们需要先转一个ctx大一些的模型出来。这里用rknn3-model-zone中的examples为基础,并依据rk1828的资源情况,转一个16k ctx的qwen3-1.7b模型为例。
1.首先从git上clone rknn3-toolkit:
  1. git clone https://github.com/airockchip/rknn3-toolkit.git
复制代码
仓库clone下来后,根据rknn3-toolkit/doc目录下的文档进行rknn3-toolkit工具的安装

2.再从git上clone rknn3-model-zoo的仓库,并进入Qwen3目录:
  1. git clone https://github.com/airockchip/rknn3-model-zoo.git
  2. cd rknn3-model-zoo/examples/Qwen3/python
复制代码

3.修改export_rknn.py中“rknn.config”相关的配置项为:
  1. rknn.config(target_platform='rk1828',
  2.         quantized_dtype='w4a16', quantized_algorithm='grq', quantized_method='group32',
  3.         max_ctx_len=16384, max_position_embeddings=16384
  4.     )
复制代码

4.先进行hugging face到onnx的转换:
  1. python export_llm.py --model_path=Qwen/Qwen3-1.7B --modelscope --export_llm_path=../model/Qwen3-1.7B/Qwen3-1.7B.onnx
复制代码

5.接着开始进行onnx到rknn的转换:
  1. python export_rknn.py --onnx_path=../model/Qwen3-1.7B/Qwen3-1.7B.onnx --config=../model/Qwen3-1.7B/Qwen3-1.7B.config.pkl --rknn_path=../model/Qwen3-1.7B/Qwen3-1.7B.rknn
复制代码
这样我们就得到了一个支持16k max ctx的qwen3-1.7b的模型。

6.有了模型之后还需要一个符合openai-completions标准的http server,这里我还是基于Qwen3的cpp的example做了修改,可以支持openclaw的post请求,修改需要依赖到nlohmann json和cpp-httplib。
修改后的main.cc上传到了:百度网盘。然后还需要修改“rknn3_qwen3_llm.h”中对ctx的设置:
  1. #define MAX_NEW_TOKENS 16384
  2. #define MAX_CONTEXT_LEN 16384
复制代码
替换修改完之后,将nlohmann的“json.hpp”文件和cpp-httplib的“httplib.h”放置在同一级目录下,之后进行编译,将生成的“rknn_qwen3_demo ”和转出的模型文件推到到设备上并运行

7.添加rk1828的模型配置到openclaw中:
  1. "rk1828": {
  2.     "baseUrl": "http://172.16.9.119:8080/v1",
  3.     "apiKey": "__OPENCLAW_REDACTED__",
  4.     "api": "openai-completions",
  5.     "models": [
  6.         {
  7.             "id": "qwen3",
  8.             "name": "通义千问3",
  9.             "api": "openai-completions",
  10.             "reasoning": false,
  11.             "input": [
  12.                 "text"
  13.             ],
  14.             "contextWindow": 16384,
  15.             "maxTokens": 16384
  16.         }
  17.     ]
  18. }
复制代码
然后保存重启openclaw,将模型能力切换到rk1828

8.完成以上步骤后可以在openclaw的web界面的聊天栏开启一个新的对话测试整条链路是否成功打通,成功收到信息说明链路是正常的:



*最后,实际测试下来发现,openclaw每次的ctx都会在10-12k以上,但是因为rk1828的资源条件,对于10k以上的ctx,保证模型精度的前提下,参数被限制在2b以内,参数规模比较小,一次性需要处理大ctx的效果不是很好,只适合处理短对话的场景。


回复

使用道具 举报

lzachary

新手上路

积分
19
发表于 2026-4-8 14:43:28 | 显示全部楼层
感谢分享。我在rk3588上也尝试部署了qwen3-1.7b,16k max模型,发现工具调用能力虽然拥有,但是对于一个任务需要多轮承上启下完成时,有性能问题,经常出现调用链异常和逻辑不通的问题。估计还是参数规模和上下文长度受限了
回复

使用道具 举报

jefferyzhang

版主

积分
16349
发表于 2026-4-9 08:48:54 | 显示全部楼层
lzachary 发表于 2026-4-8 14:43
感谢分享。我在rk3588上也尝试部署了qwen3-1.7b,16k max模型,发现工具调用能力虽然拥有,但是对于一个任 ...

可以参看RK的官方claw用4B协助跑:https://mp.weixin.qq.com/s/VYD9lbbfaAvabfEjieZobQ
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表