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

易百纳玄武S3(RK3588+RK1828)边缘计算终端上部署openclaw智能体 易百纳技术社区 2026-10-26 16:47:18 70

硬件平台:易百纳玄武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控制台,与端侧智能体对话。

整体流程分为九步:

  1. 板端安装Node.js环境;
  2. 板端安装openclaw;
  3. 初始化openclaw;
  4. 配置模型(指向本地rkllm3-server);
  5. 禁用 portal 工具;
  6. 部署模型并启动rkllm3-server;
  7. 安装 Gateway 服务;
  8. 获取访问链接;
  9. 浏览器访问与对话验证。

环境准备

项目说明
目标板Ebaina玄武S3边缘计算AI终端(Debian 13,RK3588+RK182X)
SDKRK182X 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-risk

onboard 完成后,配置网关 LAN 访问并重启:

# 板端执行
openclaw config set gateway.bind lan
openclaw config set gateway.controlUi.dangerouslyDisableDeviceAuth true
openclaw config set gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback true
openclaw gateway restart

4. 配置模型(指向本地 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
        }
      ]
    }
  }
}

各参数说明:

参数值说明
baseUrlhttp://127.0.0.1:8080/v1rkllm3-server的OpenAI兼容地址,所有对话请求发到这里
apiKeydummyrkllm3-server不校验鉴权,但openclaw要求此字段非空,填占位符即可
apiopenai-completions声明协议为OpenAI/v1/chat/completions(rkllm3-server实现的正是这套)
id / namerknn模型名可随意取,但id必须与改动一rkllm3/rknn的后半段一致
reasoningfalse不按推理型模型特殊处理(思维链已由server端 --reasoning-format 处理)
input["text"]仅文本输入,防止openclaw发送图片
cost全 0本地NPU模型不计费,只影响用量统计
contextWindow35000必须与RKLLM转换模型时写死的上下文长度一致,见下方说明
maxTokens8192单次回复最大生成长度,与启动参数--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=5fa38bc53cbc986516f935bb90237917ed836fb7ba819545

9. 浏览器访问

​易百纳社区

在板端执行浏览器打开后得到的URL:

http://192.168.1.168:18789/#token=5fa38bc53cbc986516f935bb90237917ed836fb7ba819545

首次打开会弹出提示:需要在Gateway主机上运行设备批准命令。将页面显示的类似下列命令拷贝到板端执行,执行后会自动登录:

# 板端执行
openclaw devices approve 23711fa4-c31f-47ed-9877-805fc42197e2

易百纳社区

登录后即可进入openclawWeb 控制台首页:

易百纳社区

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

易百纳社区

然后就可以使用openclaw了。

常见问题

  1. 安装 Gateway 服务时报[unsafe-permissions]错误:出厂镜像/root目录带组写权限,先执行chmod g-w /root再运行openclaw gateway install。
  2. 对话请求全部返回 500:确认已执行第5步禁用portal工具(openclaw config set tools.deny '["portal"]'),并确认rkllm3-server已在运行(./run.sh所在终端不能关闭)。
  3. contextWindow 配置错误导致请求被截断或报错:该值必须与RKLLM转换模型时写死的上下文长度一致(本文Qwen3-4B-Thinking为35000),不要凭空填写,修改后执行openclaw config validate校验并openclaw gateway restart重启网关。​


声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
易百纳技术社区
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
元
红包最小金额不能低于5元
红包数量
个
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

开

已领取20/40,共1.6元 红包规则

    易百纳技术社区