易百纳玄武S3(RK3588+RK1828)边缘计算终端上部署openclaw智能体
硬件平台:易百纳玄武S3

简介
本文主要介绍openclaw示例(小龙虾智能体)在Ebaina玄武S3边缘计算AI终端上的部署与Web访问验证方法。 openclaw和nanobot都属于智能体(Agent)框架,可以部署在任意电脑上,配置好大模型API即可使用。将openclaw部署到玄武S3的意义在于:接的是玄武S3的端侧模型,而不是云模型——智能体的推理完全由板端RK182X上的本地大模型(rkllm3-server)完成,这就是本示例要实现的功能点。
与nanobot的终端对话不同,openclaw自带网关(Gateway)和Web控制台,部署完成后可在PC浏览器中远程使用板端智能体。
示例功能:
- 板端安装Node.js与
openclaw,无需在PC上运行智能体; openclaw通过OpenAI兼容接口对接板端rkllm3-server(端侧模型推理服务),全程不依赖云端大模型API;- 网关默认监听
18789端口,PC浏览器通过局域网IP+令牌直接访问Web控制台,与端侧智能体对话。
整体流程分为九步:
- 板端安装Node.js环境;
- 板端安装
openclaw; - 初始化
openclaw; - 配置模型(指向本地
rkllm3-server); - 禁用 portal 工具;
- 部署模型并启动
rkllm3-server; - 安装 Gateway 服务;
- 获取访问链接;
- 浏览器访问与对话验证。
环境准备
| 项目 | 说明 |
|---|---|
| 目标板 | Ebaina玄武S3边缘计算AI终端(Debian 13,RK3588+RK182X) |
| SDK | RK182X SDK(网盘资料:【易百纳】玄武S3边缘计算AI终端_V2.0中的rk182x_ai_release.tar.gz) |
| 模型文件,openclaw 安装包 | qwen3-4b-thinking.tgz,openclaw-2026.9.4.tgz,modify_config.py(从<【易百纳】RK182X_模型文件>网盘资料获取) |
| 端侧推理服务 | rkllm3-server(随模型run.sh启动,OpenAI兼容接口,监听8080端口) |
1. 安装 Node.js 环境

安装过程需要联网。
2. 安装 openclaw
将openclaw-2026.9.4.tgz拷贝至板端后安装:
# PC端推送安装包到板端
adb push <openclaw-2026.9.4.tgz> /userdata
# 板端执行
cd /userdata
npm install -g ./openclaw-2026.9.4.tgz \
--allow-scripts=openclaw,@google/genai,koffi,tree-sitter-bash,protobufjs安装成功如图:


