⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计5250字,阅读大概需要3分钟
🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号:不懂开发的程序猿

❗❗❗知识付费,🈲止白嫖,有需要请后台私信或【文末】个人微信公众号联系我

国产麒麟V10 SP1系统部署OpenClaw全指南(避坑+实操)

前言

OpenClaw 是一款功能强大的多通道消息管理与代理交互工具,支持 WhatsApp、Telegram 等通道集成,核心依赖网关服务与 CLI 工具。本文基于 银河麒麟桌面操作系统 V10 SP1(x86_64 架构,海光C86 7390处理器) 环境,详细记录从源码部署到功能验证的完整流程,重点解决网络限制、依赖编译、UI 连接等国产化环境特有的适配问题。

一、环境准备与核心问题预判

1. 系统信息确认

# 查看系统版本
cat /etc/os-release
# 查看架构信息
uname -m

输出示例:

NAME="Kylin"
VERSION="V10 SP1"
ID=kylin
ARCH=x86_64

2. 核心限制说明(麒麟系统特有)

  • 网络限制:无法访问外部 Docker 镜像仓库(如 Docker Hub),Docker 部署方案直接失效;

  • 编译限制:原生模块(如 node-llama-cpp)与麒麟系统编译器/依赖库不兼容;

  • 网络环境:部分云 PC 的 ens3 网卡无 IPv4 地址,导致 Web UI 无法通过 WebSocket 连接网关。

二、部署方案选择

部署方式 可行性 核心问题 最终选择
Docker 一键部署 网络无法拉取基础镜像 放弃
源码手动编译(宿主机) 依赖编译适配、网络限制 采用

三、详细部署步骤(实操版)

阶段1:基础依赖安装

1. 安装系统工具与编译依赖
# 更新系统包索引
sudo apt update && sudo apt upgrade -y

# 安装基础工具(git、构建工具、依赖库)
sudo apt install -y git build-essential cmake libopenblas-dev libgomp1 pkg-config python3-dev libssl-dev zlib1g-dev
2. 安装 Node.js 与 pnpm
# 安装 Node.js 22(适配麒麟x86_64)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs

# 验证 Node 环境
node -v  # 需输出 v22.x.x
npm -v   # 需输出 10.x.x 及以上

# 安装 pnpm(项目指定包管理器)
sudo npm install -g pnpm
pnpm -v  # 需输出 10.x.x 及以上
3. 配置 pnpm 国内镜像源(解决依赖下载慢)
# 配置淘宝镜像源
pnpm config set registry https://registry.npmmirror.com
pnpm config set @npm:registry https://registry.npmmirror.com

# 验证配置
pnpm config get registry  # 输出 https://registry.npmmirror.com

阶段2:源码下载与依赖安装

1. 下载 OpenClaw 源码
# 进入下载目录
cd ~/下载

# 克隆源码(或手动下载 zip 包解压)
git clone https://github.com/openclaw/openclaw.git
cd openclaw-main/openclaw-main
2. 解决 node-llama-cpp 编译失败问题

麒麟系统无法编译 node-llama-cpp 原生模块,需通过配置屏蔽该依赖:

# 创建 pnpm 自定义解析脚本,强制忽略 node-llama-cpp
sudo tee .pnpmfile.cjs <<-'EOF'
module.exports = {
  hooks: {
    readPackage(pkg) {
      // 删除所有依赖中的 node-llama-cpp
      if (pkg.dependencies && pkg.dependencies['node-llama-cpp']) {
        delete pkg.dependencies['node-llama-cpp'];
      }
      if (pkg.devDependencies && pkg.devDependencies['node-llama-cpp']) {
        delete pkg.devDependencies['node-llama-cpp'];
      }
      return pkg;
    }
  }
};
EOF
3. 安装项目依赖(跳过编译脚本)
# 清除缓存与不完整依赖
rm -rf node_modules .pnpm-lock.yaml
pnpm store prune

# 安装依赖(--ignore-scripts 跳过原生模块编译)
sudo pnpm install --ignore-scripts --no-frozen-lockfile

阶段3:配置并启动 OpenClaw 网关

1. 创建全局软链接(直接使用 openclaw 命令)
# 链接到系统 PATH,全局可用
sudo ln -s /home/Admin/下载/openclaw-main/openclaw-main/openclaw.mjs /usr/local/bin/openclaw
sudo chmod +x /usr/local/bin/openclaw

# 验证命令
openclaw -V  # 输出 OpenClaw 2026.2.4 (unknown)
2. 初始化 OpenClaw 配置
# 执行交互式配置向导(自动生成配置文件)
openclaw setup

输出示例:

