在安卓手机上部署Hermes Agent教程

0 / 6

仅限 Android。果党可以撤了。

为什么要在手机上养马?搞个迷你主机不行吗?当然更推荐树莓派或迷你主机方案。但我是因为要出差好几天,安全起见家中要关闭电器。带上树莓派又占地方,所以带了一个旧手机。

这个可以认为是差旅人士友好方案。


Android 手机部署 Hermes Agent 完整教程(V2 优化版)

目录

  1. 前言与概述
  2. 方案对比与选择
  3. 环境准备
  4. Termux 基础配置
  5. Hermes Agent 部署(官方推荐方式)
  6. 配置与启动
  7. 后台运行与保活方案
  8. 远程访问配置
  9. 局限性与注意事项
  10. 进阶配置
  11. 故障排除
  12. 附录

1. 前言与概述

1.1 什么是 Hermes Agent

Hermes Agent 是一个功能强大的 AI 助手框架,支持多种模型和工具集成,可以在各种平台上运行。本教程将指导你如何在 Android 手机上完整部署 Hermes Agent,让你的手机变成随身携带的 AI 助手。

1.2 为什么选择 Android 部署

  • 便携性 :随时随地使用 AI 助手
  • 隐私性 :数据完全本地处理
  • 成本低 :利用现有设备,无需额外硬件
  • 可玩性 :深度定制,打造专属 AI 工作流

1.3 适用设备要求

配置项 最低要求 推荐配置
Android 版本 Android 10+ Android 12+
存储空间 500MB 可用空间 2GB+ 可用空间
内存 (RAM) 4GB 8GB+
处理器 ARM64 中高端 SoC
网络 WiFi/4G/5G 稳定网络连接

2. 方案对比与选择

2.1 Android 运行 Python 的方案对比

方案 优点 缺点 适用场景
Termux 完整 Linux 环境、包管理丰富、社区活跃 需要一定 Linux 基础 ⭐ 推荐方案
Pydroid 3 图形界面友好、自带 IDE、易于上手 功能受限、后台运行困难 初学者入门
QPython 轻量级、中文支持好 更新慢、兼容性差 简单脚本运行
UserLAnd 完整 Linux 发行版、支持图形界面 资源占用高、配置复杂 需要图形界面的场景

2.2 推荐方案:Termux

选择 Termux 的理由:

  1. 原生 Linux 环境 :基于 Android 的 Linux 内核,提供完整的终端体验
  2. 丰富的软件包 :内置 apt 包管理器,超过 1000+ 软件包可用
  3. Python 支持完善 :支持 Python 3.8+,pip 可用
  4. 后台运行能力 :支持通过 wakelock 保持后台运行
  5. SSH 远程访问 :支持 OpenSSH,可远程管理
  6. 社区生态丰富 :Termux:API、Termux:Widget、Termux等扩展
  7. 官方适配 :Hermes Agent 官方已针对 Termux 环境做了专属适配

3. 环境准备

3.0 科学上网

这个我就不细讲了。

3.1 下载安装 Termux

⚠️ 严禁从 Google Play 安装 (版本停更,依赖存在大量兼容性问题)

官方下载渠道(二选一):

  1. GitHub 最新版 (推荐)

安装注意:

  • 需开启「设置 → 安全 → 安装未知来源应用」权限
  • 安装后打开 Termux

这里最好顺手把 Termux 和 Termux API 这两个包一起装上。后面还有用。

3.2 必要的前置设置

步骤 1:关闭电池优化(重要!)

设置 → 应用 → Termux → 电池 → 无限制

这一步确保 Termux 不会在后台被系统杀死。

步骤 2:授予存储权限

# 在 Termux 中执行
termux-setup-storage

这将创建 ~/storage 目录,链接到手机的内部存储。


4. Termux 基础配置

4.1 首次启动配置

打开 Termux 后,执行以下命令更新软件包:

# 更新软件包列表并升级
pkg update && pkg upgrade -y

# 安装必要工具
pkg install -y git curl wget vim nano

4.2 更换国内镜像源(推荐)

