跳到主要內容

在 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] 當前不支持 Android
  • voice 附加功能受阻於 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-whisper
  • faster-whisper 依賴 ctranslate2
  • ctranslate2 未發佈 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-info
  • python --version
  • hermes doctor
  • 完整的安裝命令和錯誤輸出