ByteNoteByteNote

字节笔记本

2026年6月21日

hermes教程-Android / Termux

API中转
¥120

Hermes on Android with Termux

这是经过测试的路径,用于通过 Termux 直接在 Android 手机上运行 Hermes Agent。

它为你提供了一个在手机上可用的本地 CLI,以及当前已知能在 Android 上干净安装的核心附加组件。

测试路径支持哪些功能?

经过测试的 Termux 包安装以下内容:

  • Hermes CLI
  • cron 支持
  • PTY/后台终端支持
  • Telegram 网关支持(手动/尽力而为的后台运行)
  • MCP 支持
  • Honcho 内存支持
  • ACP 支持

具体来说,它对应以下命令:

bash
python -m pip install -e '.[termux]' -c constraints-termux.txt

测试路径尚未包含哪些功能?

部分功能仍需要桌面/服务器风格的依赖,这些依赖尚未发布到 Android,或者尚未在手机上验证:

  • .[all] 目前在 Android 上不受支持
  • voice 附加组件被 faster-whisper -> ctranslate2 阻塞,且 ctranslate2 未发布 Android wheel 包
  • Termux 安装程序会跳过自动浏览器 / Playwright 引导
  • Termux 内无法使用基于 Docker 的终端隔离
  • Android 仍可能挂起 Termux 后台任务,因此网关持久性仅为尽力而为,而非正常的托管服务

但这并不妨碍 Hermes 作为手机原生 CLI 代理良好运行——只是推荐的移动安装范围有意比桌面/服务器安装更窄。


选项 1:一行安装命令

Hermes 现在提供支持 Termux 的安装路径:

bash
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

在 Termux 上,安装程序会自动:

  • 使用 pkg 安装系统包
  • 使用 python -m venv 创建虚拟环境
  • 首先尝试安装较大的 .[termux-all] 附加组件,如果失败则回退到较小的 .[termux] 附加组件(然后是基础安装)—— curl 安装程序会自动按此顺序匹配
  • hermes 链接到 $PREFIX/bin,使其保留在 Termux 的 PATH 中
  • 跳过未经测试的浏览器 / WhatsApp 引导

如果你想要显式命令或需要调试安装失败,请使用下面的手动安装路径。


选项 2:手动安装(完全显式)

1. 更新 Termux 并安装系统包

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

为什么需要这些包?

  • python — 运行时 + 虚拟环境支持
  • git — 克隆/更新仓库
  • clangrustmakepkg-configlibffiopenssl — 用于在 Android 上构建部分 Python 依赖
  • nodejs — 可选,用于测试路径之外实验的 Node 运行时
  • ripgrep — 快速文件搜索
  • ffmpeg — 媒体 / TTS 转换

2. 克隆 Hermes

bash
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent

3. 创建虚拟环境

bash
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 包

bash
python -m pip install -e '.[termux]' -c constraints-termux.txt

如果你只想要最小的核心代理,以下命令也可以:

bash
python -m pip install -e '.' -c constraints-termux.txt

5. 将 hermes 添加到 Termux 的 PATH

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

$PREFIX/bin 已经在 Termux 的 PATH 中,因此这使 hermes 命令在新 shell 中持久可用,无需每次都重新激活虚拟环境。

6. 验证安装

bash
hermes version
hermes doctor

7. 启动 Hermes

bash
hermes

推荐的后续设置

配置模型

bash
hermes model

或者直接在 ~/.hermes/.env 中设置密钥。

稍后重新运行完整的交互式设置向导

bash
hermes setup

手动安装可选的 Node 依赖

经过测试的 Termux 路径有意跳过了 Node/浏览器引导。如果你以后想尝试浏览器工具:

bash
pkg install nodejs-lts
npm install

浏览器工具会自动将 Termux 目录(/data/data/com.termux/files/usr/bin)包含在其 PATH 搜索中,因此无需额外配置 PATH 即可发现 agent-browsernpx

在另有文档说明之前,请将 Android 上的浏览器 / WhatsApp 工具视为实验性功能。


故障排除

安装 .[all] 时出现 No solution found

请改用经过测试的 Termux 包:

bash
python -m pip install -e '.[termux]' -c constraints-termux.txt

目前阻塞的原因是 voice 附加组件:

  • voice 拉取 faster-whisper
  • faster-whisper 依赖 ctranslate2
  • ctranslate2 未发布 Android wheel 包

uv pip install 在 Android 上失败

请改用 Termux 路径,使用标准库虚拟环境 + pip

bash
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 级别:

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

hermes doctor 提示缺少 ripgrep 或 Node

使用 Termux 包安装它们:

bash
pkg install ripgrep nodejs

安装 Python 包时构建失败

确保已安装构建工具链:

bash
pkg install clang rust make pkg-config libffi openssl

然后重试:

bash
python -m pip install -e '.[termux]' -c constraints-termux.txt

手机上的已知限制

  • Docker 后端不可用
  • 测试路径中无法使用 faster-whisper 进行本地语音转录
  • 安装程序有意跳过浏览器自动化设置
  • 部分可选附加组件可能可以工作,但目前仅 .[termux].[termux-all] 被记录为经过测试的 Android 包

如果你遇到新的 Android 特定问题,请提交 GitHub issue,并附上:

  • 你的 Android 版本
  • termux-info
  • python --version
  • hermes doctor
  • 确切的安装命令和完整的错误输出


分享: