Introduzione

Hermes Agent è l’agente AI open source sviluppato e rilasciato da Nous Research , che permette di usare in modalità agentica un modello LLM a propria scelta, così da ottenere un’esperienza simile a quella di Claude Code o Antigravity.

Le sue funzioni però non si fermano qui: il sistema possiede al suo interno un gateway integrato che consente di interagire con l’agente direttamente dalle piattaforme di messaggistica (ad esempio Telegram, Discord, Slack, WhatsApp, Signal), oltre che dal classico terminale. In questo modo è possibile utilizzare l’agente come un vero e proprio assistente personale, capace di leggere e scrivere i file nelle varie cartelle e di appoggiarsi a server MCP per estendere le proprie capacità.

A differenza di altre alternative, ciò che distingue Hermes è una memoria persistente affiancata a un ciclo di apprendimento: il sistema è stato progettato per affinare le proprie conoscenze e applicare le proprie skill dopo ogni sessione e interazione con l’utente. Così, invece di ripartire da zero ogni volta, Hermes ricorda ciò che ha imparato e diventa più capace con il tempo.

Cos’è un agente AI

Preso singolarmente, un modello LLM è in grado di generare un testo (la risposta) a seguito di un ragionamento, previo un input (il prompt) dell’utente. In altre parole, a un determinato input risponde con un output.

Per sfruttarlo al meglio e migliorarne le capacità (come leggere in autonomia un file, lanciare un comando o ricordare la conversazione) occorre abbinarlo a un software agentico che colma questa distanza: prende il modello (usandolo come cervello) e gli fornisce gli strumenti, inserendolo in un ciclo che osserva la richiesta, decide quale strumento usare, lo esegue e ne valuta il risultato, ripetendo il giro finché il compito non è concluso.

Gli strumenti che è in grado di usare sono il vero punto di forza dell’agente: accesso al terminale, lettura e scrittura di file, chiamate a un’API, navigazione web, fino alla possibilità di sfruttare server MCP per agganciare capacità esterne. La cosa interessante è che questi strumenti (skill o MCP) sono creabili in autonomia dall’utente (e dall’agente stesso), permettendo così di realizzare capacità utili e personalizzate in base all’utilizzo e alle necessità dell’utente.

Prerequisiti

Prima di adottare un agente è necessario fare alcune valutazioni, dato che lo si configura in base alle proprie necessità e al livello di accesso che gli si vuole concedere. Qui sotto sono riportati gli elementi da tenere in considerazione.

Scelta Descrizione Cosa valutare Rischio
Modello Il “cervello” che ragiona. Esistono modelli più o meno performanti nel ragionare e nel risolvere problemi. Hermes è model-agnostic e parla con oltre 200 modelli (OpenRouter, OpenAI, Anthropic, Ollama o qualunque endpoint compatibile con l’API di OpenAI): va scelto bilanciando capacità, costo e privacy. Più un modello è capace, più costa: i modelli di frontiera si pagano a token e sui volumi alti la spesa può raggiungere migliaia di euro per milione di token, mentre uno troppo economico ragiona e usa male gli strumenti.
Strumenti Le azioni concrete che l’agente può compiere: un agente vale quanto i tool che gli si concede di usare. Hermes può usare il terminale, i server MCP e la ricerca online: serve decidere a quali strumenti e account dare effettivamente accesso. Più strumenti aumentano le capacità, ma anche il rischio: in base alle proprie decisioni l’agente potrebbe compiere azioni distruttive, come cancellare file importanti perché li ha ritenuti superflui.
Privacy Chi è l’utente, come deve comportarsi l’agente e cosa ha già imparato. È qui che entra in gioco la memoria persistente di Hermes: i file che vedremo più avanti gli danno un’anima e gli permettono di ricordare chi siamo. I dati che gli forniamo possono essere sensibili e ricadere sotto precise normative: vanno scelti con attenzione, anche perché alcuni provider potrebbero usarli (in modo più o meno limpido) per addestrare i propri modelli.

Installazione

Il processo di installazione su un sistema Linux (in questo caso Fedora) è semplice e diretto, e la documentazione presente sul sito ufficiale è molto esaustiva e completa: anche per gli aggiornamenti futuri sarà quindi sufficiente seguire le linee guida. In questa guida si segue la documentazione ufficiale (valida alla data di scrittura), descritta sul sito di Hermes , così da ottenere un’installazione pulita.

