跳转到内容

群辉安装OpenClaw

来自MyWiki
Ldl留言 | 贡献2026年2月24日 (二) 15:29的版本

好的,根据你之前提出的所有需求,我将从零开始,为你梳理一份完整的、可在群晖虚拟机上实现的安装配置指南。整个过程分为七个阶段,请按顺序操作。

---

## 📦 第一阶段:在群晖上创建 Ubuntu 虚拟机

### 1.1 安装 Virtual Machine Manager

- 登录群晖 DSM → **套件中心** → 搜索并安装 **Virtual Machine Manager**。

### 1.2 下载 Ubuntu Server 镜像

- 访问 [Ubuntu 官网下载](https://cn.ubuntu.com/download/server),选择 **Ubuntu 22.04 LTS 或 24.04 LTS 服务器版**(推荐 22.04,更稳定)。

- 将下载的 ISO 文件上传到群晖的共享文件夹(如 `docker` 或 `iso` 目录)。

### 1.3 创建虚拟机

- 打开 VMM → **虚拟机** → **新增** → 选择 “从 ISO 映像安装”。

- **存储**:建议分配 64 GB 以上(实际占用会随项目增长)。

- **CPU**:分配 4 核心(群晖性能足够)。

- **内存**:分配 8 GB(32 GB 内存绰绰有余)。

- **网络**:选择 **桥接模式**,确保虚拟机与宿主机在同一局域网,并获得独立 IP,方便后续手机连接 OpenClaw 服务。

- **ISO 映像**:选择你上传的 Ubuntu Server ISO。

- 完成创建后启动虚拟机,通过 VMM 的远程控制窗口完成 Ubuntu 系统安装。

### 1.4 安装 Ubuntu Server

- 语言、键盘布局默认。

- 网络配置:建议设置静态 IP(例如 `192.168.1.200`),避免 DHCP 变更导致后续连接失效。

- 软件选择:只勾选 **OpenSSH server**(无需图形界面)。

- 创建用户(例如用户名 `ubuntu`),记好密码。

- 安装完成后重启,取出虚拟光驱(ISO)。

### 1.5 验证 SSH 连接

- 从你的主电脑使用 SSH 连接虚拟机,后续所有操作均可通过 SSH 完成:

  ```bash

  ssh ubuntu@192.168.1.200   # 替换为你的实际 IP

  ```

---

## 🧰 第二阶段:Ubuntu 基础环境配置

```bash

# 更新系统包

sudo apt update && sudo apt upgrade -y

# 安装常用工具

sudo apt install -y curl wget git unzip build-essential

# 可选:设置时区为 Asia/Shanghai

sudo timedatectl set-timezone Asia/Shanghai

```

---

## 🚀 第三阶段:安装 OpenClaw 服务端

### 3.1 安装 Node.js(官方推荐版本 22.x)

```bash

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -

sudo apt install -y nodejs

node -v   # 应显示 v22.x

```

### 3.2 安装 OpenClaw(通过 npm 全局安装)

```bash

sudo npm install -g openclaw

# 验证安装

openclaw --version

```

### 3.3 初始化 OpenClaw 配置

```bash

openclaw onboard

```

交互式配置要点:

- **Binding**:选择 `0.0.0.0`(允许局域网其他设备访问)。

- **Port**:默认 `18789`。

- **API Keys**:根据你使用的 AI 模型(如 OpenAI、Gemini)填入对应的 API Key。

- **记录生成的 token**(后续连接客户端需要)。

### 3.4 启动服务并设置守护进程

```bash

# 安装 PM2 守护进程

sudo npm install -g pm2

# 启动 OpenClaw 网关

pm2 start $(which openclaw) -- gateway

# 保存 PM2 配置,并设置开机自启

pm2 save

pm2 startup

```

执行 `pm2 startup` 后,会输出一条带有 `sudo env` 的命令,请复制并执行它。

### 3.5 验证服务状态

```bash

curl http://localhost:18789/health

# 预期返回类似 {"status":"ok"}

```

记录 token(用于后续节点连接):

```bash

cat ~/.openclaw/openclaw.json | grep token

```

---

## 🛠️ 第四阶段:搭建 Flutter/Android 构建环境

### 4.1 安装 JDK 17

```bash

sudo apt install -y openjdk-17-jdk

java -version   # 确保版本为 17

```

### 4.2 安装 Android SDK(命令行工具)

```bash

cd ~

wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip

unzip commandlinetools-linux-*.zip -d android-sdk

mkdir -p android-sdk/cmdline-tools/latest

# 将解压的内容移动到 latest 目录(注意路径可能不同)

mv android-sdk/cmdline-tools/* android-sdk/cmdline-tools/latest/ 2>/dev/null || true

```

### 4.3 设置环境变量

编辑 `~/.bashrc`,在末尾添加:

```bash

export ANDROID_HOME=$HOME/android-sdk

export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools

export PATH=$PATH:$HOME/flutter/bin   # Flutter 路径将在下一步添加

```

然后刷新:

```bash

source ~/.bashrc

```

### 4.4 安装必要的 SDK 组件

```bash

sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"

```

### 4.5 安装 Flutter SDK

```bash

cd ~

wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.27.1-stable.tar.xz

tar xf flutter_linux_*.tar.xz

# 环境变量已在 .bashrc 中添加,直接生效

source ~/.bashrc

```

### 4.6 安装 Flutter Linux 桌面依赖(用于 flutter doctor)

```bash

sudo apt install -y clang cmake ninja-build libgtk-3-dev

```

### 4.7 运行 flutter doctor 并接受 licenses

```bash

flutter doctor

# 如果显示 Android licenses 未接受,则运行:

flutter doctor --android-licenses

# 一直输入 y 接受所有协议

```

### 4.8 克隆 OpenClaw Flutter 项目并测试构建

```bash

git clone https://github.com/mithun50/openclaw-termux.git

cd openclaw-termux/flutter_app

flutter pub get

flutter build apk --debug

```

构建成功后,APK 位于 `build/app/outputs/flutter-apk/app-debug.apk`。

---

## 📱 第五阶段:维基百科 Android App 开发环境

### 5.1 克隆维基百科官方 Android 项目

```bash

cd ~

git clone https://github.com/wikimedia/apps-android-wikipedia.git

cd apps-android-wikipedia

```

### 5.2 使用 Gradle Wrapper 构建(验证环境)

```bash

./gradlew assembleDebug

```

首次构建会下载 Kotlin 编译器、依赖库等,耗时稍长。成功后 APK 位于 `app/build/outputs/apk/debug/`。

### 5.3 修改为自己 MediaWiki 站点的关键文件

- `app/src/main/java/org/wikipedia/settings/SiteInfo.kt`:修改 API 端点为你的 MediaWiki 地址。

- `app/src/main/res/values/config.xml`:修改应用名称、OAuth 配置等。

- 详细修改可参考 [MediaWiki 官方文档](https://www.mediawiki.org/wiki/MediaWiki)。

---

## 🔌 第六阶段:配置远程控制(将 Ubuntu 开发机作为 OpenClaw 节点)

### 6.1 在 Ubuntu 开发机上连接 OpenClaw 服务端

确保 OpenClaw CLI 已安装(之前已全局安装)。

```bash

# 使用 openclaw remote 命令连接(具体命令名称请用 openclaw --help 确认)

# 假设命令为 openclaw remote connect

openclaw remote connect --host 192.168.1.200 --token <你的服务端token>

```

如果命令格式不同,请根据帮助调整。

### 6.2 在服务端批准节点

登录到运行 OpenClaw 服务端的机器(同一台 Ubuntu 虚拟机),查看待批准设备:

```bash

openclaw devices list

# 找到状态为 pending 的设备 ID

openclaw devices approve <设备ID>

```

### 6.3 验证节点状态

在服务端执行:

```bash

openclaw nodes list

```

如果看到你的开发机状态为 `online`,则配置成功。

---

## 🧪 第七阶段:验证整体流程

### 7.1 从手机或电脑访问 OpenClaw 服务

- 使用 OpenClaw 官方 App(Kotlin 版)或社区 Flutter 版,配置服务器地址为 `http://192.168.1.200:18789`,填入 token。

- 连接成功后,应该能看到你的 Ubuntu 开发机作为一个在线节点。

### 7.2 尝试远程执行命令

- 在 OpenClaw 聊天界面中,发送指令:“请在 Ubuntu 开发机上执行 `ls -la /home`”。

- 如果配置正确,AI 会调用远程节点执行命令并返回结果。

---

## 💡 重要提示与排错

| 问题 | 解决方法 |

|------|----------|

| 虚拟机无法访问外网 | 检查 VMM 网络是否为桥接模式,确认 Ubuntu 内网络配置正确。 |

| OpenClaw 服务启动失败 | 查看 PM2 日志:`pm2 logs openclaw`。 |

| Flutter 构建找不到 Android SDK | 确认 `ANDROID_HOME` 环境变量已设置,且 `sdkmanager` 可用。 |

| 远程连接超时 | 检查防火墙是否开放 18789 端口:`sudo ufw allow 18789/tcp`。 |

| 维基百科项目编译内存不足 | 分配更多内存给虚拟机,或在 `gradle.properties` 中调整 JVM 参数。 |

---

至此,你已经在群晖虚拟机上完整搭建了 OpenClaw 服务、Flutter/Kotlin 构建环境,并实现了远程控制。你可以同时进行 OpenClaw 社区版 App 的开发、维基百科 App 的定制,并通过 OpenClaw 指令远程调用编译任务。

如果某个环节遇到具体报错,欢迎随时贴出详细信息,我会协助你排查。