Documentação oficial desta página · v0.20.6
Hermes no Android, com Termux
O Termux (Android) é uma plataforma de nível 2. O script de instalação
e esta documentação são mantidos apenas por esforço. Commits na main podem quebrar esses pacotes
a qualquer momento.
O Hermes Agent roda direto num celular Android pelo Termux.
Você fica com uma CLI local funcionando no telefone, mais os extras principais que hoje se sabe que instalam sem problema no Android.
O que o caminho testado suporta
O pacote testado do Termux instala:
- a CLI do Hermes
- suporte a cron
- suporte a terminal em PTY e em segundo plano
- suporte ao gateway do Telegram (execução em segundo plano manual, por esforço)
- suporte a MCP
- suporte à memória Honcho
- suporte a ACP
Na prática, corresponde a:
python -m pip install -e '.[termux]' -c constraints-termux.txt
O que ainda não faz parte do caminho testado
Alguns recursos ainda dependem de bibliotecas de desktop ou servidor que não são publicadas para Android, ou que ainda não foram validadas em celular:
.[all]não é suportado no Android hoje- o extra
voiceestá travado pelofaster-whisper -> ctranslate2, e octranslate2não publica pacotes para Android - o instalador do Termux pula a preparação automática de navegador e Playwright
- isolamento de terminal por Docker não existe dentro do Termux
- o Android pode suspender processos em segundo plano do Termux, então a persistência do gateway é por esforço, não um serviço gerenciado normal
Nada disso impede o Hermes de funcionar bem como agente de linha de comando no celular — só significa que a instalação recomendada no telefone é, de propósito, mais enxuta que a de desktop ou servidor.
Opção nativa por pkg, mantida pela comunidade
Este repositório APT é mantido pela comunidade, por @adybag14-cyber, e não é uma distribuição
oficial da NousResearch. A NousResearch não compila, não assina, não hospeda e não audita esses
pacotes. Habilitar o repositório significa confiar nele e na chave de assinatura dele. O Termux
continua sendo plataforma de nível 2, por esforço.
Para quem prefere instalar por gerenciador de pacotes nativo, em vez de compilar dependências de
Python e Rust no celular, existe um repositório APT mantido pela comunidade. Os fontes do
repositório e do empacotamento estão em
adybag14-cyber/termux-python, e o pacote do
Hermes em adybag14-cyber/termux-hermes.
Instale a chave, a fonte do repositório e o Hermes com:
curl -fsSL https://raw.githubusercontent.com/adybag14-cyber/termux-python/main/scripts/setup_apt_repo.sh | bash
pkg install hermes-agent
A impressão digital da chave de assinatura documentada hoje pela distribuição da comunidade é:
EAD24A2124EFA7393A78B7B14699F966313F7A6B
Instalações gerenciadas por APT são marcadas com o método apt. Por isso o Hermes não roda o
autoatualizador de Git em cima de arquivos que pertencem ao pacote; use o gerenciador:
pkg update
pkg upgrade hermes-agent
Problemas de empacotamento, repositório ou assinatura devem ser relatados nos repositórios da comunidade acima. Bugs do Hermes em si continuam sendo reportados no projeto, lembrando que o suporte a Android e Termux é por esforço.
Opção 1: instalador de uma linha
O Hermes já traz um caminho de instalação que reconhece o Termux:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
No Termux, o instalador automaticamente:
- usa o
pkgpara os pacotes de sistema - cria o ambiente virtual com
python -m venv - tenta primeiro o extra amplo
.[termux-all]e recua para o menor.[termux](e depois para a instalação básica) — o instalador segue essa ordem sozinho - cria o link do
hermesem$PREFIX/bin, para ele continuar no PATH do Termux - pula a preparação de navegador e WhatsApp, que não foi testada
Se você quer os comandos explícitos, ou precisa investigar uma instalação que falhou, use o caminho manual abaixo.
Opção 2: instalação manual, passo a passo
1. Atualize o Termux e instale os pacotes de sistema
pkg update
pkg install -y git python clang rust make pkg-config libffi openssl nodejs ripgrep ffmpeg
Por que cada um:
python— runtime e suporte a ambiente virtualgit— clonar e atualizar o repositórioclang,rust,make,pkg-config,libffi,openssl— necessários para compilar algumas dependências Python no Androidnodejs— runtime opcional, para experimentos além do núcleo testadoripgrep— busca rápida em arquivosffmpeg— conversões de mídia e síntese de voz
2. Clone o Hermes
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
3. Crie um ambiente virtual
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
O ANDROID_API_LEVEL é importante para pacotes baseados em Rust e maturin, como o jiter.
4. Instale o pacote testado do Termux
python -m pip install -e '.[termux]' -c constraints-termux.txt
Se você quer só o agente mínimo, isto também funciona:
python -m pip install -e '.' -c constraints-termux.txt
5. Coloque o hermes no PATH do Termux
ln -sf "$PWD/venv/bin/hermes" "$PREFIX/bin/hermes"
O $PREFIX/bin já está no PATH do Termux, então o comando hermes passa a existir em qualquer
shell novo, sem precisar ativar o ambiente virtual toda vez.
6. Confira a instalação
hermes --version
hermes doctor
7. Comece
hermes
O que fazer em seguida
Configurar um modelo
hermes model
Ou defina as chaves direto em ~/.hermes/.env.
Rodar o assistente completo depois
hermes setup
Instalar as dependências de Node na mão
O caminho testado do Termux pula a preparação de Node e navegador de propósito. Se você quiser experimentar automação de navegador depois, o que instalar depende do backend:
-
Provedores de navegador na nuvem (Browserbase, Browser Use, Firecrawl) hospedam o próprio Chromium, então basta o Node.js — o
agent-browseré resolvido sob demanda, vianpx agent-browser, no primeiro uso:pkg install nodejs-lts -
Automação de navegador local no Termux precisa de uma instalação de verdade do
agent-browser— o recuo paranpxpuro é recusado de propósito no modo local, por ser frágil demais para ser anunciado como pronto:pkg install nodejs-ltsnpm install -g agent-browser && agent-browser install
A ferramenta de navegador já inclui os diretórios do Termux
(/data/data/com.termux/files/usr/bin) na busca do PATH, então o agent-browser e o npx são
encontrados sem configuração extra.
Trate as ferramentas de navegador e WhatsApp no Android como experimentais, até que a documentação diga o contrário.
Resolução de problemas
No solution found ao instalar .[all]
Use o pacote testado do Termux:
python -m pip install -e '.[termux]' -c constraints-termux.txt
O bloqueio hoje é o extra voice:
voicepuxa ofaster-whisperfaster-whisperdepende doctranslate2ctranslate2não publica pacotes para Android
uv pip install falha no Android
Use o caminho do Termux, com o venv da biblioteca padrão e o 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 ou maturin reclamam do ANDROID_API_LEVEL
Defina o nível da API antes de instalar:
export ANDROID_API_LEVEL="$(getprop ro.build.version.sdk)"
python -m pip install -e '.[termux]' -c constraints-termux.txt
O hermes doctor diz que falta ripgrep ou Node
Instale pelos pacotes do Termux:
pkg install ripgrep nodejs
Falhas de compilação ao instalar pacotes Python
Confira se as ferramentas de compilação estão instaladas:
pkg install clang rust make pkg-config libffi openssl
Depois tente de novo:
python -m pip install -e '.[termux]' -c constraints-termux.txt
Limitações conhecidas no celular
- o backend Docker não existe
- a transcrição de voz local pelo
faster-whispernão existe no caminho testado - a preparação da automação de navegador é pulada de propósito pelo instalador
- alguns extras opcionais podem funcionar, mas só
.[termux]e.[termux-all]estão documentados hoje como os pacotes testados para Android
Se você encontrar um problema novo específico do Android, abra uma issue no GitHub com:
- sua versão do Android
- a saída de
termux-info python --versionhermes doctor- o comando exato de instalação e a saída de erro completa