Ir para o conteúdo
Promovaweb

Instalar o Hermes numa VPS

Revisado em

Ficha e sumário do guia

Ambiente
Ubuntu 24.04
Referência técnica
v0.23.1
Conferência
Procedimento testado
  1. Crie o usuário de serviço
  2. Instale o Hermes com o usuário hermes
  3. Coloque o comando no PATH
  4. Rode o diagnóstico
  5. Atualize sem perder a configuração

Prepare o ambiente

Antes de começar, você precisa de:

  • VPS Linux com acesso SSH de um usuário administrador

O instalador oficial do Hermes Agent baixa o código do projeto, prepara as versões de Python e Node.js que o agente usa e cria o comando hermes na pasta ~/.local/bin do usuário que roda a instalação. Os arquivos do agente ficam em ~/.hermes/, na pasta pessoal desse mesmo usuário. Tudo o que o Hermes executar no terminal também roda com as permissões dele.

Por isso a Nous Research recomenda, na documentação de instalação, que o Hermes rode num servidor com um usuário de serviço comum, sem acesso de root. Na sua VPS, esse usuário separa o agente do restante do sistema: um comando errado do Hermes alcança os arquivos do usuário hermes, mas não altera a configuração do servidor.

Crie o usuário de serviço

Conecte-se à VPS com o usuário administrador e atualize os pacotes do sistema. Os exemplos deste guia usam Ubuntu. O segundo comando instala o Git, o curl e o tar, que o instalador do Hermes exige. Ele também instala a biblioteca libatomic1, usada pelo Node.js do Hermes e ausente em algumas imagens mínimas do Ubuntu:

Terminal
sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl tar libatomic1

Em seguida, crie o usuário hermes e ative o linger para ele. O linger mantém os serviços desse usuário rodando depois que a sessão SSH termina. Mais adiante na trilha, é esse recurso que deixa o gateway ativo quando você se desconecta:

Terminal
sudo adduser hermes
sudo loginctl enable-linger hermes

Durante o adduser, você define a senha do novo usuário. O usuário hermes fica fora do grupo sudo, o que limita o alcance do agente no servidor.

Instale o Hermes com o usuário hermes

O instalador grava o comando e os arquivos na pasta pessoal do usuário que o executa. Por isso ele precisa rodar com o usuário hermes, não com o administrador. Abra uma sessão como hermes a partir do administrador:

Terminal
sudo -iu hermes

O prompt mostra o usuário hermes. Os comandos seguintes rodam com as permissões dele. Rode o instalador oficial com três opções:

Terminal
curl -fsSL https://hermes-agent.nousresearch.com/install.sh \
| bash -s -- --skip-browser --skip-computer-use --non-interactive

A opção --skip-browser deixa de fora o Chromium das ferramentas de navegador, que depende de bibliotecas do sistema que o usuário hermes não consegue instalar sem sudo. A --skip-computer-use deixa de fora o driver que controla uma interface gráfica, recurso sem uso numa VPS sem tela. Já a --non-interactive pula as etapas que esperam uma resposta no terminal, como o assistente de configuração. A trilha configura o modelo num guia próprio.

O Hermes guarda essas escolhas, então o hermes update também não instala as ferramentas que ficaram de fora. Para adicionar o navegador mais tarde, rode hermes pm install chromium depois que o administrador instalar as bibliotecas do Chromium. O registro completo da instalação fica em ~/.hermes/logs/install.log.

Coloque o comando no PATH

O comando hermes fica em ~/.local/bin. No fim da instalação, o instalador grava essa pasta no PATH do .bashrc do usuário hermes e mostra a linha added ~/.local/bin to PATH. Recarregue o arquivo para a sessão atual enxergar o comando:

Terminal
source ~/.bashrc

Quando o terminal responde hermes: command not found, o .bashrc ficou sem essa linha. Grave a pasta manualmente e recarregue o arquivo:

Terminal
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Rode o diagnóstico

Rode os dois comandos com o usuário hermes:

Terminal
hermes --version
hermes doctor

O hermes --version mostra a pasta da instalação, o método git, a versão do Python e a comparação com a última release, com a linha Up to date quando não há versão nova. O hermes doctor lista cada ferramenta com um sinal de ok ou de alerta. Nesta etapa, os alertas são esperados: as ferramentas de navegador e de interface gráfica ficaram de fora da instalação. As que dependem de chave ou token também aparecem com alerta, porque o .env ainda está vazio. No fim, o diagnóstico resume a pendência com a orientação de rodar o hermes setup para configurar as chaves de API, o que a trilha faz no guia do modelo. Segundo a documentação de instalação, o diagnóstico roda pelo comando hermes de ~/.local/bin, não pelo executável de dentro da pasta venv do projeto.

Atualize sem perder a configuração

Uma instalação pelo script acompanha o canal estável, ou seja, a última release publicada. O primeiro comando consulta se existe versão nova sem alterar nada. O segundo aplica a atualização:

Terminal
hermes update --check
hermes update

Antes de trocar o código, o hermes update guarda uma cópia rápida do config.yaml, do .env, do auth.json, dos pareamentos e das tarefas agendadas de cada profile. Com a opção --backup, ele guarda também uma cópia completa da pasta ~/.hermes. Vale usar essa opção antes de cada atualização, porque uma versão antiga não abre o state.db que uma versão mais nova já gravou. Voltar o código para a release anterior não devolve esse arquivo ao formato antigo.

Com o hermes doctor apontando só as chaves de API, o Hermes está instalado na VPS, mas ainda não responde, porque falta escolher o modelo. O próximo guia apresenta o terminal do Hermes, a forma mais direta de conferir cada etapa da trilha.

Confira o resultado

O comando hermes --version, executado pelo usuário hermes, mostra a v0.23.1 atualizada, e o hermes doctor aponta como pendência só as chaves de API, configuradas no guia do modelo.