一键切换清华镜像源:

sed -i 's@^deb.*stable main$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main stable main@' $PREFIX/etc/apt/sources.list
apt update && apt upgrade -y

或可视化换源:

termux-change-repo

选择:

  • Mirror group: 选择 Mirrors in China
  • 具体镜像:推荐选择 TsinghuaUSTC

4.3 安装基础依赖

# 安装完整系统依赖(Hermes Agent 所需)
pkg install -y git python clang rust make pkg-config libffi openssl nodejs ripgrep ffmpeg

5. Hermes Agent 部署(官方推荐方式)

Hermes Agent 官方已针对 Termux 环境做了专属适配,提供一键安装脚本。

5.1 一键安装(新手首选,强烈推荐)

直接在 Termux 终端执行以下命令:

# 官方脚本(需科学上网)
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

# 国内镜像(推荐,国内用户)
curl -fsSL https://res1.hermesagent.org.cn/install.sh | bash

安装过程说明:

脚本全程无需人工干预,自动执行以下操作:

  • ✅ 用 pkg 包管理器安装 python、clang、rust 等系统构建依赖
  • ✅ 创建隔离的 Python 虚拟环境,避免污染系统环境
  • ✅ 自动导出安卓 API 级别,适配移动端依赖构建
  • ✅ 安装经过验证的 Termux 专属 .[termux] 组件包
  • ✅ 将 hermes 命令链接到系统 PATH,实现全局调用
  • ✅ 自动跳过安卓端未适配的浏览器/语音相关流程

安装耗时: 约 2-5 分钟,取决于网络速度与设备性能

5.2 手动安装(进阶用户 / 调试排错用)

若一键安装出现报错,可按以下步骤逐行执行手动安装:

步骤 1:确保基础依赖已安装

pkg install -y git python clang rust make pkg-config libffi openssl nodejs ripgrep ffmpeg

步骤 2:克隆 Hermes Agent 仓库(含子模块)

# 创建工作目录
mkdir -p ~/projects
cd ~/projects

# 克隆仓库
git clone --recurse-submodules https://github.com/NousResearch/hermes-agent.git
cd hermes-agent

# 若已克隆但未拉取子模块,执行补全
git submodule update --init --recursive

步骤 3:创建并激活虚拟环境

python -m venv venv
source venv/bin/activate

# 配置安卓专属环境变量
export ANDROID_API_LEVEL="$(getprop ro.build.version.sdk)"

# 升级 pip
python -m pip install --upgrade pip setuptools wheel

步骤 4:安装 Termux 专属适配依赖

# 完整适配版(推荐)
python -m pip install -e '.[termux]' -c constraints-termux.txt

# 仅核心最小版(无额外功能)
# python -m pip install -e '.' -c constraints-termux.txt

步骤 5:链接 hermes 命令到系统 PATH

ln -sf "$PWD/venv/bin/hermes" "$PREFIX/bin/hermes"

6. 配置与启动

6.1 验证安装是否成功

执行以下两条命令,无报错即代表安装成功:

# 查看版本号
hermes version

# 运行系统诊断,检查所有依赖与配置是否正常
hermes doctor

hermes doctor 所有检查项均为绿色通过,即可进入下一步配置。

6.2 核心配置:LLM 模型与 API 密钥

Hermes Agent 本身不运行大模型,需配置大模型 API 密钥(要求模型至少支持 64K tokens 上下文)。

交互式配置(推荐):

# 交互式模型配置
hermes model

# 或完整配置向导(模型、工具、网关等)
hermes setup

手动配置方式:

# 编辑环境变量文件
nano ~/.hermes/.env

# 填入 API 密钥,示例(以 OpenRouter 为例):
OPENROUTER_API_KEY=sk-or-v1-你的密钥

编辑完成后,按 Ctrl+O 保存,Ctrl+X 退出编辑器。

6.3 启动 Hermes Agent

配置完成后,在终端执行以下命令,即可启动 Hermes 对话界面:

hermes

7. 后台运行与保活方案

7.1 核心原理

