Hermes Agent

Receba um alerta quando um cron do Hermes parar

O Hermes roda os jobs agendados pelo daemon do gateway, com um tick a cada 60 segundos. Se o gateway para, os jobs do agente param junto, em silêncio. O CronObserver avisa quando um job falha, trava ou simplesmente não acontece.

Sem cartão. Plano gratuito com 3 monitores depois do teste.

O agendador do seu agente não pode ser o próprio vigia

No Hermes, quem executa o cron é o daemon do gateway. O comando de status dele até mostra que um job está atrasado, mas só se você rodar o comando, na mesma máquina. Quando o gateway morre, o notebook dorme ou a VPS reinicia, o job da madrugada simplesmente não acontece.

Um monitor por heartbeat inverte a lógica: o job prova que rodou chamando uma URL. Se o CronObserver não recebe o sinal no horário, ele avisa você, de fora da máquina.

1. Crie um monitor no CronObserver

Use o mesmo horário do job, uma tolerância para atrasos normais e um tempo máximo para execuções que travam. Copie a URL de check-in: o token no fim é o segredo.

Schedule:     cron  0 2 * * *   (same time zone as the job)
Grace period: 10 min
Max runtime:  30 min
Alerts:       email (Free) · Slack, Teams, webhook (Orbital)

Check-in URL: https://cronobserver.com/checkin/<token>

2. Passe o token para os scripts do Hermes

Os scripts do cron rodam com o ambiente limpo, então o token precisa ser liberado de forma explícita.

# ~/.hermes/.env
CRONOBSERVER_TOKEN=<token>

# ~/.hermes/config.yaml   (cron scripts get a clean environment)
terminal:
  env_passthrough:
    - CRONOBSERVER_TOKEN

3. Envolva o job num script

O Hermes só roda scripts de ~/.hermes/scripts. O script sinaliza o início e depois o sucesso ou a falha. No sucesso, a saída fica vazia e o Hermes não publica nada; na falha, a linha impressa é entregue.

#!/usr/bin/env bash
# ~/.hermes/scripts/nightly-report.sh
set -u
CO="https://cronobserver.com/checkin/${CRONOBSERVER_TOKEN:?add CRONOBSERVER_TOKEN to ~/.hermes/.env}"
ping() { curl -fsS -m 10 --retry 3 -o /dev/null -X POST "$CO$@" || true; }

ping /start
if python3 ~/jobs/nightly_report.py >/dev/null 2>&1; then   # your job
  ping ""                     # success: empty stdout = Hermes stays silent
else
  rc=$?
  ping /fail -H 'Content-Type: application/json' \
    -d "{\"exitCode\":$rc,\"message\":\"nightly_report.py failed\"}"
  echo "nightly report failed (exit $rc)"   # Hermes delivers this line
  exit "$rc"
fi

4. Agende como job sem agente

Com --no-agent, o script é o job inteiro, sem chamada ao LLM. Um código de saída diferente de zero também marca a execução como falha no Hermes.

# No-agent job: the script is the job, no LLM call
hermes cron create "0 2 * * *" --no-agent --script nightly-report.sh \
  --deliver local --name nightly-report

# Run it on the next tick and check the result
hermes cron run <job_id>
hermes cron runs <job_id>

Quando você recebe alerta

  • O job falhou: o /fail chega com o código de saída e a mensagem, e o alerta sai na hora.
  • O job travou: ele chamou /start, mas nem o sucesso nem o /fail chegaram dentro do tempo máximo.
  • O job nem rodou: nenhum check-in até o horário mais a tolerância, por exemplo porque o gateway estava fora do ar.
  • Ele voltou: o próximo check-in de sucesso encerra o incidente.

Bom saber

  • Testado no Hermes Agent 0.19.0: o job acima gerou check-ins de início, sucesso e falha na produção, e o Hermes registrou as execuções como concluída e com falha.
  • O Hermes roda arquivos .sh com bash e ignora o shebang, então mantenha o script em bash.
  • Depois de uma queda longa, o Hermes roda o job perdido uma vez só, não uma vez por horário perdido. A essa altura o CronObserver já avisou.
  • Para monitorar um prompt de agente, chame o seu agente no script no lugar do nightly_report.py, para o script ver o código de saída.

Baseado na documentação do Hermes Agent: hermes-agent.nousresearch.com/docs/user-guide/features/cron · hermes-agent.nousresearch.com/docs/guides/cron-script-only

O Hermes Agent é um projeto da Nous Research. O CronObserver não tem vínculo nem aval do projeto; esta página usa check-ins HTTPS simples.

Outras plataformas de agentes: OpenClaw · OpenAI dots · Documentação do check-in