hermes-android
前言
有一台坚果 U1 手机,虽然系统应用依然流畅,但内存只有 2G ,且 Android 停留在了 5.1 ,基本没什么用了。打算安装成 Linux 用来跑小龙虾。
安装 termux
- 手机打开开发者模式,用数据线连接电脑,使用命令
adb devices查看设备; - 从 github 下载安装文件 android-5-armeabi-v7a.apk
- 使用命令安装
adb install termux-xxx.apk
可以使用 adb 命令查看手机相关信息
# 架构,32 还是 64,分别对应 arm64-v8a 和 armeabi-v7a,armeabi
adb shell getprop ro.product.cpu.abi
# 查看 Android 版本
adb shell getprop ro.build.version.release
安装 ssh
在 termux 内执行:
apt update
# 安装服务端
apt install openssh -y
# 设置密码
passwd
# 启动
sshd
# 测试连接
ssh localhost -p 8022
# 查看 ip, 192.168.1.11
ip addr |grep "inet "
安装 hermes
参考官方文档 在 Android 上通过 Termux 运行 Hermes
# 替换成你的 ip
ssh 192.168.1.11 -p 8022
# 在手机上安装 hermes
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
安装失败了,改成红米 note8 继续尝试
Redmi note8 配置:6+64GB,Android 11
安装 termux:
- 在设置连续点击版本号 5 次打开开发者模式,数据线连接电脑,打开 usb 调试;
- 运行 usb 安装应用(需要登录小米账号&插入 sim 卡);
- 安装
adb install termux-arm64-v8a.apk - 按照上面的步骤安装 ssh 和 termux
错误:nodejs 安装失败
手动安装:
# 5 分钟左右
pkg update && pkg upgrade -y
# 安装最新版 nodejs
pkg install nodejs-lts -y
配置 hermes:
- 输入命令
hermes setup选择 Full setup,配置大模型、消息渠道等; - 若想新增消息渠道,输入命令
hermes setup gateway配置(飞书、微信、QQ 等) - 配置工具的时候直接跳过(大部分工具为电脑端的,无法在手机上配置)
选择 7
Configuring 6 tool(s):
• 🌐 Browser Automation
• 🖱️ Computer Use (macOS)
• 🎨 Image Generation
• 🔊 Text-to-Speech
• 👁️ Vision / Image Analysis
• 🔍 Web Search & Scraping
然后输入命令启动
# 检查是否安装完成
hermes doctor --fix
# 若提示配置环境变量
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
# 查看 gateway 状态
hermes gateway status
# 前台运行
hermes gateway run
# 后台运行
nohup hermes gateway run > ~/.hermes/logs/gateway.log 2>&1 &
手机上安装 debian
pkg update
pkg upgrade -y
pkg install proot-distro -y
proot-distro list
# proot-distro install debian # 默认安装最新版,即 debian 13(trixie)
# 默认命令等同于:proot-distro install debian:trixie --name debian
proot-distro install debian:bookworm # 安装特定系统 Debian 12,Debian 11 (bullseye)
proot-distro login debian # 进入 debian 系统
若遇到错误 Network error 可能需要代理。
[!] Failed to install: Network error: <urlopen error [Errno 101] Network is unreachable>
参考 清华大学开源软件镜像站 配置镜像源,加速下载 。
- 输入命令
cat >/etc/apt/sources.list.d/debian.sources <<'EOF' - 粘贴 DEB822 格式的内容:
- 更新
apt update - 然后参考上面的命令安装 hermes
问题:WARNING gateway.run
安装完发现还是无法在消息渠道收发消息。
WARNING gateway.run: Feishu: lark-oapi not installed or FEISHU_APP_ID/SECRET not set
安装完同样遇到消息渠道也无法收发消息。
排查过程:
现象1:.env 配置了飞书的环境变量,但 hermes 没读取到。
root@localhost:~# cat /root/.hermes/.env |grep FEISHU_APP_ID
FEISHU_APP_ID=cli_xxxx
root@localhost:~# env | grep FEISHU_APP_ID # 输出为空
尝试:把 .env 中的所有环境变量都手动 export 一下试试
set -a
source ~/.hermes/.env
set +a # 关闭自动导出(可选)
env | grep FEISHU_APP_ID
结果:env 中有环境变量依然无法正常在飞书里给 hermes 发送消息。
现象 2:自动安装了 3 个 python 环境,hermes 使用的是 3.11.15 版本
root@localhost:~# which hermes
/root/.local/bin/hermes
root@localhost:~# cat $(which hermes)
#!/usr/local/lib/hermes-agent/venv/bin/python3
# -*- coding: utf-8 -*-
import sys
from hermes_cli.main import main
if __name__ == "__main__":
if sys.argv[0].endswith("-script.pyw"):
sys.argv[0] = sys.argv[0][:-11]
elif sys.argv[0].endswith(".exe"):
sys.argv[0] = sys.argv[0][:-4]
sys.exit(main())
root@localhost:~# which python3
/usr/bin/python3
root@localhost:~# ls -lh /usr/bin/python3
lrwxrwxrwx. 1 root root 18 Apr 9 2023 /usr/bin/python3 -> python3.11
root@localhost:~# which python
/data/data/com.termux/files/usr/bin/python
root@localhost:~# python -V
Python 3.13.13
root@localhost:~# python3 -V
Python 3.11.2
root@localhost:~# /usr/local/lib/hermes-agent/venv/bin/python3 -V
Python 3.11.15
确认 python 能读取到环境变量
/usr/local/lib/hermes-agent/venv/bin/python3 - <<'PY'
import os
print("APP_ID =", os.getenv("FEISHU_APP_ID"))
print("SECRET =", os.getenv("FEISHU_APP_SECRET"))
PY
尝试:安装 lark_oapi
/usr/local/lib/hermes-agent/venv/bin/pip install lark-oapi
重新启动 hermes (启动较慢,约 5 分钟),可以看到能连接到飞书了。
[Lark] [2026-06-07 05:45:30,298] [INFO] connected to wss://msg-frontier.feishu.cn
在飞书发送消息给 hermes,发现报错:
ERROR gateway.platforms.feishu: [Feishu] Send error: Executor shutdown has been called
linux-aarch64-gnu/lib/python3.11/asyncio/base_events.py", line 524, in _check_default_executor
raise RuntimeError('Executor shutdown has been called')
RuntimeError: Executor shutdown has been called
ERROR gateway.platforms.base: [Feishu] Fallback send also failed: Executor shutdown has been called
WARNING gateway.platforms.feishu: [Feishu] Add reaction CrossMark on om_xxxxx raised
是因为 gateway 没正常启动,重新启动就好了。
总结
- 尝试了坚果 U1( Android 5.1、2+32G),无法在 termux 中安装 hermes;
- 尝试了红米 note8(Android 11、4+64G),能在 termux 中安装 hermes,无法在飞书、微信收发消息(似乎是 hermes 无法正确读取配置);
- 红米 note8,termux中安装了 debian,然后安装 hermes 同样遇到问题 2;是因为缺少飞书的 api,安装一下就正常了。