3. 初始化 openclaw
# 板端执行
openclaw onboard --non-interactive --mode local --auth-choice skip \
--daemon-runtime node --gateway-bind lan --gateway-port 18789 --accept-riskonboard 完成后,配置网关 LAN 访问并重启:
# 板端执行
openclaw config set gateway.bind lan
openclaw config set gateway.controlUi.dangerouslyDisableDeviceAuth true
openclaw config set gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback true
openclaw gateway restart4. 配置模型(指向本地 rkllm3-server)
onboard完成后,openclaw默认使用anthropic等云端模型,板上没有API key无法使用,需要把模型指向本地rkllm3-server。以下两种方式二选一。
方式一:手动修改配置文件
配置文件为~/.openclaw/openclaw.json(root 用户即/root/.openclaw/openclaw.json),修改前先备份:
# 板端执行
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak使用nano编辑配置文件:没有nano需要执行apt update && apt install -y nano安装一下。
# 板端执行
nano ~/.openclaw/openclaw.json需要改两处:
(1)改动一:默认模型指向本地模型
"agents": {
"defaults": {
"model": {
"primary": "rkllm3/rknn"
}
}
}格式为提供商名/模型id。rkllm3是改动二中定义的提供商名,rknn是它下面的模型 id,两处必须一致。所有会话(TUI / openclaw agent / Web)默认都走这个模型。
(2)改动二:新增 rkllm3 提供商
在顶层models.providers下新增rkllm3条目(已有其他提供商如anthropic保留不动,互不影响):
"models": {
"providers": {
"rkllm3": {
"baseUrl": "http://127.0.0.1:8080/v1",
"apiKey": "dummy",
"api": "openai-completions",
"models": [
{
"id": "rknn",
"name": "rknn",
"reasoning": false,
"input": ["text"],
"cost": {
"input": 0, "output": 0,
"cacheRead": 0, "cacheWrite": 0
},
"contextWindow": 35000,
"maxTokens": 8192
}
]
}
}
}各参数说明:
| 参数 | 值 | 说明 |
|---|---|---|
| baseUrl | http://127.0.0.1:8080/v1 | rkllm3-server的OpenAI兼容地址,所有对话请求发到这里 |
| apiKey | dummy | rkllm3-server不校验鉴权,但openclaw要求此字段非空,填占位符即可 |
| api | openai-completions | 声明协议为OpenAI/v1/chat/completions(rkllm3-server实现的正是这套) |
| id / name | rknn | 模型名可随意取,但id必须与改动一rkllm3/rknn的后半段一致 |
| reasoning | false | 不按推理型模型特殊处理(思维链已由server端 --reasoning-format 处理) |
| input | ["text"] | 仅文本输入,防止openclaw发送图片 |
| cost | 全 0 | 本地NPU模型不计费,只影响用量统计 |
| contextWindow | 35000 | 必须与RKLLM转换模型时写死的上下文长度一致,见下方说明 |
| maxTokens | 8192 | 单次回复最大生成长度,与启动参数--n_predict 8192对齐 |
contextWindow说明(重要):上下文长度在RKLLM转换时写死,启动参数-c无法超过转换值。openclaw携带全部工具的系统提示较大,且依赖contextWindow决定注入多少历史、何时压缩对话:
- 填超过转换值 → openclaw发出的请求超出模型上限,被server截断或报错;
- 填小于转换值 → 能用,但浪费窗口,长对话会更早触发压缩。
因此直接填转换值(本文用的 Qwen3-4B-Thinking 转换上下文为 35000)。
修改完成后保存退出,校验配置文件格式:
# 板端执行
openclaw config validate # 校验配置文件格式
方式二:一键配置脚本
上面"修改配置文件"一步可用以下脚本自动完成(需 root 执行)。脚本只覆盖agents.defaults.model和models.providers.rkllm3两处,不影响其他配置;写入前自动按时间戳备份,可重复执行。
(1)modify_config.py:网盘资料中获取
# PC端推送脚本到板端任意目录
adb push modify_config.py /userdata
# 板端执行
python3 modify_config.py
openclaw gateway restart(2)或者,将以下代码全部复制,粘贴执行:
# 板端执行
python3 - <<'EOF'
import json, os, shutil, time
p = os.path.expanduser('~/.openclaw/openclaw.json')
shutil.copy(p, p + '.bak.' + time.strftime('%Y%m%d%H%M%S')) # 自动备份
c = json.load(open(p))
# 改动一:默认模型
c['agents']['defaults']['model'] = {'primary': 'rkllm3/rknn'}
# 改动二:本地 rkllm3-server 提供商
c.setdefault('models', {}).setdefault('providers', {})['rkllm3'] = {
'baseUrl': 'http://127.0.0.1:8080/v1',
'apiKey': 'dummy',
'api': 'openai-completions',
'models': [{
'id': 'rknn', 'name': 'rknn', 'reasoning': False, 'input': ['text'],
'cost': {'input': 0, 'output': 0, 'cacheRead': 0, 'cacheWrite': 0},
'contextWindow': 35000, # 与 RKLLM 转换时的上下文长度一致
'maxTokens': 8192, # 与 run.sh 的 --n_predict 对齐
}],
}
json.dump(c, open(p, 'w'), indent=2, ensure_ascii=False)
print('config written:', p)
EOF
openclaw gateway restart
注意:一键脚本只负责模型配置。屏蔽导致rkllm3-server报500的 portal 工具(openclaw config set tools.deny '["portal"]')见第5步,两者都完成后agent才能正常对话。
5. 禁用 portal 工具(必须,否则所有对话请求 500)
# 板端执行
openclaw config set tools.deny '["portal"]'执行成功如图:

