在Android上通过Termux运行Hermes
这是通过 Termux 直接在Android手机上运行Hermes智能体的已验证路径。
它为您提供一个可在手机上运行的本地命令行界面,以及目前已知在Android上能顺利安装的核心额外功能。
经验证路径支持哪些功能?
经过测试的Termux捆绑包会安装:
- Hermes命令行界面
- cron定时任务支持
- PTY/后台终端支持
- Telegram网关支持(手动/尽力而为的后台运行)
- MCP支持
- Honcho记忆支持
- ACP支持
具体来说,它对应于:
python -m pip install -e '.[termux]' -c constraints-termux.txt
哪些功能尚未包含在经验证路径中?
部分功能仍然需要尚未为Android发布、或尚未在手机上验证过的桌面/服务器风格依赖项:
.[all]在Android上目前不支持voice额外依赖项因faster-whisper -> ctranslate2而受阻,且ctranslate2未发布Android轮子- Termux安装程序中跳过了自动浏览器/Playwright引导
- Termux内部不支持基于Docker的终端隔离
- Android仍可能挂起Termux后台任务,因此网关持久性是尽力而为的,而非正常托管服务
这并不妨碍Hermes作为一个手机原生命令行智能体良好运行——只是意味着推荐的移动端安装范围有意比桌面/服务器安装更窄。
选项1:一键安装程序
Hermes现在提供了一个感知Termux的安装路径:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
在Termux上,安装程序会自动:
- 使用
pkg安装系统软件包 - 使用
python -m venv创建虚拟环境 - 先尝试宽泛的
.[termux-all]额外依赖项,若失败则回退到更小的.[termux]额外依赖项(然后是基础安装)——curl安装程序自动匹配此顺序 - 将
hermes链接到$PREFIX/bin,使其保留在您的Termux PATH中 - 跳过未经测试的浏览器/WhatsApp引导
如果您需要明确的命令或需要调试失败的安装,请使用下面的手动路径。
选项2:手动安装(完全明确)
1. 更新Termux并安装系统软件包
pkg update
pkg install -y git python clang rust make pkg-config libffi openssl nodejs ripgrep ffmpeg
为什么需要这些软件包?
python—— 运行时 + 虚拟环境支持git—— 克隆/更新仓库clang、rust、make、pkg-config、libffi、openssl—— 在Android上构建部分Python依赖项所需nodejs—— 可选的Node运行时,用于经验证核心路径之外的实验ripgrep—— 快速文件搜索ffmpeg—— 媒体/文字转语音转换
2. 克隆Hermes
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)"
python -m pip install --upgrade pip setuptools wheel
ANDROID_API_LEVEL 对于基于Rust/maturin的软件包(如 jiter)很重要。
4. 安装经过测试的Termux捆绑包
python -m pip install -e '.[termux]' -c constraints-termux.txt
如果您只需要最小核心智能体,以下命令同样有效:
python -m pip install -e '.' -c constraints-termux.txt
5. 将 hermes 添加到您的Termux PATH
ln -sf "$PWD/venv/bin/hermes" "$PREFIX/bin/hermes"
$PREFIX/bin 已经在Termux的PATH中,因此这使得 hermes 命令在新终端中持续可用,无需每次重新激活虚拟环境。
6. 验证安装
hermes version
hermes doctor
7. 启动Hermes
hermes
推荐的后续设置
配置模型
hermes model
或在 ~/.hermes/.env 中直接设置密钥。
稍后重新运行完整的交互式设置向导
hermes setup
手动安装可选的Node依赖项
经过测试的Termux路径有意跳过了Node/浏览器引导。如果您之后想尝试浏览器工具:
pkg install nodejs-lts
npm install
浏览器工具会自动在其PATH搜索中包含Termux目录(/data/data/com.termux/files/usr/bin),因此 agent-browser 和 npx 无需额外PATH配置即可被发现。
在Android上的浏览器/WhatsApp工具在文档中另有说明之前,请视为实验性功能。
故障排除
安装 .[all] 时出现 No solution found
请改用经过测试的Termux捆绑包:
python -m pip install -e '.[termux]' -c constraints-termux.txt
目前的阻碍是 voice 额外依赖项:
voice拉取faster-whisperfaster-whisper依赖于ctranslate2ctranslate2未发布Android轮子
uv pip install 在Android上失败
请改用带有标准库虚拟环境 + pip 的Termux路径:
python -m venv venv
source venv/bin/activate
export ANDROID_API_LEVEL="$(getprop ro.build.version.sdk)"
python -m pip install --upgrade pip setuptools wheel
python -m pip install -e '.[termux]' -c constraints-termux.txt
jiter / maturin 提示 ANDROID_API_LEVEL 问题
在安装前显式设置API级别:
export ANDROID_API_LEVEL="$(getprop ro.build.version.sdk)"
python -m pip install -e '.[termux]' -c constraints-termux.txt
hermes doctor 报告缺少 ripgrep 或 Node
使用Termux软件包安装它们:
pkg install ripgrep nodejs
安装Python软件包时出现构建失败
确保已安装构建工具链:
pkg install clang rust make pkg-config libffi openssl
然后重试:
python -m pip install -e '.[termux]' -c constraints-termux.txt
手机上的已知限制
- Docker后端不可用
- 在经验证路径中,通过
faster-whisper进行的本地语音转写不可用 - 安装程序有意跳过了浏览器自动化设置
- 部分可选额外功能可能有效,但目前只有
.[termux]和.[termux-all]被记录为经过测试的Android捆绑包
如果您遇到新的Android特定问题,请提交GitHub issue,并附上:
- 您的Android版本
termux-infopython --versionhermes doctor- 确切的安装命令和完整的错误输出