Android 系统(特别是国产 ROM)会 激进地杀死后台进程以节省电量。要让 Hermes Agent 持续运行,需要同时解决三个层面:

  1. 应用不被系统杀死 → 前台服务 (Foreground Service)
  2. CPU 不休眠 → 唤醒锁 (Wake Lock)
  3. 系统级进程查杀 → ADB设置 + 系统配置

7.2 一键开启前台服务(无需找界面)

如果找不到「RUN IN FOREGROUND」选项,使用命令行方案(100% 生效):

# 前置准备:安装必要工具
pkg install termux-am -y

# 一键开启前台服务 + CPU 唤醒锁
# 执行后,通知栏会立刻出现 Termux 常驻通知
termux-wake-lock
am startservice --user 0 -n com.termux/com.termux.app.TermuxService -a com.termux.service_action.ACQUIRE_WAKE_LOCK

# 固化自启:加入启动脚本
echo "termux-wake-lock" >> ~/.bashrc
echo "am startservice --user 0 -n com.termux/com.termux.app.TermuxService -a com.termux.service_action.ACQUIRE_WAKE_LOCK > /dev/null 2>&1" >> ~/.bashrc

7.3 验证前台服务是否生效

# 直观验证:下拉手机通知栏,能看到 Termux 的常驻通知

# 命令行验证:
termux-wake-lock
# 若提示 "Wake lock already held",说明唤醒锁和前台服务已成功持有

7.4 关闭前台服务

# 释放唤醒锁
termux-wake-unlock

# 停止前台服务
am stopservice --user 0 -n com.termux/com.termux.app.TermuxService

7.5 国产 ROM 专属系统设置

这里注意以下:如果是 OLED 屏幕,还是要定时熄屏的,否则可能会烧屏。

荣耀 Magic UI / 华为 EMUI:

  1. 通知权限全开
  • 设置 → 应用 → 应用管理 → Termux
  • 通知管理 → 开启「允许通知」总开关
  • 所有子项(常驻通知、后台通知、基础通知)全部打开
  • 通知重要程度设为「紧急/优先」
  1. 后台锁定
  • 调出多任务界面 → 下拉 Termux 卡片
  • 点击小锁图标锁定(一键清理不会关闭)
  1. 启动权限全开
  • 设置 → 应用 → Termux → 启动管理
  • 关闭「自动管理」
  • 手动开启「允许自启动、允许关联启动、允许后台活动」
  1. 电池优化彻底关闭
  • 设置 → 应用 → Termux → 电池
  • 选择「不优化」
  • 关闭「异常耗电自动清理」
  1. 网络永久连接
  • 设置 → 电池 → 更多电池设置
  • 开启「休眠时始终保持网络连接」
  • WLAN 高级设置 → 「休眠状态下保持 WLAN 连接」设为「始终」

小米 MIUI:

  • 设置 → 应用设置 → 应用管理 → Termux
  • 省电策略 → 无限制
  • 自启动 → 允许
  • 权限管理 → 后台弹出界面 → 允许

OPPO ColorOS / vivo OriginOS:

  • 设置 → 电池 → 应用耗电管理 → Termux
  • 允许完全后台行为 + 允许自启动

7.6 ADB 命令彻底解决熄屏中断(无需 Root)

针对 Android 12+ 系统的「幻影进程查杀」机制,执行以下 ADB 命令:

# 在电脑上执行(手机需开启 USB 调试)
adb shell settings put global settings_enable_phantom_process_killer false
adb shell device_config put activity_manager max_phantom_processes 2147483647

执行后重启手机生效。配合前台服务 + 唤醒锁,可实现熄屏后进程持续运行。

7.7 使用 screen/tmux 会话管理

安装 screen:

pkg install -y screen

使用 screen:

# 创建新会话
screen -S hermes

# 在会话中运行
hermes

# 按 Ctrl+A 然后按 D 分离会话

# 重新连接会话
screen -r hermes

安装 tmux(更现代):

pkg install -y tmux

# 创建新会话
tmux new -s hermes

