Self-hosting di Hermes Agent su un VPS
Deploy di Hermes Agent di Nous Research sul tuo VPS. Crea un utente dedicato, installa con un comando, scegli il provider LLM, collega Telegram e gestisci il tutto come servizio.
Hermes Agent è uno di quei progetti che si muove veloce. Dal lancio nel febbraio 2026, Nous Research ha pubblicato nove release in sette settimane. La v0.9.0 è uscita il 13 aprile ed è tutta un'altra cosa: una dashboard web locale per gestire impostazioni e sessioni dal browser, 16 piattaforme di messaggistica (inclusi iMessage e WeChat), supporto nativo Android/Termux, comandi integrati di backup e import, una modalità veloce per inferenza a bassa latenza e un motore di contesto estensibile. Il progetto è passato da “esperimento interessante” a “agente personale pronto per la produzione” in meno di due mesi.
Farlo girare sul laptop va bene per esperimenti rapidi. Ma un agent che si spegne quando chiudi il coperchio, raggiungibile solo dalla tua tastiera, e che perde il workspace al riavvio non è molto utile a lungo termine. Un VPS risolve tutti e tre i problemi: l'agent resta online 24/7, lo raggiungi da una qualsiasi delle 16 piattaforme sul telefono, e le sue memorie e skill persistono tra le sessioni.
La configurazione è lineare. Avvia una VM, crea un utente non-root per l'isolamento, installa Hermes, scegli modello e gateway, e avvolgi il tutto in un servizio systemd. Questa è l'intera procedura.
Self-hosting di agent AI su un VPS
Perché fare self-hosting adesso? La lezione del vendor lock-in
Il 4 aprile 2026, Anthropic ha tagliato fuori gli agent AI di terze parti dagli abbonamenti Claude Pro e Max. Fino a quel giorno, strumenti come OpenClaw permettevano di eseguire workload agentici pesanti con un canone mensile fisso. Da un giorno all'altro, quegli utenti hanno ricevuto un errore 400 e un avviso di migrazione. Le uniche opzioni rimaste: passare alla fatturazione per token via API (potenzialmente 10 volte il costo per gli utenti intensivi), acquistare pacchetti di utilizzo enterprise, o migrare su Claude Code Channels di Anthropic, un concorrente diretto di OpenClaw lanciato nello stesso mese.
Lo schema è chiaro. Costruisci il tuo workflow sulla piattaforma di un singolo provider, e un cambio di policy può rompere tutto. Gli agent self-hosted come Hermes evitano questa trappola del tutto. Hermes è provider-agnostic: supporta oltre 15 backend di inferenza nativamente, da OpenRouter a Nous Portal fino a un server Ollama locale. Se un provider cambia le condizioni o i prezzi, lo sostituisci con un comando e continui a lavorare. Le tue memorie, skill e sessioni restano sul tuo server, indipendentemente da quale LLM ci sia dietro.
Cos'è Hermes Agent e perché farne il self-hosting?
Hermes Agent è un agent AI open-source (licenza MIT) sviluppato da Nous Research. Si connette a provider LLM, esegue comandi terminale, naviga il web e ricorda quello che impara tra le sessioni. Costruisce skill riutilizzabili dai task che completa e supporta 16 gateway di messaggistica: Telegram, Discord, Slack, WhatsApp, Signal, Matrix, iMessage, WeChat, WeCom, Email, SMS, DingTalk, Feishu, Mattermost, Home Assistant e Webhooks.
Fare self-hosting significa che i tuoi prompt e dati restano sul tuo server. Nessuna piattaforma agent di terze parti vede le tue conversazioni. L'agent gira in modo continuo, costruisce contesto nel tempo e costa solo l'hosting del VPS più le chiamate API LLM che fai.
Di cosa ha bisogno Hermes Agent per girare su un VPS?
Un server Linux con Git installato. È l'unico prerequisito. L'installer scarica automaticamente Python 3.11+, Node.js v22, ripgrep e ffmpeg. Per l'hardware: 2 GB di RAM e 10 GB di disco è il minimo. 4 GB di RAM sono meglio se prevedi di eseguire più sessioni gateway o usare la dashboard web insieme all'agent.
| Requisito | Minimo | Consigliato |
|---|---|---|
| OS | Ubuntu 22.04 / Debian 12 | Ubuntu 24.04 |
| RAM | 2 GB | 4 GB+ |
| Disco | 10 GB liberi | 20 GB+ |
| CPU | 1 vCPU | 2+ vCPU |
Prerequisiti
Prima di installare Hermes Agent, configura un utente non-root e un firewall di base. Se hai già un VPS messo in sicurezza, vai direttamente alla sezione installazione.
Creare un utente dedicato
Connettiti al server via SSH come root e crea un utente per Hermes:
adduser hermes --disabled-password --gecos ""
usermod -aG sudo hermes
Assegna a questo utente sudo senza password (necessario per la gestione dei servizi):
echo "hermes ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/hermes
chmod 440 /etc/sudoers.d/hermes
Copia la tua chiave SSH per poter accedere con questo utente:
mkdir -p /home/hermes/.ssh
cp ~/.ssh/authorized_keys /home/hermes/.ssh/
chown -R hermes:hermes /home/hermes/.ssh
chmod 700 /home/hermes/.ssh
chmod 600 /home/hermes/.ssh/authorized_keys
Da questo momento, lavora come utente hermes:
su - hermes
Configurare il firewall
Installa UFW e consenti solo SSH:
sudo apt-get install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw --force enable
Controlla le regole attive:
sudo ufw status verbose
L'output dovrebbe mostrare SSH consentito e tutto il resto del traffico in ingresso negato. Il gateway Hermes fa connessioni in uscita verso l'API di Telegram, quindi non serve aprire porte in ingresso per la messaggistica.
Come installare Hermes Agent su Ubuntu?
Un solo comando. Eseguilo come utente hermes, non come root.
Installazione con un clic
Virtua.Cloud mantiene uno script di installazione chiavi in mano che configura Hermes Agent con persistenza systemd in un colpo solo:
curl -fsSL https://virtua.sh/i/hermes-ssh | bash
Lo script gestisce tutto quello che viene trattato nelle sezioni seguenti: installazione di Hermes e creazione del servizio systemd. Al termine, passa direttamente alla configurazione del provider LLM.
Installazione manuale
Se preferisci installare passo per passo, scarica l'installer upstream e controllalo prima di eseguirlo:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh -o /tmp/hermes-install.sh
less /tmp/hermes-install.sh
Lo script installa Python 3.11+ via uv, Node.js v22, ripgrep, ffmpeg e il CLI hermes. Quando sei soddisfatto:
bash /tmp/hermes-install.sh
Ricarica la shell per rendere disponibile il comando hermes:
source ~/.bashrc
Controlla la versione installata:
hermes --version
Output atteso:
Hermes Agent v0.9.0 (2026.4.13)
Project: /home/hermes/.hermes/hermes-agent
Python: 3.11.15
...
Esegui lo strumento diagnostico per controllare le dipendenze mancanti:
hermes doctor
Cerca i segni di spunta verdi. Gli avvisi sulle chiavi API non configurate sono normali a questo punto. Le voci rosse relative a Python o Git vanno risolte prima di continuare.
Come configuro il provider LLM?
Hermes Agent non include un modello. Lo colleghi all'API di un provider e paghi per token. Il modo più rapido per configurare tutto è il wizard di setup:
hermes setup
Il wizard ti guida nella scelta del provider, nell'inserimento della chiave API, nell'attivazione degli strumenti e nella configurazione del gateway in un'unica sessione interattiva. Se preferisci configurare ogni pezzo manualmente, continua a leggere. Puoi anche cambiare provider in qualsiasi momento con hermes model.
Opzione 1: OpenRouter (consigliato per iniziare)
Crea un account su openrouter.ai e genera una chiave API.
L'installer ha creato ~/.hermes/.env con un template completo. Prima, restringi i permessi:
chmod 600 ~/.hermes/.env
Apri il file e imposta la tua chiave API sulla riga OPENROUTER_API_KEY=:
nano ~/.hermes/.env
Trova la riga OPENROUTER_API_KEY= e aggiungi la tua chiave dopo il segno =. Salva ed esci (Ctrl+X, poi Y, poi Enter).
Imposta il modello di default:
hermes config set model.provider openrouter
hermes config set model.default anthropic/claude-sonnet-4
Conferma che il file non sia leggibile da altri utenti:
ls -la ~/.hermes/.env
I permessi dovrebbero mostrare -rw------- (600). Solo l'utente hermes può leggere questo file.
Opzione 2: Nous Portal
Nous Research gestisce il proprio portale di inferenza con oltre 400 modelli. Se vuoi restare nell'ecosistema Nous:
hermes config set model.provider nous
Il comando hermes model ti guida nell'autenticazione.
Opzione 3: Endpoint custom compatibile OpenAI
Se gestisci il tuo server di inferenza (Ollama, vLLM, llama.cpp) o usi un altro provider:
echo 'OPENAI_BASE_URL=http://localhost:11434/v1' >> ~/.hermes/.env
echo 'OPENAI_API_KEY=ollama' >> ~/.hermes/.env
echo 'LLM_MODEL=llama3.1:70b' >> ~/.hermes/.env
Confronto provider LLM
| Provider | Variabile d'ambiente | Modello di prezzo | Note |
|---|---|---|---|
| OpenRouter | OPENROUTER_API_KEY |
Per-token, varia per modello (vedi prezzi) | 200+ modelli, singola chiave |
| Nous Portal | via hermes model |
Per-token (vedi prezzi) | 400+ modelli, integrazione nativa |
| Anthropic | ANTHROPIC_API_KEY |
Per-token (vedi prezzi) | Accesso diretto a Claude |
| Google AI Studio | GOOGLE_API_KEY |
Per-token (vedi prezzi) | Modelli Gemini, nativo dalla v0.8.0 |
| xAI (Grok) | XAI_API_KEY |
Per-token (vedi prezzi) | Modelli Grok, nativo dalla v0.9.0 |
| Hugging Face | HF_TOKEN |
Per-token (vedi prezzi) | Suite completa di modelli |
| Ollama (locale) | OPENAI_BASE_URL + OPENAI_API_KEY |
Gratuito (self-hosted) | Serve un VPS con GPU per buone prestazioni |
| vLLM | OPENAI_BASE_URL + OPENAI_API_KEY |
Gratuito (self-hosted) | GPU necessaria |
Il failover tra provider è integrato dalla v0.6.0. Puoi impostare una catena ordinata di provider in modo che se uno va giù, l'agent passa automaticamente al successivo.
Verifica che la connessione LLM funzioni:
hermes -m "What is 2+2? Reply with just the number."
Se ricevi una risposta, il provider è configurato. Se vedi un errore di autenticazione, ricontrolla la chiave API in ~/.hermes/.env.
Come configuro la modalità di approvazione?
Hermes Agent ha un sistema di approvazione integrato che chiede conferma prima di eseguire comandi potenzialmente pericolosi. Su un server, tienilo attivo:
hermes config set approval_mode ask
Le tre modalità:
- ask: chiede conferma prima di qualsiasi comando che modifica file, installa pacchetti o tocca la rete. Usa questa. Dalla v0.8.0, Telegram e Slack mostrano pulsanti di approvazione nativi invece di richiedere una risposta digitata.
- smart: un modello AI valuta il rischio e chiede conferma solo per comandi realmente pericolosi. Più veloce, ma si basa sul giudizio dell'AI.
- off: nessun controllo. Ogni comando viene eseguito immediatamente. Non usarla su un server.
Come collegare Hermes Agent a Telegram?
Il gateway di messaggistica ti permette di chattare con Hermes dal telefono. Telegram è la configurazione più comune. Il gateway fa connessioni in uscita verso l'API di Telegram, quindi non serve aprire porte in ingresso.
Passo 1: Creare un bot Telegram
Apri Telegram e scrivi a @BotFather. Invia questi comandi:
/newbot- Inserisci un nome per il tuo bot (es. "My Hermes Agent")
- Inserisci un username (deve terminare con
bot, es.myhermes_agent_bot)
BotFather risponde con un token per il bot. Ha questo formato: 7123456789:AAHx.... Copialo.
Passo 2: Ottenere il tuo Telegram user ID
Scrivi a @userinfobot su Telegram. Risponde con il tuo user ID numerico. Copia questo numero.
Passo 3: Configurare il gateway
Aggiungi il token del bot e il tuo user ID al file di ambiente:
echo 'TELEGRAM_BOT_TOKEN=7123456789:AAHxYourTokenHere' >> ~/.hermes/.env
echo 'TELEGRAM_ALLOWED_USERS=your_numeric_user_id' >> ~/.hermes/.env
La variabile TELEGRAM_ALLOWED_USERS è un controllo di sicurezza. Solo gli user ID elencati qui possono interagire con il tuo bot. Senza di essa, chiunque trovi il tuo bot può inviargli comandi. Separa più ID con virgole.
Passo 4: Testare il gateway
Avvia il gateway in primo piano:
hermes gateway
Invia un messaggio al tuo bot su Telegram. Il messaggio appare nel terminale e una risposta torna indietro. Premi Ctrl+C per fermare il gateway dopo aver confermato che funziona.
Se il bot non risponde, controlla:
- Il token del bot è corretto in
~/.hermes/.env - Il tuo user ID è presente in
TELEGRAM_ALLOWED_USERS - Il VPS riesce a raggiungere
api.telegram.orgsulla porta 443 (HTTPS in uscita)
Hermes ora supporta 16 piattaforme. Oltre a Telegram: Discord, Slack, WhatsApp, Signal, Matrix, iMessage (via BlueBubbles), WeChat, WeCom, Email, SMS, DingTalk, Feishu/Lark, Mattermost, Home Assistant e Webhooks. Esegui hermes gateway setup per un wizard interattivo che configura qualsiasi di esse.
Come eseguire Hermes Agent come servizio systemd?
Eseguire hermes gateway in una sessione terminale significa che si ferma quando ti disconnetti. Un servizio systemd utente mantiene il gateway attivo dopo il logout e lo riavvia automaticamente se crasha o il server viene riavviato.
Installare il servizio
Hermes fornisce un comando integrato:
hermes gateway install
Questo crea un file di servizio in ~/.config/systemd/user/hermes-gateway.service e abilita il lingering automaticamente. Il lingering mantiene i servizi utente in esecuzione dopo che ti disconnetti da SSH.
Avvia il servizio e abilitalo all'avvio:
systemctl --user enable --now hermes-gateway
Controlla lo stato del servizio:
systemctl --user status hermes-gateway
Cerca Active: active (running) nell'output. Se dice failed, controlla i log.
Controllare i log
Visualizza i log del gateway in tempo reale:
journalctl --user -u hermes-gateway -f
Premi Ctrl+C per smettere di seguirli. I log del gateway mostrano ogni messaggio in arrivo, chiamata LLM ed esecuzione di tool.
Impostare la directory di lavoro
Per default, il gateway usa la home directory come workspace. Imposta una directory di progetto dedicata:
echo 'MESSAGING_CWD=/home/hermes/projects' >> ~/.hermes/.env
mkdir -p /home/hermes/projects
Riavvia il servizio per applicare:
systemctl --user restart hermes-gateway
Gestire dal browser
Dalla v0.9.0, Hermes include una dashboard web locale. Una volta che il gateway è attivo, aprila con:
hermes dashboard
Questo avvia un'interfaccia nel browser dove puoi gestire le impostazioni, sfogliare sessioni e skill, e configurare gateway senza toccare il terminale. Su un VPS, puoi creare un tunnel SSH per la porta della dashboard e accedervi dalla tua macchina locale.
Come fare il backup dei dati di Hermes Agent?
Hermes salva tutto il suo stato in ~/.hermes/: memorie, skill apprese, cronologia delle sessioni, configurazione, cron job e persona dell’agent. Perderla significa che l’agent dimentica tutto.
Dalla v0.9.0, Hermes ha comandi integrati di backup e ripristino:
hermes backup
Questo crea uno snapshot con timestamp dell’intera directory ~/.hermes/. Per ripristinare sullo stesso server o migrare su uno nuovo:
hermes import /path/to/backup.tar.gz
Per backup giornalieri automatici, programmalo con cron:
(crontab -l 2>/dev/null; echo "0 3 * * * /home/hermes/.local/bin/hermes backup") | crontab -
Per backup fuori dal server, usa rsync per copiare la directory di backup su un’altra macchina o su object storage. Tenere i backup solo sullo stesso VPS non protegge da guasti disco.
Come aggiornare Hermes Agent?
Hermes Agent include un comando di aggiornamento integrato. Prima fai il backup, poi aggiorna:
hermes backup
hermes update
Controlla la nuova versione:
hermes --version
Verifica se ci sono modifiche alla configurazione necessarie dopo l'aggiornamento:
hermes config migrate
hermes doctor
config migrate aggiunge nuove opzioni di configurazione con i loro valori di default. hermes doctor verifica che tutto funzioni ancora.
Riavvia il servizio gateway per eseguire la nuova versione:
systemctl --user restart hermes-gateway
systemctl --user status hermes-gateway
Se qualcosa si rompe dopo un aggiornamento, ripristina dal backup:
systemctl --user stop hermes-gateway
hermes import /path/to/backup.tar.gz
systemctl --user start hermes-gateway
Checklist di hardening della sicurezza
Un agent AI su VPS che esegue comandi terminale richiede attenzione alla sicurezza. Ecco un riepilogo di quello che questa guida ha già configurato e alcuni passi aggiuntivi.
Già configurato in questa guida:
- Utente non-root (
hermes) con home directory dedicata - Firewall UFW che nega tutto il traffico in ingresso tranne SSH
- Chiavi API in
~/.hermes/.envcon permessi600 TELEGRAM_ALLOWED_USERSche restringe l'accesso al bot al tuo user IDapproval_mode: askche richiede conferma per comandi pericolosi
Hardening aggiuntivo:
Controlla periodicamente le skill apprese dall'agent:
ls -la ~/.hermes/skills/
Le skill sono script che l'agent scrive e riutilizza. Verificale come faresti con qualsiasi codice in esecuzione sul tuo server.
Monitora i log del gateway per utenti inaspettati o attività insolite:
journalctl --user -u hermes-gateway --since "1 hour ago" --no-pager
Hermes ha rafforzato la sua postura di sicurezza con ogni release: blocco dell'esfiltrazione di secret dalla v0.7.0, MCP OAuth 2.1 con PKCE e protezioni SSRF nella v0.8.0, e prevenzione del path traversal, neutralizzazione dell'iniezione shell e validazione dei webhook Twilio nella v0.9.0. Mantieni l'installazione aggiornata per beneficiare di queste protezioni.
Risoluzione dei problemi
Dalla v0.9.0, puoi eseguire /debug in qualsiasi sessione di chat o hermes debug share dal terminale per generare un report diagnostico. È il modo più rapido per identificare i problemi.
Il gateway non si avvia:
journalctl --user -u hermes-gateway -n 50 --no-pager
Cause comuni: token del bot non valido, chiave API mancante o problemi di rete.
Il bot Telegram non risponde:
Controlla il token del bot e gli utenti autorizzati:
grep TELEGRAM ~/.hermes/.env
Testa la connettività in uscita:
curl -s https://api.telegram.org/bot<YOUR_TOKEN>/getMe
Una risposta valida con le informazioni del tuo bot conferma che token e rete funzionano.
Comando hermes non trovato dopo l'installazione:
source ~/.bashrc
Se ancora non funziona, controlla se ~/.local/bin è nel tuo PATH:
echo $PATH | tr ':' '\n' | grep local
Utilizzo elevato della memoria:
Controlla cosa consuma risorse:
top -bn1 | head -20
Se l'agent genera processi di lunga durata, riduci il carico di lavoro o fai l'upgrade del VPS.
Quanto costa?
Il self-hosting di Hermes Agent su un VPS costa il server più l'utilizzo dell'API LLM. Le due componenti di costo sono:
- Hosting VPS: un VPS con 2+ vCPU e 4 GB di RAM. Consulta le offerte VPS Virtua.Cloud per i prezzi attuali.
- Chiamate API LLM: tutti i provider supportati fatturano per token. Il costo mensile dipende dal modello scelto e dalla frequenza d'uso dell'agent. Consulta la pagina prezzi del tuo provider per le tariffe correnti.
Il vero risparmio non è solo finanziario. Possiedi i dati del tuo agent, scegli qualsiasi provider e nessun cambio di policy può bloccarti da un giorno all'altro.
Eseguire Claude Code su un VPS
Copyright 2026 Virtua.Cloud. Tutti i diritti riservati. Questo contenuto è un'opera originale del team Virtua.Cloud. La riproduzione, ripubblicazione o redistribuzione senza autorizzazione scritta è vietata.
Pronto a provare?
Esegui agenti IA sul tuo VPS. →