O gateway de mensagens do Hermes
Ficha e sumário do guia
- Ambiente
- VPS Ubuntu com o Hermes instalado
- Referência técnica
- v0.23.1
- Conferência
- Conferido na documentação
Prepare o ambiente
Antes de começar, você precisa de:
- Hermes instalado com o usuário hermes e o linger ativado
- Um modelo configurado
O gateway de mensagens do Hermes é um único processo em segundo plano que mantém a conexão com todas as plataformas configuradas, como Telegram e Discord. Ele recebe cada mensagem, entrega ao agente do profile e devolve a resposta na mesma conversa. O mesmo processo também executa as tarefas agendadas no cron do Hermes.
Na VPS, um único gateway atende todos os profiles da máquina, como o serviço
hermes-gateway do systemd do usuário hermes. Um nome
hermes-gateway-<código> só aparece quando existe outra instalação do Hermes,
com outro HERMES_HOME. O linger, ativado no guia de instalação, mantém esse
serviço rodando depois que a sessão SSH termina.
Instale o gateway como serviço do usuário
Com o usuário hermes, instale o serviço, inicie e confira o estado:
hermes gateway installhermes gateway starthermes gateway statusA documentação recomenda o serviço de sistema em VPS, instalado com
sudo hermes gateway install --system, porque ele volta no boot mesmo sem o
linger ativo. Este guia usa o serviço do usuário porque ele reinicia sem sudo:
o hermes update reinicia o gateway sozinho no fim, e o agente continua fora
do grupo de administradores. Use só um dos dois:
manter os dois instalados ao mesmo tempo é uma configuração que a documentação
desaconselha.
Os registros do serviço ficam no journal do systemd. Para acompanhar em tempo
real, rode journalctl --user -u hermes-gateway -f.
Configure as plataformas
O assistente do gateway grava os tokens e as listas de acesso no .env do
profile. Rode o assistente com o usuário hermes e escolha a plataforma:
hermes gateway setupOs guias do Telegram e do Discord mostram cada passo do assistente. Depois de
qualquer mudança no .env, reinicie o serviço com hermes gateway restart.
A documentação recomenda o restart quando há tarefas em andamento, porque
ele trata as respostas que ainda estão sendo geradas.
Libere o acesso ao agente
Por padrão, o gateway recusa todo usuário fora da lista de acesso e sem
pareamento. As listas usam os IDs numéricos de cada plataforma, separados por
vírgula, em variáveis como TELEGRAM_ALLOWED_USERS ou
GATEWAY_ALLOWED_USERS, que vale para todas as plataformas.
O pareamento é a outra forma de liberar o acesso. Um contato desconhecido recebe um código de uso único, válido por uma hora, que você aprova na VPS:
hermes pairing approve telegram CODIGOhermes pairing listhermes pairing revoke telegram 123456789A variável GATEWAY_ALLOW_ALL_USERS=true libera qualquer pessoa. A
documentação desaconselha essa opção num bot com acesso ao terminal, porque
qualquer usuário da plataforma passaria a executar comandos na VPS.
Comandos dentro da conversa
No Telegram e no Discord, o gateway aceita comandos de barra próprios:
| Comando | Função |
|---|---|
/new |
abre uma conversa nova |
/model |
mostra ou troca o modelo |
/status |
mostra o modelo e o resumo da sessão |
/stop |
para o agente em execução |
/approve e /deny |
respondem a um comando perigoso pendente |
/usage |
mostra o consumo de tokens |
/help |
lista os comandos disponíveis |
Confira o resultado
O comando hermes gateway status mostra o serviço ativo.