# 运行程序
hermes

# 按 Ctrl+B 然后按 D 分离

# 重新连接
tmux attach -t hermes

7.8 进程监控脚本

# 创建监控脚本
cat > ~/monitor_hermes.sh << 'EOF'
#!/bin/bash
# Hermes Agent 进程监控脚本

PROCESS_NAME="hermes"
LOG_FILE="~/hermes_monitor.log"

while true; do
    if ! pgrep -f "$PROCESS_NAME" > /dev/null; then
        echo "[$(date)] Hermes not running, restarting..." >> "$LOG_FILE"
        hermes >> ~/hermes.log 2>&1 &
    fi
    # 每 60 秒检查一次
    sleep 60
done
EOF

chmod +x ~/monitor_hermes.sh

8. 远程访问配置

8.1 配置 SSH 服务器

# 安装 OpenSSH
pkg install -y openssh

# 设置密码(用于 SSH 登录)
passwd

# 启动 SSH 服务
sshd

# 查看 IP 地址
ifconfig

# 获取监听端口(默认 8022)
netstat -tlnp | grep sshd

8.2 从电脑远程连接

# 从电脑连接(替换为手机 IP)
ssh -p 8022 u0_a123@192.168.1.100

# 其中 u0_a123 是 Termux 用户名,可以在手机执行 whoami 查看

8.3 配置 SSH 密钥(更安全)

# 在手机上生成密钥
ssh-keygen -t ed25519 -C "termux@android"

# 在电脑上执行,将公钥复制到手机
ssh-copy-id -p 8022 u0_a123@192.168.1.100

9. 局限性与注意事项

9.1 功能限制

功能 支持状态 说明
Hermes CLI 核心对话 ✅ 支持 完整功能可用
cron 定时任务 ✅ 支持 可正常使用
终端后台运行 ✅ 支持 需配置保活
MCP 模型上下文协议 ✅ 支持 可正常使用
Honcho AI 记忆功能 ✅ 支持 可正常使用
ACP 编辑器集成 ✅ 支持 可正常使用
.[all] 全量依赖包 ❌ 不支持 部分依赖 Android 不兼容
本地语音输入/输出 ❌ 不支持 faster-whisper 无法在 Android 运行
浏览器自动化/Playwright ❌ 不支持 无 Chrome/Chromium 支持
Docker 容器隔离 ❌ 不支持 Termux 无 Docker 支持
WhatsApp 桥接 ❌ 不支持 需原生 Android 服务

9.2 性能限制

限制项 具体说明 影响
CPU 性能 手机 SoC 持续性能约为桌面 CPU 的 20-40% 大模型推理慢,响应延迟高
内存限制 一般手机 8-12GB,Termux 可用约 2-4GB 无法加载大参数模型
存储速度 UFS 3.1 持续读写约 1000MB/s 模型加载较慢
散热限制 持续高负载会触发降频 长时间运行性能下降
电池消耗 持续运行每小时约 10-20% 电量 需要经常充电

9.3 系统限制

限制项 具体说明 解决方案
后台杀死 Android 系统会杀死后台进程 前台服务 + 唤醒锁 + 系统设置
Doze 模式 熄屏后网络受限 关闭电池优化 + 保持网络连接
内存回收 低内存时优先杀后台 锁定任务 + 关闭其他应用
权限限制 无法访问某些系统功能 使用 Termux:API 扩展

9.4 Python 生态限制

限制项 具体说明 解决方案
缺少 wheel 很多包没有 Android 预编译包 从源码编译,耗时较长
C 扩展编译 需要 clang/make 等工具链 安装 build-essential
Rust 依赖 部分包需要 Rust 编译器 安装 rust 包
GLIBC 差异 Android Bionic 与 Linux glibc 不同 使用 proot 运行完整 Linux

10. 进阶配置

10.1 后续更新

cd ~/projects/hermes-agent
git pull
git submodule update --init --recursive
source venv/bin/activate
python -m pip install -e '.[termux]' -c constraints-termux.txt

10.2 配置消息网关

