在 Android 上使用 Termux 运行 Hermes
这是在 Termux 中通过 Android 手机直接运行 Hermes Agent 的测试路径。
它为你提供了一个在手机上工作的本地 CLI,以及目前已知可干净安装的核心额外组件。
测试路径支持什么?
测试的 Termux 捆绑包包含:
- Hermes CLI
- cron 支持
- PTY/后台终端支持
- MCP 支持
- Honcho 记忆支持
- ACP 支持
具体来说,它映射到:
python -m pip install -e '.[termux]' -c constraints-termux.txt
测试路径目前不包含什么?
一些功能仍然需要桌面/服务器风格的依赖,这些依赖未发布用于 Android,或者尚未在手机上验证:
.[all]目前在 Android 上不支持voice额外组件被faster-whisper -> ctranslate2阻塞,而ctranslate2未发布 Android wheels- 自动浏览器 / Playwright 引导在 Termux 安装程序中被跳过
- Docker 基础的终端隔离在 Termux 内部不可用
这并不妨碍 Hermes 作为手机原生 CLI 代理良好工作——只是推荐的手机安装有意比桌面/服务器安装更窄。
选项 1:一行安装程序
Hermes 现在提供了一个 Termux 感知的安装路径:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
在 Termux 上,安装程序自动:
- 使用
pkg安装系统包 - 使用
python -m venv创建 venv - 使用
pip安装.[termux] - 将
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— 运行时 + venv 支持git— 克隆/更新仓库clang、rust、make、pkg-config、libffi、openssl— 需要在 Android 上构建一些 Python 依赖nodejs— 可选的 Node 运行时,用于实验超出测试核心路径ripgrep— 快速文件搜索ffmpeg— 媒体 / TTS 转换
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 命令在新 shell 中持久化,而无需每次都重新激活 venv。
6. 验证安装
hermes version
hermes doctor
7. 启动 Hermes
hermes
推荐的跟进设置
配置一个模型
hermes model
或者直接在 ~/.hermes/.env 中设置密钥。
以后重新运行完整的交互式设置向导
hermes setup
手动安装可选的 Node 依赖
测试的 Termux 路径有意跳过 Node/浏览器引导。如果你想以后尝试浏览器工具:
pkg install nodejs-lts
npm install
浏览器工具自动在搜索路径中包含 Termux 目录(/data/data/com.termux/files/usr/bin),所以 agent-browser 和 npx 无需任何额外 PATH 配置即可被发现。
将浏览器 / WhatsApp 工具视为 Android 上的实验性功能,直到有文档说明。
故障排除
安装 .[all] 时显示"No solution found"
改用经过测试的 Termux 捆绑包:
python -m pip install -e '.[termux]' -c constraints-termux.txt
目前阻塞的是 voice 额外组件:
voice拉取faster-whisperfaster-whisper依赖ctranslate2ctranslate2未发布 Android wheels
在 Android 上 uv pip install 失败
使用带 stdlib venv + 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]被文档化为经过测试的 Android 捆绑包
如果你遇到新的 Android 特定问题,请提交 GitHub issue,包含:
- 你的 Android 版本
termux-infopython --versionhermes doctor- 确切的安装命令和完整错误输出