Hermes на Android с Termux
Это проверенный способ запуска Hermes Agent непосредственно на Android-телефоне через Termux.
Он предоставляет работающий локальный CLI на телефоне, а также основные дополнения, которые, как известно, корректно устанавливаются на Android.
Что поддерживается в проверенном способе?
Проверенный пакет Termux устанавливает:
-
Hermes CLI
-
поддержку cron
-
поддержку терминала PTY/background
-
поддержку Telegram-шлюза (ручной / best-effort фоновый запуск)
-
поддержку MCP
-
поддержку Honcho memory
-
поддержку ACP
Конкретно, это соответствует:
python -m pip install -e '.[termux]' -c constraints-termux.txt
Что пока не входит в проверенный способ?
Некоторые функции по-прежнему требуют зависимостей в стиле desktop/server, которые не опубликованы для Android или ещё не проверены на телефонах:
-
.[all]не поддерживается на Android на данный момент -
дополнение
voiceзаблокировано из-заfaster-whisper -> ctranslate2, аctranslate2не публикует Android-колёса -
автоматическая загрузка браузера / Playwright пропускается в установщике Termux
-
изоляция терминала на основе Docker недоступна внутри Termux
-
Android может приостанавливать фоновые задачи Termux, поэтому сохраняемость шлюза осуществляется по принципу best-effort, а не как обычный управляемый сервис
Это не мешает Hermes отлично работать в качестве нативного CLI-агента для телефона — это просто означает, что рекомендуемая мобильная установка намеренно уже, чем установка на desktop/server.
Вариант 1: Установка одной командой
Hermes теперь включает установщик с поддержкой Termux:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
В Termux установщик автоматически:
-
использует
pkgдля системных пакетов -
создаёт venv с помощью
python -m venv -
сначала пробует широкое дополнение
.[termux-all]и откатывается к меньшему дополнению.[termux](затем к базовой установке) — установщик curl автоматически соблюдает этот порядок -
создаёт ссылку
hermesв$PREFIX/bin, чтобы он оставался в вашем PATH Termux -
пропускает непроверенную загрузку браузера / WhatsApp
Если вам нужны явные команды или необходимо отладить неудачную установку, используйте ручной способ ниже.
Вариант 2: Ручная установка (полностью явная)
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— опциональная среда выполнения 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
Если вам нужен только минимальный базовый агент, это также работает:
python -m pip install -e '.' -c constraints-termux.txt
5. Поместите hermes в ваш PATH Termux
ln -sf "$PWD/venv/bin/hermes" "$PREFIX/bin/hermes"
$PREFIX/bin уже находится в PATH в Termux, поэтому это позволяет команде hermes сохраняться в новых оболочках без повторной активации venv каждый раз.
6. Проверьте установку
hermes version
hermes doctor
7. Запустите Hermes
hermes
Рекомендуемая дальнейшая настройка
Настройте модель
hermes model
Или укажите ключи напрямую в ~/.hermes/.env.
Повторно запустите полный интерактивный мастер настройки позже
hermes setup
Установите опциональные Node-зависимости вручную
Проверенный способ Termux намеренно пропускает загрузку Node/браузера. Если вы хотите поэкспериментировать с браузерными инструментами позже:
pkg install nodejs-lts
npm install
Браузерный инструмент автоматически включает директории Termux (/data/data/com.termux/files/usr/bin) в свой поиск PATH, поэтому agent-browser и npx обнаруживаются без дополнительной настройки PATH.
Считайте браузерные инструменты / WhatsApp на Android экспериментальными, пока не будет указано иное.
Устранение неполадок
No solution found при установке .[all]
Используйте проверенный пакет Termux вместо этого:
python -m pip install -e '.[termux]' -c constraints-termux.txt
Проблема в настоящее время заключается в дополнении voice:
-
voiceтянетfaster-whisper -
faster-whisperзависит отctranslate2 -
ctranslate2не публикует Android-колёса
uv pip install не работает на Android
Используйте путь Termux с stdlib 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
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]и.[termux-all]в настоящее время задокументированы как проверенные пакеты для Android
Если вы столкнулись с новой проблемой, специфичной для Android, пожалуйста, откройте issue на GitHub с:
-
вашей версией Android
-
termux-info -
python --version -
hermes doctor -
точной командой установки и полным выводом ошибки