6. 启动 rkllm3-server(NPU模型服务)
在PC端将qwen3-4b-thinking.tgz拷贝至板端/userdata/models目录下进行解压:
# PC端执行
adb push <openclaw\qwen3-4b-thinking.tgz> /userdata/models
# 板端执行
cd /userdata/models
tar -xvf qwen3-4b-thinking.tgz
新建一个终端,在里面启动rkllm3-server:
# 板端执行
cd /userdata/models/qwen3-4b-thinking
chmod +x run.sh
./run.sh./run.sh执行后即在板端启动rkllm3-server端侧模型推理服务,保持该终端运行不要关闭:

7. 安装 Gateway 服务
chmod g-w /root用于修复出厂镜像/root的组写权限(否则安装时报[unsafe-permissions]错误);enable-linger让网关在退出登录后继续运行:
# 板端执行
loginctl enable-linger root
chmod g-w /root
export XDG_RUNTIME_DIR=/run/user/0
openclaw gateway install安装成功如图:

8. 获取访问链接
# 板端执行
openclaw dashboard --json从输出中获取 URL,示例:
http://127.0.0.1:18789/#token=5fa38bc53cbc986516f935bb90237917ed836fb7ba819545
需将127.0.0.1换成板子的局域网 IP,例如192.168.1.168:
http://192.168.1.168:18789/#token=5fa38bc53cbc986516f935bb90237917ed836fb7ba8195459. 浏览器访问

在板端执行浏览器打开后得到的URL:
http://192.168.1.168:18789/#token=5fa38bc53cbc986516f935bb90237917ed836fb7ba819545
首次打开会弹出提示:需要在Gateway主机上运行设备批准命令。将页面显示的类似下列命令拷贝到板端执行,执行后会自动登录:
# 板端执行
openclaw devices approve 23711fa4-c31f-47ed-9877-805fc42197e2
登录后即可进入openclawWeb 控制台首页:

在下方输入框发送消息即可进行对话,推理完全由板端rkllm3-server完成:

然后就可以使用openclaw了。
常见问题
安装 Gateway 服务时报[unsafe-permissions]错误:出厂镜像/root目录带组写权限,先执行chmod g-w /root再运行openclaw gateway install。- 对话请求全部返回 500:确认已执行第5步禁用portal工具(
openclaw config set tools.deny '["portal"]'),并确认rkllm3-server已在运行(./run.sh所在终端不能关闭)。 - contextWindow 配置错误导致请求被截断或报错:该值必须与RKLLM转换模型时写死的上下文长度一致(本文Qwen3-4B-Thinking为35000),不要凭空填写,修改后执行
openclaw config validate校验并openclaw gateway restart重启网关。
- 分享
- 举报
暂无数据-
2026-10-23 15:18:53
-
2026-10-12 11:52:46
-
2026-10-13 09:56:34
-
2026-10-21 09:53:52
-
浏览量:622次2026-07-10 10:20:16
-
浏览量:1020次2026-06-17 14:25:54
-
浏览量:523次2026-08-26 10:08:48
-
2026-10-22 09:57:54
-
浏览量:831次2026-07-17 09:11:34
-
浏览量:741次2026-07-14 11:37:26
-
浏览量:800次2026-07-22 13:14:46
-
浏览量:914次2026-07-23 16:21:53
-
浏览量:796次2026-07-09 16:37:13
-
浏览量:783次2026-07-15 09:43:54
-
浏览量:194次2026-10-10 11:27:49
-
浏览量:180次2026-10-09 17:05:20
-
浏览量:86次2026-10-16 17:05:39
-
浏览量:739次2026-07-10 15:45:49
-
2026-09-29 10:33:22
- 在rk3588平台使用gst-rtsp-server
- 易百纳玄武S3快速体验
- 开源一套基于RK3588 YOLO11N的火灾,睡岗识别demo,包含模型,python版本
- 易百纳_玄武S3 OpenClaw安装配置指南
- 易百纳玄武S3 Kubernetes 集群化部署
- 易百纳_玄武S3 模型转换_Qwen2.5-3B指南
- 易百纳玄武S3_intelligate(基于RK182X边缘计算终端的离线智能网关示例)部署指南
- 易百纳玄武S3_meeting(会议音频)示例部署指南
- 基于RK3588J的6路MIPI CSI视频采集案例分享,多路视频系统必看!
- 端侧AI双重能力解锁|易百纳玄武S3工控机:工业异常检测 + 智慧交通多路目标检测落地实践
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
易百纳技术社区
微信支付举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明

微信扫码分享
QQ好友