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_TOKEN3. 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"
fi4. 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