Hermes Agent Wiki 非公式・日本語wiki

Termux で Android 上の Hermes を動かす

目次

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

このコミュニティの配布が現時点で公開しているリポジトリの署名鍵のフィンガープリントは、次のとおりです。

EAD24A2124EFA7393A78B7B14699F966313F7A6B

APT で管理された 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 | bash

Termux 上では、インストーラが自動で次のことを行います。

  • システムのパッケージには 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 / 更新
  • clangrustmakepkg-configlibffiopenssl — Android 上でいくつかの Python の依存関係をビルドするために必要
  • nodejs — 検証済みの中心的な手順を超えて試すための、任意の Node 実行環境
  • ripgrep — 高速なファイル検索
  • ffmpeg — メディア / TTS の変換

2. Hermes を clone する

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

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 は、jiter のような Rust / maturin を使うパッケージにとって重要です。

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"

Termux では $PREFIX/bin がすでに PATH に入っているため、これで毎回 venv を有効化しなくても、新しいシェルで hermes コマンドを使い続けられます。

6. インストールを確認する

hermes --version
hermes doctor

7. 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-browsernpx が見つかります。

Android 上のブラウザ / WhatsApp 関連のツールは、別途そうでないと明記されるまでは実験的なものとして扱ってください。


トラブルシューティング

.[all] のインストールで No solution found と出る

代わりに、検証済みの Termux 向けの一式を使ってください。

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

現時点で妨げになっているのは voice の追加機能です。

  • voicefaster-whisper を引き込む
  • faster-whisperctranslate2 に依存する
  • 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.txt

jiter / maturinANDROID_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 によるローカルでの音声書き起こしは利用できません
  • ブラウザ自動操作のセットアップは、インストーラが意図的にスキップします
  • 一部の任意の追加機能は動くかもしれませんが、現時点で Android 向けの検証済みの一式として文書化されているのは .[termux].[termux-all] だけです

Android 固有の新しい問題に当たった場合は、次の情報を添えて GitHub の issue を作成してください。

  • Android のバージョン
  • termux-info
  • python --version
  • hermes doctor
  • 実行したインストールのコマンドと、エラー出力の全文