Termux で Android 上の Hermes を動かす
目次
- 検証済みの手順では何がサポートされるのか
- 検証済みの手順にまだ含まれていないもの
- コミュニティが管理するネイティブな pkg 版
- 方法 1: ワンラインのインストーラ
- 方法 2: 手動でのインストール(すべて明示的に)
- 1. Termux を更新し、システムのパッケージを入れる
- 2. Hermes を clone する
- 3. 仮想環境を作る
- 4. 検証済みの Termux 向けの一式をインストールする
- 5. hermes を Termux の PATH に置く
- 6. インストールを確認する
- 7. Hermes を起動する
- そのあとにおすすめの設定
- モデルを設定する
- あとで対話的なセットアップウィザードをやり直す
- 任意の Node の依存関係を手動でインストールする
- トラブルシューティング
- .[all] のインストールで No solution found と出る
- Android 上で uv pip install が失敗する
- jiter / maturin が ANDROID_API_LEVEL について文句を言う
- hermes doctor が ripgrep や Node が無いと言う
- Python パッケージのインストール中にビルドが失敗する
- スマートフォン上での既知の制限
Hermes Agent は、Termux を通じて Android スマートフォン上で直接動かせます。
これにより、スマートフォン上で動くローカルの CLI に加えて、現時点で Android にきれいにインストールできると分かっている中心的な追加機能が手に入ります。
検証済みの手順では何がサポートされるのか
検証済みの Termux 向けの一式では、次のものがインストールされます。
- Hermes の CLI
- 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 向けの wheel を公開していません- ブラウザ / Playwright の自動セットアップは、Termux のインストーラではスキップされます
- Docker を用いたターミナルの隔離は、Termux の中では利用できません
- Android は Termux のバックグラウンドのジョブを一時停止することがあるため、ゲートウェイを常駐させ続けるのは、通常の管理下にあるサービスというよりも、できる範囲での動作になります
とはいえ、スマートフォンにネイティブな CLI エージェントとして Hermes がよく動くことに変わりはありません。推奨されるモバイル向けのインストールが、デスクトップ / サーバー向けよりも意図的に絞られている、というだけのことです。
コミュニティが管理するネイティブな pkg 版
スマートフォン上で Python / Rust の依存関係をビルドするよりも、ネイティブなパッケージマネージャでインストールしたい場合のために、コミュニティが管理する APT リポジトリが用意されています。リポジトリの初期設定とパッケージングのソースは adybag14-cyber/termux-python で公開されており、Hermes のパッケージのビルドは adybag14-cyber/termux-hermes にあります。
リポジトリの鍵とソースを登録し、Hermes をインストールするには次のようにします。
curl -fsSL https://raw.githubusercontent.com/adybag14-cyber/termux-python/main/scripts/setup_apt_repo.sh | bash
pkg install hermes-agentこのコミュニティの配布が現時点で公開しているリポジトリの署名鍵のフィンガープリントは、次のとおりです。
EAD24A2124EFA7393A78B7B14699F966313F7A6BAPT で管理された Hermes のインストールには、インストール方法として apt の印が付きます。そのため Hermes は、パッケージが所有するファイルに対して Git による自己更新を実行しません。代わりにパッケージマネージャを使ってください。
pkg update
pkg upgrade hermes-agentこの方法でのパッケージング / リポジトリ / 署名に関する問題は、上に挙げたコミュニティのパッケージングのリポジトリへ報告してください。Hermes の実行時のバグは引き続きここへ報告できますが、Android / Termux のサポートができる範囲のものである点は念頭に置いてください。
方法 1: ワンラインのインストーラ
Hermes には、Termux を認識するインストールの経路が用意されています。
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashTermux 上では、インストーラが自動で次のことを行います。
- システムのパッケージには
pkgを使う - venv を
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— 実行環境と venv のサポートgit— リポジトリの clone / 更新clang、rust、make、pkg-config、libffi、openssl— Android 上でいくつかの Python の依存関係をビルドするために必要nodejs— 検証済みの中心的な手順を超えて試すための、任意の Node 実行環境ripgrep— 高速なファイル検索ffmpeg— メディア / TTS の変換
2. Hermes を clone する
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent3. 仮想環境を作る
python -m venv venv
source venv/bin/activate
export ANDROID_API_LEVEL="$(getprop ro.build.version.sdk)"
python -m pip install --upgrade pip setuptools wheelANDROID_API_LEVEL は、jiter のような Rust / maturin を使うパッケージにとって重要です。
4. 検証済みの Termux 向けの一式をインストールする
python -m pip install -e '.[termux]' -c constraints-termux.txt最小構成のエージェント本体だけでよければ、次でも動きます。
python -m pip install -e '.' -c constraints-termux.txt5. hermes を Termux の PATH に置く
ln -sf "$PWD/venv/bin/hermes" "$PREFIX/bin/hermes"Termux では $PREFIX/bin がすでに PATH に入っているため、これで毎回 venv を有効化しなくても、新しいシェルで hermes コマンドを使い続けられます。
6. インストールを確認する
hermes --version
hermes doctor7. Hermes を起動する
hermesそのあとにおすすめの設定
モデルを設定する
hermes modelあるいは、~/.hermes/.env に直接キーを書いても構いません。
あとで対話的なセットアップウィザードをやり直す
hermes setup任意の Node の依存関係を手動でインストールする
検証済みの Termux 向けの手順では、Node / ブラウザの初期セットアップを意図的にスキップしています。あとからブラウザ関連のツールを試したい場合、必要なものは使うバックエンドによって変わります。
- クラウドのブラウザプロバイダ(Browserbase、Browser Use、Firecrawl)は自前の Chromium をホストしているため、Node.js だけあれば十分です。
agent-browserは最初に使うときにnpx agent-browserで遅延解決されます。
pkg install nodejs-lts- ローカルでのブラウザ自動操作を Termux 上で行うには、
agent-browserを実際にインストールする必要があります。npx だけで済ませるフォールバックは、ローカルモードでは「使える」と言うには脆すぎるとして、意図的に拒否されます。
pkg install nodejs-lts
npm install -g agent-browser && agent-browser installブラウザのツールは、PATH の探索先に Termux のディレクトリ(/data/data/com.termux/files/usr/bin)を自動で含めます。そのため、PATH を追加で設定しなくても agent-browser と npx が見つかります。
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 を公開していない
Android 上で uv pip install が失敗する
代わりに、標準ライブラリの 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.txtjiter / maturin が ANDROID_API_LEVEL について文句を言う
インストールの前に、API レベルを明示的に設定してください。
export ANDROID_API_LEVEL="$(getprop ro.build.version.sdk)"
python -m pip install -e '.[termux]' -c constraints-termux.txthermes doctor が ripgrep や Node が無いと言う
Termux のパッケージでインストールしてください。
pkg install ripgrep nodejsPython パッケージのインストール中にビルドが失敗する
ビルド用のツールチェーンが入っているか確認してください。
pkg install clang rust make pkg-config libffi opensslそのうえで、やり直します。
python -m pip install -e '.[termux]' -c constraints-termux.txtスマートフォン上での既知の制限
- Docker のバックエンドは利用できません
- 検証済みの手順では、
faster-whisperによるローカルでの音声書き起こしは利用できません - ブラウザ自動操作のセットアップは、インストーラが意図的にスキップします
- 一部の任意の追加機能は動くかもしれませんが、現時点で Android 向けの検証済みの一式として文書化されているのは
.[termux]と.[termux-all]だけです
Android 固有の新しい問題に当たった場合は、次の情報を添えて GitHub の issue を作成してください。
- Android のバージョン
termux-infopython --versionhermes doctor- 実行したインストールのコマンドと、エラー出力の全文