# 配置微信、Telegram 等平台接入
hermes gateway setup

10.3 工具配置

# 启用/禁用对应工具能力
hermes tools

10.4 使用 Proot 运行完整 Linux

如果需要更完整的环境:

# 安装 proot-distro
pkg install -y proot-distro

# 安装 Ubuntu
proot-distro install ubuntu

# 登录 Ubuntu
proot-distro login ubuntu

# 在 Ubuntu 中安装 Python 和 Hermes
apt update
apt install -y python3 python3-pip git
# ... 继续部署

10.5 与 Tasker 集成

安装 Termux:Tasker 插件后,可以在 Tasker 中调用:

Tasker 操作 → 插件 → Termux
→ 配置: /data/data/com.termux/files/usr/bin/bash
→ 参数: hermes

10.6 创建快捷方式

使用 Termux:Widget 创建桌面小部件:

# 创建快捷方式脚本
mkdir -p ~/.shortcuts
cat > ~/.shortcuts/Hermes << 'EOF'
#!/data/data/com.termux/files/usr/bin/bash
hermes
EOF

chmod +x ~/.shortcuts/Hermes

然后在桌面添加 Termux Widget,选择 Hermes 快捷方式。


11. 故障排除

11.1 一键安装脚本链接超时 / 无法访问

解决方案:

  • 切换国内镜像脚本
  • 或确认手机科学上网环境正常,重新执行命令

11.2 安装 Python 包时构建失败 / 报错

解决方案:

# 确保构建工具链完整
pkg install clang rust make pkg-config libffi openssl -y

11.3 jiter / maturin 包报错 ANDROID_API_LEVEL

解决方案:

export ANDROID_API_LEVEL="$(getprop ro.build.version.sdk)"
python -m pip install -e '.[termux]' -c constraints-termux.txt

11.4 hermes: command not found

解决方案:

# 重新执行软链接命令
ln -sf "$PWD/venv/bin/hermes" "$PREFIX/bin/hermes"

# 手动安装用户需确保已激活虚拟环境
source venv/bin/activate

11.5 hermes doctor 提示 ripgrep/nodejs 缺失

解决方案:

pkg install ripgrep nodejs -y

11.6 找不到「RUN IN FOREGROUND」选项

核心原因:

  1. 通知权限未开启 (80% 用户的问题)
  • 安卓系统硬性要求:申请前台服务的应用必须开启通知权限
  • 否则选项会直接隐藏,完全不显示
  1. Termux 版本不匹配
  • 「RUN IN FOREGROUND」仅在 F-Droid 分发的官方 Termux 0.117+ 提供
  • 华为/荣耀应用商店、第三方平台的旧版/修改版均无此功能
  1. 全面屏手势拦截 (荣耀/华为)
  • 侧边返回手势会拦截 Termux 侧边栏调出
  • 解决:设置 → 系统和更新 → 系统导航方式 → 切换为「屏幕内三键导航」

解决方案: 使用第 7.2 节的一键命令行方案,无需找界面


12. 附录

12.1 常用命令速查

# Termux 基础
pkg update              # 更新软件包列表
pkg upgrade             # 升级软件包
pkg install <package>   # 安装软件包
pkg uninstall <package> # 卸载软件包
pkg search <keyword>    # 搜索软件包

# Hermes 命令
hermes                  # 启动 Hermes Agent
hermes version          # 查看版本
hermes doctor           # 系统诊断
hermes model            # 模型配置
hermes setup            # 完整配置向导
hermes gateway setup    # 消息网关配置
hermes tools            # 工具配置

# Python 虚拟环境
python -m venv venv     # 创建虚拟环境
source venv/bin/activate # 激活虚拟环境
deactivate              # 退出虚拟环境

# 进程管理
ps aux                  # 查看所有进程
kill <pid>              # 结束进程
pkill <name>            # 按名称结束进程

# 文件操作
ls -la                  # 列出文件
cd <dir>                # 切换目录
mkdir <dir>             # 创建目录
rm -rf <dir>            # 删除目录(谨慎!)
阅读全文