Eseguire l'installer ufficiale

Il primo passo è eseguire la riga di installazione riportata nella documentazione ufficiale. Un’unica riga scarica ed esegue lo script, che da solo si occupa di tutte le dipendenze e le librerie, oltre all’installazione dei motori per l’automazione del browser. Su Fedora i pacchetti di sistema vengono installati tramite dnf, quindi l’installer può chiedere la password sudo.

bash
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Configurare l'agente

Una volta completato il processo e installate le librerie, partirà la configurazione automatica, che ci permette di scegliere se utilizzare il servizio all-in-one di Hermes per la gestione di modelli e servizi, oppure procedere con un’installazione personalizzata basata sui propri provider e servizi.

Come da spirito di questo sito, dove credo che l’utente debba essere libero di scegliere i propri provider, ho percorso la strada “custom”; potete comunque optare per quella che preferite in base a necessità, subscription e budget. Il wizard si può richiamare in qualsiasi momento con il comando seguente.

bash
hermes setup

In questo passaggio sarà necessario definire due elementi. Il primo è il provider che farà da motore di ragionamento all’agente: occorre accedere al provider scelto, generare un token API per l’accesso e poi selezionare il modello da usare per il ragionamento (per questa guida abbiamo utilizzato Ollama Cloud con il modello DeepSeek-4-flash). Il secondo sono le capacità da abbinare all’agente: molte si appoggiano a provider esterni a pagamento, per i quali serve una subscription attiva, perciò vanno scelte in base a ciò che si vuole far fare all’agente e ai servizi di cui si dispone.

Attivare Hermes

Completata l’installazione e la configurazione, si avvia Hermes con il comando seguente, che attiva l’agente insieme al modello ed alle capacità scelte e configurate durante lo step precedente.

bash
hermes

Aggiornare Hermes

L’installer è anche il meccanismo di aggiornamento: hermes update scarica l’ultima versione mantenendo intatta la configurazione in ~/.hermes/.

Gestione delle Credenziali

Dopo il completamento del setup, nella home del nostro utente comparirà la cartella ~/.hermes/, che raccoglie tutti i file necessari all’agente per funzionare e per interagire con noi e con i tool che gli abbiamo messo a disposizione.

Tutte le credenziali e i token vengono salvati nel file .env, che il wizard popola e che si può comunque modificare a mano. Al momento della creazione il file è già strutturato con tutte le variabili commentate, così da poter caricare e modificare con facilità le credenziali di eventuali servizi aggiuntivi.

Proteggere il file .env

Le chiavi API e i token finiscono in chiaro in ~/.hermes/.env. Conviene assicurarsi che i permessi siano restrittivi oltre che evitare di committare file e cartelle in varie repository.

bash
chmod 600 ~/.hermes/.env

Connessione a Telegram

Il gateway è il servizio incluso in Hermes che permette di dialogare con l’agente tramite un sistema di messaggistica, senza dover restare collegati al terminale. La connessione si può configurare già durante l’installazione iniziale: il wizard, infatti, guida nella scelta e nel collegamento del sistema di messaggistica preferito. In questa guida configuriamo Telegram, ma sulla pagina dedicata della documentazione sono disponibili le informazioni per collegare anche gli altri sistemi supportati.

Installazione del Gateway

Se non lo abbiamo già fatto in precedenza, il primo passo è installare e attivare il gateway sulla stessa macchina dove è installato Hermes. La procedura è semplice e guidata: in pochi passaggi rende il servizio persistente, così che la connessione resti attiva anche dopo un riavvio. Basta eseguire il comando seguente.

bash
hermes gateway install

Conclusa l’installazione, avremo a disposizione una serie di comandi per gestire il gateway: verificarne lo stato e l’eventuale presenza di errori, oltre che fermarlo o riavviarlo all’occorrenza.

bash
hermes gateway start
hermes gateway stop
hermes gateway status

Ottenere i Token da Telegram