Wrote ~/.openclaw/openclaw.json
Workspace OK: ~/.openclaw/workspace
Sessions OK: ~/.openclaw/agents/main/sessions
3. 启动网关(带认证 token)
# 启动网关并指定自定义 token(避免鉴权报错)
openclaw gateway --allow-unconfigured --token my-openclaw-token --port 18789

启动成功输出:

🦞 OpenClaw 2026.2.4 (unknown) — If it's repetitive, I'll automate it; if it's hard, I'll bring jokes and a rollback plan.
13:02:47 [canvas] host mounted at http://127.0.0.1:18789/__openclaw__/canvas/
13:02:47 [heartbeat] started
13:02:47 [gateway] listening on ws://127.0.0.1:18789 (PID 937725)
13:02:47 [browser/service] Browser control service ready (profiles=2)

阶段4:构建并尝试访问 Web UI(可选)

1. 构建 UI 资源

# 在项目根目录执行 UI 构建命令
sudo pnpm ui:build

构建成功输出:

✓ 127 modules transformed.
../dist/control-ui/index.html                   0.69 kB │ gzip:   0.37 kB
../dist/control-ui/assets/index-BoXosYY6.css   80.85 kB │ gzip:  13.95 kB
../dist/control-ui/assets/index-Dm6g1E26.js   538.46 kB │ gzip: 135.21 kB
✓ built in 2.00s
2. 访问 Web 控制面板
# 自动打开浏览器
openclaw dashboard
  • 手动访问地址:http://127.0.0.1:18789/__openclaw__/control/

  • 输入 Token:my-openclaw-token

阶段5:麒麟系统 UI 连接问题处理(关键避坑)

在这里插入图片描述

在这里插入图片描述

问题现象

UI 面板显示 disconnected (4008): connect failed,网关日志提示 Warning: no IPv4 address available on ens3

根因

麒麟系统 ens3 网卡无 IPv4 地址,Web UI 的 WebSocket 握手流程被系统路由拦截。

解决方案(放弃 UI,使用 CLI 核心功能)

UI 连接问题属于环境层面限制,无技术解决路径,但 CLI 工具可完全替代 UI 功能,无需纠结。

四、核心功能使用(CLI 实操)

1. 验证网关健康状态

openclaw health --token my-openclaw-token

成功输出:

{
  "status": "ok",
  "pid": 937725,
  "port": 18789,
  "uptime": "10m",
  "services": {
    "heartbeat": "running",
    "browser": "ready",
    "canvas": "mounted"
  }
}

2. 管理消息通道(以 WhatsApp 为例)

# 登录 WhatsApp Web(终端输出二维码,扫码绑定)
openclaw channels login whatsapp --verbose

# 查看已登录通道
openclaw channels list

# 发送测试消息
openclaw message send --target +15555550123 --message "OpenClaw 麒麟系统测试" --token my-openclaw-token

3. 网关管理常用命令

# 停止网关
openclaw gateway stop

# 查看网关日志
tail -f /tmp/openclaw/openclaw-2026-02-06.log

# 配置默认代理模型
openclaw config set gateway.agent.model anthropic/claude-3-haiku --token my-openclaw-token

五、部署总结与注意事项

1. 部署成果

功能模块 状态 说明
网关核心服务 ✅ 正常运行 监听 127.0.0.1:18789,支持所有后台服务
CLI 工具 ✅ 全局可用 通道管理、消息发送、配置修改等功能全覆盖
Web UI 面板 ❌ 无法连接 麒麟系统无 IPv4 地址导致,不影响核心使用

2. 关键避坑点

  1. 网络限制:Docker 部署方案直接放弃,优先选择宿主机源码编译;

  2. 依赖编译:node-llama-cpp 必须通过 .pnpmfile.cjs 屏蔽,否则安装失败;

  3. 网关启动:必须指定 --token 参数,否则鉴权失败;

  4. UI 问题:麒麟系统无 IPv4 时,直接使用 CLI 工具,无需浪费时间调试。

3. 适用场景

  • 国产化环境(麒麟 V10 SP1)下的多通道消息管理;

  • 无需可视化界面,仅需 CLI 自动化操作的场景;

  • 内网/隔离环境中的代理交互与消息收发。

六、附录:常用命令速查

功能 命令
启动网关 openclaw gateway --allow-unconfigured --token my-openclaw-token --port 18789
停止网关 openclaw gateway stop
查看健康状态 openclaw health --token my-openclaw-token
登录 WhatsApp openclaw channels login whatsapp --verbose
发送消息 openclaw message send --target [号码] --message [内容] --token [token]
查看日志 tail -f /tmp/openclaw/openclaw-xxxx-xx-xx.log
通过以上步骤,即可在麒麟 V10 SP1 系统上稳定运行 OpenClaw 核心功能,虽无 UI 可视化界面,但 CLI 工具完全满足日常使用需求,完美适配国产化环境的网络与系统限制。

–end–

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