在 Android 上使用 Termux 運行 Hermes
這是通過 Termux 在 Android 手機上直接運行 Hermes Agent 的經過驗證的路徑。
該方案為你在手機上提供一個可工作的本地 CLI,以及目前確認可在 Android 上乾淨安裝的核心附加功能。
經驗證路徑支持哪些功能?
經驗證的 Termux 包含以下組件:
- Hermes CLI
- cron 支持
- PTY/後臺終端支持
- MCP 支持
- Honcho 記憶支持
- ACP 支持
具體對應如下:
python -m pip install -e '.[termux]' -c constraints-termux.txt
目前尚未包含在驗證路徑中的功能?
一些功能仍需要桌面/服務器風格的依賴項,這些依賴項尚未發佈適用於 Android 的版本,或尚未在手機上驗證通過:
.[all]當前不支持 Androidvoice附加功能受阻於faster-whisper -> ctranslate2,而ctranslate2未發佈 Android 的 wheel 包- Termux 安裝器會跳過自動瀏覽器 / Playwright 啟動流程
- Docker 基於的終端隔離功能在 Termux 內不可用
這並不妨礙 Hermes 作為原生手機 CLI Agent 良好運行——只是意味著推薦的移動端安裝路徑有意比桌面/服務器安裝路徑更窄。
選項 1:一鍵安裝器
Hermes 現在提供一個對 Termux 友好的安裝路徑:
curl -fsSL https://res1.hermesagent.org.cn/install.sh | bash
在 Termux 中,安裝器會自動執行以下操作:
- 使用
pkg安裝系統包 - 使用
python -m 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—— 運行時 + 虛擬環境支持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
如果你只需要最小核心 Agent,也可以使用以下命令:
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 中持久可用,無需每次重新激活虛擬環境。
6. 驗證安裝
hermes version
hermes doctor
7. 啟動 Hermes
hermes
推薦後續設置
配置模型
hermes model
或直接在 ~/.hermes/.env 中設置密鑰。
稍後重新運行完整的交互式設置嚮導
hermes setup
手動安裝可選的 Node 依賴項
經驗證的 Termux 路徑有意跳過 Node/瀏覽器啟動流程。如果你希望後續進行實驗:
npm install
請將 Android 上的瀏覽器 / WhatsApp 工具鏈視為實驗性功能,直到另有文檔說明。
故障排除
安裝 .[all] 時提示 No solution found
請改用經驗證的 Termux 包:
python -m pip install -e '.[termux]' -c constraints-termux.txt
當前障礙是 voice 附加功能:
voice依賴faster-whisperfaster-whisper依賴ctranslate2ctranslate2未發佈 Android 的 wheel 包
uv pip install 在 Android 上失敗
請改用 Termux 路徑,使用標準庫虛擬環境 + pip:
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 上提交問題並附上:
- 你的 Android 版本
termux-infopython --versionhermes doctor- 完整的安裝命令和錯誤輸出