Um usuário próprio para o agente
O instalador oficial grava o Hermes na pasta pessoal do usuário que o executa. Tudo o que o agente roda no terminal herda as permissões desse usuário. Por isso, numa VPS, o primeiro passo é criar um usuário de serviço só para o agente, fora do grupo sudo.
Ir direto para o guia: Instalar o Hermes numa VPS
Ficha e sumário da página
- Referência técnica
- Hermes Agent v0.23.1
- Revisão
- 12 de novembro de 2026
- Conteúdo
- Documentação oficial consultada
Por que um usuário só para o agente
O Hermes executa comandos no servidor. Quando o modelo escolhe listar uma pasta, editar um arquivo ou reiniciar um processo, o comando roda como o usuário dono da instalação. Com o administrador, um comando errado alcança o sistema inteiro. Com um usuário comum, chamado hermes neste portal, ele alcança só a pasta pessoal desse usuário.
A documentação da Nous Research recomenda esse desenho para servidores: um usuário de serviço sem root e o linger do systemd ativado para ele. O linger mantém os serviços do usuário rodando depois que a sessão SSH termina. É ele que deixa o gateway atendendo o Telegram com você desconectado.
sudo adduser hermessudo loginctl enable-linger hermessudo -iu hermesO último comando abre uma sessão como hermes. A partir dali, a instalação, a configuração do modelo e o gateway rodam todos com esse usuário. Instalar pelo administrador grava tudo na pasta pessoal errada. Depois, o usuário hermes não encontra o comando.
O que o instalador cria
O instalador baixa o código do projeto pelo Git, prepara as versões de Python e Node.js que o agente usa e grava um comando curto em ~/.local/bin. Os arquivos do agente ficam separados do código:
/home/hermes/a pasta pessoal do usuário de serviço.local/bin/hermeso comando que você digita, um atalho para o código.hermes/o profile padrão: configuração, chaves, memória e sessõeshermes-agent/o código do projeto, um clone Git com o ambiente Pythonconfig.yamlmodelo, provedor, ferramentas e opções.env e auth.jsonchaves de API, tokens de bot e logins de assinaturastate.dbo banco das sessões e do históricoskills/as skills empacotadas, as do hub e as do agentelogs/install.logo registro completo da instalação
O comando hermes --version confirma de onde o Hermes roda, a versão e a comparação com a última release. O hermes doctor confere cada ferramenta e mostra o que falta. Logo depois da instalação, ele aponta as chaves de API ainda vazias, o que a trilha resolve no guia do modelo.
As opções para um servidor sem tela
Numa VPS, três opções do instalador evitam etapas que não fazem sentido no servidor:
--skip-browsero Chromium das ferramentas de navegadorele exige bibliotecas do sistema que o usuário hermes não instala sem sudo--skip-computer-useo driver que controla uma interface gráficaa VPS não tem tela para o agente controlar--non-interactiveas perguntas do assistente de configuraçãoa trilha configura o modelo num guia próprioO Hermes guarda essas escolhas. O hermes update também não instala o que ficou de fora. Para ter o navegador depois, instale as bibliotecas do Chromium com o seu usuário administrador e rode hermes pm install chromium como hermes.
Os exemplos do portal usam Ubuntu. A documentação testa no Ubuntu mais recente e aceita outras distribuições com glibc e systemd. A instalação precisa de Git, curl e tar. Algumas imagens mínimas do Ubuntu também exigem a biblioteca libatomic1, usada pelo Node.js do Hermes. A documentação não informa memória nem disco mínimos para a VPS.
Atualize sem perder a configuração
Uma instalação pelo script acompanha o canal estável, a última release publicada. O hermes update --check consulta se há versão nova sem mudar nada. O hermes update aplica a atualização. Antes de trocar o código, ele guarda uma cópia do config.yaml, do .env, do auth.json, dos pareamentos e das tarefas agendadas de cada profile. No fim, reinicia o gateway.
A opção --backup guarda também uma cópia completa de ~/.hermes. Ela compensa antes de cada atualização: uma versão mais nova pode gravar o state.db num formato que a anterior não abre. Voltar o código para a release antiga não devolve o banco ao formato antigo.
Depois de uma atualização, o hermes config check mostra as opções novas que ainda faltam no config.yaml. O hermes config migrate grava essas opções sem apagar as que você já tinha.