在 Android 上运行 Hermes Agent 的独立 APK —— 无需 root,无需 PC,开箱即用。
通过 proot + Ubuntu 24.04 rootfs 在 Android 用户空间构建完整 Linux 环境,内置 hermes-web-ui Web 仪表盘。
┌──────────────────────────────────────────────────────┐
│ Android APK │
│ com.nous.hermes.mobile │
│ │
│ MainActivity ──→ proot (libproot.so) │
│ │ │ │
│ │ ▼ │
│ ┌────┴──────────────────────────────────────────┐ │
│ │ Ubuntu 24.04 rootfs (app data, ~28MB) │ │
│ │ │ │
│ │ apt → python3, git, build-essential │ │
│ │ libffi, openssl... │ │
│ │ pip → hermes-agent │ │
│ │ npm → hermes-web-ui │ │
│ │ │ │
│ │ bin/python3 bin/hermes bin/hermes-web-ui │ │
│ └────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘
应用内置 4 步安装向导,也可一键安装:
- proot — 下载 Ubuntu 24.04 rootfs 并验证
- 依赖 —
apt-get installPython 3 + build-essential + libffi/openssl 等 - Hermes Agent —
git clonehermes-agent + 创建 venv +pip install - WebUI —
npm install -g hermes-web-ui(含 Node.js 运行时)
首次安装需联网,总下载量约 1GB,耗时 10-30 分钟(取决于网络)。
- 4 步安装向导 — proot / 依赖 / Hermes Agent / WebUI,支持单步安装或一键全装
- Web 仪表盘 — 内置 hermes-web-ui,通过 WebView 直接访问,无需浏览器
- 服务启停 — 仪表盘独立控制 hermes-web-ui 服务启停
- Web 通知 — 通过 JS 桥接将 Web Notifications API 映射到 Android 原生通知
- 环境备份/还原 — 导出/导入完整环境(rootfs + venv + 配置),换机不重装
- 在线更新 — 设置页一键更新 Hermes Agent(git pull + pip)和 WebUI(npm @latest)
- 实时日志 — 安装过程实时日志,支持当前/全部日志切换
- Android 10(API 29)或更高
arm64-v8a架构(2017 年后绝大多数手机)- 约 2GB 可用存储空间
- 首次安装需网络连接
- JDK 17
- Android SDK(compileSdk 35, build-tools 35.0.0)
# 下载 proot 二进制
./scripts/fetch-proot-binaries.sh
# Debug 构建
./gradlew assembleLiteDebug
# Release 构建(需签名配置)
export SIGNING_KEYSTORE_PATH=$HOME/hermes-release.jks
export SIGNING_KEYSTORE_PASSWORD=changeit
export SIGNING_KEY_ALIAS=hermes
export SIGNING_KEY_PASSWORD=changeit
./gradlew assembleLiteRelease推送到 main 分支或打 v* tag 时,GitHub Actions 自动构建 APK:
- 分支推送 → 构建 APK(CI artifact,30 天保留)
v*tag → 创建正式 Release(含版本号命名的 APK)
git tag v0.0.1
git push origin v0.0.1hermes-android-apk/
├── .github/workflows/build.yml # CI 构建配置
├── app/
│ ├── build.gradle.kts # versionName, signing, abiFilters
│ └── src/main/
│ ├── AndroidManifest.xml
│ ├── java/com/nous/hermes/mobile/
│ │ ├── MainActivity.kt # 安装向导 + 仪表盘 + 设置页
│ │ ├── ChatActivity.kt # WebView + 通知桥接
│ │ ├── HermesServerManager.kt # proot/rootfs/python/hermes 安装
│ │ ├── HermesStudioInstaller.kt # hermes-web-ui 安装 + 启停 + watchdog
│ │ ├── HermesForegroundService.kt
│ │ ├── ProotProcessManager.kt # proot 进程管理
│ │ └── BootstrapManager.kt # rootfs 下载/解压/路径管理
│ └── res/
│ ├── layout/activity_main.xml
│ └── values/strings.xml
├── scripts/fetch-proot-binaries.sh
└── README.md
- Hermes Agent — Nous Research,核心 AI Agent
- Hermes Studio — hermes-web-ui Web 仪表盘
- OpenClaw Termux — 项目灵感来源,proot + Ubuntu rootfs 安卓方案
- proot — 用户空间 rootfs
MIT