Prima di configurare il servizio servono due token (qui la documentazione ufficiale https://hermes-agent.nousresearch.com/docs/user-guide/messaging/telegram) , necessari a stabilire la connessione tra Telegram e l’agente. Nello specifico:

  • Token del Bot — Dobbiamo creare un bot, che farà da interfaccia tra noi e l’Hermes installato sulla nostra macchina. Basta aprire @BotFather e seguire la procedura di creazione (qui non dettagliata) per ottenere il Token API: è il valore che indica al server quale bot utilizzare.
  • ID dell’Utente — Serve a far sì che l’agente accetti richieste solo da un gruppo ristretto di utenti (uno o più), in modo che messaggi e attività non siano accessibili a chiunque. Basta scrivere a @userinfobot , che risponde con l’ID del proprio account.

Opzionale: Modificare .env

Questo è un passaggio opzionale che ho seguito per semplificarmi la vita. Il file ~/.hermes/.env è già strutturato e commentato, quindi possiamo inserire le credenziali direttamente al suo interno: in questo modo il wizard le troverà già pronte. I campi da scommentare e valorizzare con i token sono:

bash
TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrSTUvwxYZ
TELEGRAM_ALLOWED_USERS=123456789
TELEGRAM_HOME_CHANNEL=123456789

Nella tabella seguente sono riportati la sintassi di ciascuna variabile e ciò che permette di configurare nel gateway.

Variabile Valore Perché serve
TELEGRAM_BOT_TOKEN Il token restituito da BotFather (123456789:ABC...) Autentica Hermes verso le API di Telegram: senza, il bot non si connette
TELEGRAM_ALLOWED_USERS Uno o più ID utente separati da virgola Filtro di sicurezza: solo gli ID elencati possono parlare col bot
TELEGRAM_HOME_CHANNEL Il chat ID di destinazione Dove il bot consegna le risposte e i messaggi dei task schedulati

Iniziare il processo di Installazione

Che si siano inserite o meno le credenziali nel file .env, si può avviare la configurazione con il comando qui sotto: il wizard guiderà nell’installazione e nella configurazione del gateway.

bash
hermes gateway setup

Avviare il gateway

Una volta completata l’installazione, potete avviare il gateway con il comando seguente, già visto in precedenza.

bash
hermes gateway start

Configurare le Capacità

Uno dei capisaldi di un agente è affiancare al modello una serie di capacità, così che disponga degli strumenti e delle conoscenze adatti a soddisfare le nostre esigenze. Per questo Hermes permette, come altri agenti, di abilitare e creare nuove skill. Qui sotto riporto alcuni esempi e metodi che ognuno può sfruttare per trasformare l’agente in un vero e proprio collaboratore.

Dare un’Anima

Uno degli aspetti più interessanti di Hermes è la possibilità di dare letteralmente un’anima all’agente: possiamo decidere come deve rispondere, con quale stile e con quale tono rivolgersi a noi, e perfino chiamarlo per nome. L’anima dell’agente risiede nel file ~/.hermes/SOUL.md, che possiamo modificare in due modi: chiedendo all’agente stesso di aggiornarlo seguendo le nostre indicazioni, oppure editandolo a mano come un normale file di testo.

Ad esempio, ecco un file SOUL.md pronto da copiare che dà vita a Gennaro, un insegnante esperto di tecnologia che a ogni domanda prova a farci imparare qualcosa di nuovo:

markdown
# Personality

You are Gennaro, a senior technology expert with the heart of a teacher.
You optimize for understanding: every answer should leave the user knowing something they didn't before.

## Style
- Explain the *why*, not just the *how*
- Use concrete examples and simple analogies
- Be warm and encouraging, never condescending
- Keep explanations compact unless depth is genuinely useful
- Admit uncertainty plainly, and treat it as a chance to learn together

## What to avoid
- Hype language and sycophancy
- Handing over a solution without the reasoning behind it
- Overexplaining the obvious
- Jargon when a plain word works

## Technical posture
- Prefer simple systems over clever systems
- Teach the method, so the user can solve the next problem alone
- Care about operational reality, not idealized architecture
- When a topic is broad, start from the basics and build up

Creare una Skill

Come per altri agenti, è possibile creare delle skill, ovvero conoscenze o frammenti di codice che l’agente può richiamare per risolvere ed esaudire le nostre richieste. Possiamo chiedere a Hermes di crearne una su misura per le nostre esigenze, oppure cercarne online tra quelle già pronte all’uso.