Перейти к содержимому

Android / Termux

Это проверенный способ запускать Hermes Agent прямо на Android-смартфоне через Termux.

Он дает вам рабочий локальный CLI на телефоне, а также основной набор возможностей, которые сейчас стабильно устанавливаются на Android.

Проверенный Termux-бандл устанавливает:

  • CLI Hermes
  • поддержку cron
  • поддержку PTY и фоновых терминалов
  • поддержку Telegram gateway (ручной запуск / best-effort в фоне)
  • поддержку MCP
  • поддержку памяти Honcho
  • поддержку ACP

На практике это соответствует такой установке:

Окно терминала
python -m pip install -e '.[termux]' -c constraints-termux.txt

Что пока не входит в проверенный сценарий?

Заголовок раздела «Что пока не входит в проверенный сценарий?»

Часть возможностей все еще требует desktop/server-зависимостей, которые либо не публикуются для Android, либо пока не были нормально проверены на телефонах:

  • .[all] на Android сейчас не поддерживается
  • extra voice блокируется цепочкой faster-whisper -> ctranslate2, а ctranslate2 не публикует Android wheel
  • автоматический bootstrap браузера / Playwright в Termux-установщике пропускается
  • изоляция терминалов через Docker внутри Termux недоступна
  • Android может приостанавливать фоновые задачи Termux, поэтому постоянная работа gateway имеет характер best-effort, а не полноценного managed service

Это не мешает Hermes нормально работать как нативному CLI-агенту на телефоне. Это лишь означает, что рекомендуемая мобильная установка намеренно уже, чем установка для desktop/server.


Hermes теперь поддерживает отдельный путь установки с учетом Termux:

Окно терминала
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

В Termux установщик автоматически:

  • использует pkg для системных пакетов
  • создает virtualenv через python -m venv
  • сначала пытается поставить расширенный набор .[termux-all], а затем откатывается к более компактному .[termux] и, если нужно, к базовой установке
  • создает ссылку на hermes в $PREFIX/bin, чтобы команда оставалась в PATH Termux
  • пропускает непроверенный bootstrap браузера / WhatsApp

Если вам нужны явные команды или нужно разбирать неудачную установку, используйте ручной путь ниже.


1. Обновите Termux и установите системные пакеты

Заголовок раздела «1. Обновите Termux и установите системные пакеты»
Окно терминала
pkg update
pkg install -y git python clang rust make pkg-config libffi openssl nodejs ripgrep ffmpeg

Зачем нужны эти пакеты:

  • python — рантайм и поддержка venv
  • git — клонирование и обновление репозитория
  • clang, rust, make, pkg-config, libffi, openssl — нужны для сборки части Python-зависимостей на Android
  • nodejs — опциональный runtime Node для экспериментов за пределами проверенного core path
  • ripgrep — быстрый поиск по файлам
  • ffmpeg — работа с медиа и преобразование аудио для TTS
Окно терминала
git clone --recurse-submodules https://github.com/NousResearch/hermes-agent.git
cd hermes-agent

Если вы уже клонировали репозиторий без submodules:

Окно терминала
git submodule update --init --recursive
Окно терминала
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.

Окно терминала
python -m pip install -e '.[termux]' -c constraints-termux.txt

Если нужен только минимальный core-агент, подойдет и такой вариант:

Окно терминала
python -m pip install -e '.' -c constraints-termux.txt
Окно терминала
ln -sf "$PWD/venv/bin/hermes" "$PREFIX/bin/hermes"

$PREFIX/bin уже находится в PATH Termux, поэтому команда hermes будет доступна в новых shell-сессиях без повторной активации venv.

Окно терминала
hermes version
hermes doctor
Окно терминала
hermes

Окно терминала
hermes model

Либо задайте ключи напрямую в ~/.hermes/.env.

Позже можно заново пройти полный мастер настройки

Заголовок раздела «Позже можно заново пройти полный мастер настройки»
Окно терминала
hermes setup

При необходимости вручную поставьте опциональные Node-зависимости

Заголовок раздела «При необходимости вручную поставьте опциональные Node-зависимости»

Проверенный путь для Termux намеренно пропускает bootstrap Node/browser. Если позже захотите поэкспериментировать с браузерными инструментами:

Окно терминала
pkg install nodejs-lts
npm install

Инструмент браузера автоматически включает Termux-каталоги (/data/data/com.termux/files/usr/bin) в поиск PATH, поэтому agent-browser и npx обнаруживаются без дополнительной настройки.

Браузерные инструменты и WhatsApp на Android пока стоит считать экспериментальными, если в документации не сказано иное.


Используйте проверенный Termux-бандл:

Окно терминала
python -m pip install -e '.[termux]' -c constraints-termux.txt

Текущая блокирующая зависимость:

  • voice тянет faster-whisper
  • faster-whisper зависит от ctranslate2
  • ctranslate2 не публикует Android wheel

Используйте путь Termux через стандартный venv и 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

Явно задайте API level перед установкой:

Окно терминала
export ANDROID_API_LEVEL="$(getprop ro.build.version.sdk)"
python -m pip install -e '.[termux]' -c constraints-termux.txt

hermes doctor сообщает, что не хватает ripgrep или Node

Заголовок раздела «hermes doctor сообщает, что не хватает ripgrep или Node»

Установите их через пакеты Termux:

Окно терминала
pkg install ripgrep nodejs

Проверьте, что установлен build toolchain:

Окно терминала
pkg install clang rust make pkg-config libffi openssl