国产麒麟 V10 SP1 系统下 OpenClaw 全指南部署
国产麒麟V10 SP1系统部署OpenClaw全指南(避坑+实操)OpenClaw 是一款功能强大的多通道消息管理与代理交互工具,支持 WhatsApp、Telegram 等通道集成,核心依赖网关服务与 CLI 工具。本文基于 **银河麒麟桌面操作系统 V10 SP1(x86_64 架构,海光C86 7390处理器)** 环境,详细记录从源码部署到功能验证的完整流程,重点解决网络限制、依赖编译、U
⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计5250字,阅读大概需要3分钟
🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号:不懂开发的程序猿❗❗❗知识付费,🈲止白嫖,有需要请后台私信或【文末】个人微信公众号联系我
国产麒麟 V10 SP1 系统下 OpenClaw 全指南部署
国产麒麟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. 关键避坑点
-
网络限制:Docker 部署方案直接放弃,优先选择宿主机源码编译;
-
依赖编译:
node-llama-cpp必须通过.pnpmfile.cjs屏蔽,否则安装失败; -
网关启动:必须指定
--token参数,否则鉴权失败; -
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–
更多推荐


所有评论(0)