Software Hermes AgentLocal AIProxmoxVirtuelle Maschine

Hermes Agent vom LLM zum KI-Agenten

In dieser Anleitung installieren wir den Hermes Agent in einer eigenen Debian-13-VM und verbinden ihn mit einer LLM API. Anschließend testen wir die Agentenfunktionen und richten Telegram ein, um Hermes auch vom Smartphone aus nutzen zu können.

hermes agent
6 Schritte 291 Views

Was ist Hermes?

Hermes ist ein KI-Agent, der auf einem Sprachmodell (LLM) aufsetzt. Ein Sprachmodell kann Texte verstehen, verarbeiten und Antworten erzeugen. Ein Agent geht einen Schritt weiter: Er kann ein Sprachmodell mit Werkzeugen und weiteren Funktionen verbinden und dadurch auch Aufgaben ausführen.
An dieser Stelle kommt der Begriff LLM Harness ins Spiel. Damit bezeichnet man eine Software, die ein Sprachmodell um zusätzliche Funktionen erweitert und ihm beispielsweise den Zugriff auf Dateien, das Terminal, APIs oder andere Werkzeuge ermöglicht.
Hermes ist ein solches Agenten-Framework. Es stellt die Verbindung zwischen dem verwendeten Sprachmodell und den Werkzeugen her, die der Agent für seine Aufgaben verwenden kann.

Unterschied zwischen LLM und Agent
Ein LLM wie Deepseek oder Qwen3.8 erzeugt auf Grundlage einer Anfrage eine Antwort. Das Modell selbst führt dabei nicht automatisch Aktionen auf dem System aus.
Ein Agent geht einen Schritt weiter. Er kann ein LLM verwenden, um eine Aufgabe zu planen, geeignete Werkzeuge auszuwählen und die Ergebnisse anschließend weiterzuverarbeiten.
Das verwendete LLM kann dabei ausgetauscht werden. In unserer Anleitung verwenden wir später eine LLM API, sodass Hermes nicht fest an ein bestimmtes Modell gebunden ist.

Was kann Hermes?
Hermes kann je nach Konfiguration auf verschiedene Werkzeuge zugreifen und dadurch Aufgaben ausführen, anstatt lediglich eine Textantwort zu erzeugen.
Dazu können beispielsweise gehören:

  • Dateien lesen und bearbeiten
  • Befehle über das Terminal ausführen
  • Informationen aus dem Internet abrufen
  • Aufgaben in mehreren Schritten bearbeiten
  • mit externen Diensten und APIs kommunizieren

Welche Funktionen tatsächlich zur Verfügung stehen, hängt dabei von der jeweiligen Konfiguration und den freigegebenen Werkzeugen ab.
Damit haben wir den grundlegenden Unterschied verstanden: Das LLM liefert die Intelligenz für Sprache und Schlussfolgerungen, während Hermes diese Fähigkeiten mit Werkzeugen und Aktionen verbindet.

1

Virtuelle Maschine für Hermes erstellen

Bevor wir Hermes installieren, erstellen wir dafür eine eigene virtuelle Maschine. Dadurch läuft der Agent getrennt von unserem Proxmox-Host und den bereits vorhandenen LXC-Containern. Außerdem können wir die VM unabhängig vom restlichen Local-AI-System verwalten und bei Bedarf jederzeit neu aufsetzen.

Debian-13-ISO herunterladen

Für unsere VM benötigen wir zunächst das Debian-13-Installationsmedium. Die ISO laden wir direkt auf den Proxmox-Server herunter.
Zuerst öffnen wir die offizielle Debian Download-Seite und kopieren den Download-Link der gewünschten Debian-13-ISO in die Zwischenablage.
In der Proxmox-Weboberfläche wählen wir links den Speicher local (pve) aus, auf dem die ISO abgelegt werden soll, und öffnen:

ISO-Images → Von URL herunterladen

Dort tragen wir die zuvor kopierte Download-Adresse der Debian-13-ISO ein, vergeben einen Namen für die Datei und starten anschließend den Download.
Die ISO wird dadurch direkt auf dem Proxmox-Server gespeichert und steht anschließend beim Erstellen der VM als Installationsmedium zur Verfügung.
Alternativ kann die ISO auch direkt über das Terminal des Proxmox-Hosts heruntergeladen werden. Für diese Anleitung verwenden wir jedoch die Weboberfläche, da dieser Weg einfacher nachzuvollziehen ist.

VM für Hermes erstellen

Nachdem die Debian-13-ISO auf unserem Proxmox-Server vorhanden ist, können wir die virtuelle Maschine für Hermes erstellen.

In der Proxmox-Weboberfläche wählen wir oben rechts „VM erstellen“.

Als Namen vergeben wir: hermes
Bei Betriebssystem wählen wir die zuvor heruntergeladene Debian-13-ISO aus.
Für die virtuelle Festplatte verwenden wir 32 GB auf local-lvm.
Bei der CPU konfigurieren wir 1 Socket mit 4 Kernen.
Als Arbeitsspeicher geben wir der VM 4 GB RAM.
Für das Netzwerk verwenden wir die vorhandene Bridge vmbr0. Die IP-Adresse kann zunächst automatisch über DHCP bezogen werden.

Anschließend erstellen wir die VM.
Damit ist die virtuelle Maschine vorbereitet. Im nächsten Schritt installieren wir Debian 13.

2

Debian 13 installieren und XFCE einrichten

Debian 13 installieren

Nachdem die virtuelle Maschine erstellt wurde, starten wir zunächst die VM. Dazu wählen wir links in der Proxmox-Weboberfläche unsere VM hermes aus und klicken auf „Start“.

Anschließend öffnen wir über „>_ Console“ die Konsole. Daraufhin öffnet sich ein neues Browserfenster mit dem Debian-Installer.

Debian-Installation

Im Installationsmenü wählen wir zunächst:

Graphical install

Danach werden die grundlegenden Einstellungen abgefragt:

  • Sprache: Deutsch
  • Standort: Deutschland
  • Tastatur: Deutsch

Anschließend vergeben wir den Rechnernamen:

lon3s-bot

Das Feld Domain-Name lassen wir leer.

Danach legen wir das Root-Passwort fest und geben es zur Bestätigung ein.

Im nächsten Schritt wird der Benutzer angelegt:

  • Vollständiger Name: Senol
  • Benutzername: hermes
  • Passwort: frei wählbar

Das Passwort des Benutzerkontos kann beispielsweise identisch mit dem Root-Passwort sein. Aus Sicherheitsgründen kann selbstverständlich auch ein eigenes Passwort verwendet werden.

Festplatte partitionieren

Bei der Partitionierung wählen wir:

Geführt – vollständige Festplatte verwenden

Als Festplatte wählen wir:

SCSI1 (0,0,0) (sda) – 32.0 GB QEMU HARDDISK

Anschließend wählen wir:

Alle Dateien auf eine Partition

Danach wählen wir „Partitionierung beenden und Änderungen übernehmen“.

Bei der Abfrage „Änderungen auf die Festplatten schreiben?“ wählen wir:

Ja

Jetzt beginnt die eigentliche Installation von Debian 13. Dieser Vorgang kann einige Minuten dauern.

Paketmanager konfigurieren

Nach der Installation der grundlegenden Systemkomponenten werden wir gefragt, ob ein weiteres Installationsmedium eingelesen werden soll.

Hier wählen wir:

Nein

Anschließend wird der Paketmanager eingerichtet.

Bei der Auswahl des Debian-Spiegelservers verwenden wir einen Server in unserer Nähe:

debian.netcologne.de

Falls nach einem HTTP-Proxy gefragt wird, lassen wir das Feld leer und bestätigen.

Desktop und SSH installieren

Jetzt kommen wir zur Softwareauswahl.

Hier wählen wir XFCE als Desktop-Umgebung. XFCE ist vergleichsweise leichtgewichtig und benötigt deutlich weniger Ressourcen als umfangreichere Desktop-Umgebungen.

Zusätzlich wählen wir:

  • XFCE
  • SSH-Server
  • Standard-Systemwerkzeuge

Danach starten wir die Installation der ausgewählten Software.

Je nach Geschwindigkeit der Internetverbindung und des Systems kann dieser Schritt etwas dauern.

GRUB-Bootloader installieren

Nachdem die Software installiert wurde, fragt der Installer, ob der GRUB-Bootloader installiert werden soll.

Hier wählen wir:

Ja

Als Ziel wählen wir:

/dev/sda

Anschließend bestätigen wir mit Weiter.

Installation abschließen

Wenn die Installation vollständig abgeschlossen ist, erscheint die entsprechende Meldung.

Wir klicken auf Weiter und anschließend startet die virtuelle Maschine neu.

Nach dem Neustart erscheint die Debian-Anmeldung.

Wir melden uns mit dem zuvor angelegten Benutzer hermes und dem zugehörigen Passwort an.

System aktualisieren

Nach dem ersten Login öffnen wir ein Terminal.

Zunächst wechseln wir mit su zum Root-Benutzer:

su -

Anschließend geben wir das zuvor festgelegte Root-Passwort ein.

Danach aktualisieren wir das System:

apt update && apt upgrade -y

Und Installieren die benötigen Programme

apt install curl git -y

Nach Abschluss der Aktualisierung und installation der benötigen programme verlassen wir die Root-Shell wieder:

exit

Damit ist Debian 13 installiert, XFCE eingerichtet, der SSH-Server vorhanden und das System auf dem aktuellen Stand.
Im nächsten Schritt installieren wir den Hermes Agent.

3

Hermes Agent installieren und mit einer API verbinden

Hermes Agent installieren

Nachdem Debian 13 eingerichtet und aktualisiert wurde, können wir Hermes Agent installieren.

Für die Installation verwenden wir den offiziellen Installer von Nous Research:

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

Der Installer lädt die benötigten Komponenten herunter und richtet Hermes auf unserem System ein.

Während der Installation kann Hermes anbieten, sich über das Nous Portal anzumelden. Für unseren Aufbau benötigen wir diesen Zugang jedoch nicht, da wir Hermes später mit unserer eigenen lokalen LLM-API verbinden.

Falls Hermes an dieser Stelle auf eine Anmeldung wartet, können wir den Vorgang mit Strg+C abbrechen.

Nach Abschluss beziehungsweise Abbruch dieses Installationsdialogs öffnen wir ein neues Terminal und starten die Hermes-Konfiguration:

hermes setup

Terminal Backend auswählen

Als erstes wählen wir das Terminal-Backend aus.

Hier verwenden wir:

Local – run directly on this machine

Hermes läuft damit direkt auf unserer Debian-13-VM.

LLM Provider einrichten

Anschließend fragt Hermes:

Set up a provider now?

Hier wählen wir:

Yes

Damit können wir direkt unseren lokalen LLM-Server konfigurieren.

Damit deine Konsole die neu installierten Pfade und Befehle kennt, lade deine Bash-Konfiguration neu.

source ~/.bashrc

Verbindung zum lokalen LLM

Als API Base URL tragen wir die Adresse unseres llama-server ein:

http://192.168.178.136:8080/v1

Unser llama-server läuft dabei im separaten Proxmox-LXC-Container mit Bonsai 2.

Beim API Key lassen wir das Feld zunächst leer und bestätigen mit Enter.

Da unser lokaler llama-server aktuell keine Authentifizierung verlangt, benötigen wir für die Verbindung zunächst keinen API-Key. Falls wir den Zugriff später absichern möchten, können wir dies entsprechend ergänzen.

API-Kompatibilität auswählen

Bei Select API compatibility mode wählen wir:

Auto detect – best for standard OpenAI-compatible endpoints

Hermes erkennt dadurch automatisch die passende API-Kompatibilität unseres Endpunkts.

Modell und Kontextgröße

Beim Model Name lassen wir das Feld leer.

Auch bei Context Length lassen wir das Feld leer, damit Hermes diese Werte automatisch erkennen kann.

Als Display Name verwenden wir:

local-llm

Reasoning Effort

Beim Reasoning Effort belassen wir die voreingestellte Einstellung:

Medium

und bestätigen mit Enter.

Damit ist Hermes installiert und gleichzeitig für die Verbindung mit unserem lokalen LLM vorbereitet.

Unsere aktuelle Konfiguration sieht damit so aus:

Terminal Backend: Local – run directly on this machine
Provider: Yes
API Base URL: http://192.168.178.136:8080/v1
API Key: leer
API Compatibility: Auto detect
Model Name: leer
Context Length: leer
Display Name: local-llm
Reasoning Effort: Medium

Im nächsten Schritt testen wir, ob Hermes über diese Verbindung tatsächlich mit unserem lokalen LLM kommunizieren und Aufgaben als Agent ausführen kann.

4

Hermes als Agent testen

Erste Aufgaben

Nachdem Hermes installiert und mit unserem lokalen LLM verbunden wurde, können wir den Agenten erstmals ausprobieren.

Dabei testen wir drei typische Fähigkeiten:

  • Tool Calling
  • Arbeiten mit Dateien
  • Ausführen von Terminal-Befehlen

Der Unterschied zu einem normalen Chat mit einem LLM wird dabei schnell sichtbar. Hermes kann nicht nur eine Antwort erzeugen, sondern je nach Aufgabe auch Werkzeuge verwenden und die Ergebnisse anschließend weiterverarbeiten.

Tool Calling

Zunächst geben wir Hermes eine einfache Aufgabe, bei der ein Werkzeug verwendet werden soll.

Zum Beispiel:

Welche Dateien befinden sich im aktuellen Verzeichnis?

Hermes kann dafür ein entsprechendes Tool aufrufen, die Ausgabe auswerten und anschließend das Ergebnis als Antwort zurückgeben.

Damit sehen wir erstmals das grundlegende Prinzip eines Agenten:

Aufgabe
   ↓
Hermes Agent
   ↓
LLM
   ↓
Tool auswählen
   ↓
Tool ausführen
   ↓
Ergebnis auswerten
   ↓
Antwort

Mit Dateien arbeiten

Als Nächstes testen wir den Zugriff auf Dateien.

Zum Beispiel können wir Hermes auffordern, eine Datei zu erstellen:

Erstelle im aktuellen Verzeichnis eine Datei namens test.txt
und schreibe hinein: Hermes funktioniert.

Anschließend können wir prüfen, ob die Datei tatsächlich erstellt wurde.

Damit kann Hermes nicht nur über eine Datei sprechen, sondern eine konkrete Aktion auf dem System ausführen.

Das Terminal verwenden

Zum Abschluss testen wir den Terminalzugriff.

Eine einfache Aufgabe ist beispielsweise:

Zeige mir die aktuelle Systemzeit und den verfügbaren Speicherplatz.

Hermes kann dafür die entsprechenden Terminal-Befehle ausführen und die Ergebnisse anschließend zusammenfassen.

Damit haben wir die wichtigsten Grundlagen unseres Agenten getestet. Hermes kann über das LLM nicht nur Texte erzeugen, sondern je nach Aufgabe auch Werkzeuge verwenden, Dateien bearbeiten und Befehle auf dem System ausführen.

Im nächsten Schritt richten wir Hermes so ein, dass der Agent dauerhaft als Dienst im Hintergrund laufen kann.

5

Telegram einrichten

Telegram einrichten und Hermes vom Smartphone nutzen

Nachdem Hermes lokal funktioniert, können wir den Agenten auch über Telegram erreichbar machen. Dadurch können wir Hermes später bequem vom Smartphone aus verwenden.

Telegram-Bot erstellen

Zunächst erstellen wir einen neuen Bot in Telegram.

Dazu suchen wir in Telegram nach:

@BotFather

Dort erstellen wir über den entsprechenden Befehl einen neuen Bot.

Telegram erzeugt anschließend einen Bot-Token. Diesen benötigen wir für die Verbindung mit Hermes.

Telegram mit Hermes verbinden

Jetzt wechseln wir zurück zu unserer Hermes-Installation und bitten Hermes darum, Telegram einzurichten.

Zum Beispiel:

Richte Telegram für mich ein.

Hermes führt anschließend die notwendigen Konfigurationsschritte selbst durch.

Wir müssen dabei lediglich die Informationen unseres zuvor erstellten Telegram-Bots bereitstellen.

Hermes übernimmt anschließend die Einrichtung und startet den benötigten Hermes-Dienst automatisch neu.

Verbindung testen

Nachdem Hermes die Einrichtung abgeschlossen und den Dienst neu gestartet hat, können wir unseren Telegram-Bot auf dem Smartphone öffnen.

Wir senden dem Bot eine einfache Nachricht, beispielsweise:

Hallo Hermes, bist du erreichbar?

Wenn die Einrichtung erfolgreich war, antwortet Hermes über Telegram.

Damit können wir unseren lokalen KI-Agenten nun nicht mehr nur direkt auf der Debian-VM verwenden, sondern auch über das Smartphone erreichen.

Damit ist Hermes nicht mehr nur ein lokaler Chat, sondern kann als dauerhaft laufender Agent über Telegram Aufgaben entgegennehmen und mit unserem lokalen LLM bearbeiten.

6

Fazit & Ausblick

Fazit & Ausblick

Mit Hermes Agent ist unsere Local-AI-Serie an einem Punkt angekommen, an dem aus einem einfachen Sprachmodell ein echter KI-Agent geworden ist.

Wir haben mit der Installation von Proxmox VE begonnen, anschließend die NVIDIA-GPU für einen LXC-Container eingerichtet, llama.cpp und GGUF-Modelle verwendet, Bonsai 2 mit dem PrismML-Fork eingerichtet und schließlich mit Hermes Agent eine zusätzliche Agentenebene aufgebaut.

Damit haben wir Schritt für Schritt aus einem normalen PC einen lokalen KI-Server aufgebaut, der heute nicht nur Texte erzeugen kann, sondern auch Werkzeuge verwenden, Dateien bearbeiten, Terminal-Befehle ausführen und über Telegram vom Smartphone aus erreichbar sein kann.

Nicht alles funktioniert beim ersten Versuch

Bei einem solchen Projekt sollte man sich darauf einstellen, dass nicht jeder Schritt beim ersten Versuch funktioniert.

Das gehört für mich genauso zu einem Homelab-Projekt dazu wie die eigentliche Installation. Treiber, Abhängigkeiten, Netzwerk, Container, APIs oder einzelne Softwareversionen können Probleme verursachen. Genau deshalb dokumentiere ich auch die Fehler und Lösungen, die während des Aufbaus auftreten.

Die Anleitung soll deshalb nicht den Eindruck vermitteln, dass man nur ein paar Befehle kopieren muss und anschließend alles automatisch funktioniert. Gerade beim eigenen Aufbau lernt man, wie die einzelnen Komponenten zusammenspielen.

Was kann die Hardware?

Auch bei unserem Bonsai-2-Setup sollte man die verwendete Hardware nicht aus den Augen verlieren.

Wir verwenden hier eine RTX 3060 mit 12 GB VRAM und betreiben darauf ein vergleichsweise kleines Modell mit einer für diese Hardware akzeptablen Kontextgröße.

Eine RTX 3060 ist gebraucht beziehungsweise je nach Angebot bereits für ungefähr 300 € zu bekommen. Für einen Einstieg in lokale KI ist das eine interessante Möglichkeit, ohne direkt mehrere tausend Euro in einen KI-Server investieren zu müssen.

Natürlich hat diese Hardware ihre Grenzen. Wenn die Leistung oder der verfügbare VRAM nicht mehr ausreichen, kann man ein System auch mit mehreren GPUs aufbauen. Je nach Software und Modell können beispielsweise zwei, drei oder vier RTX 3060 eingesetzt werden. Dadurch stehen deutlich mehr GPU-Ressourcen zur Verfügung und auch größere beziehungsweise höher quantisierte Modelle werden interessant.

Technisch lässt sich das natürlich noch weiter treiben. Auch ein System mit mehreren RTX 3090 wäre möglich und bietet mit ihren jeweils 24 GB VRAM wesentlich mehr Speicher.

Aber irgendwann stellt sich die Frage, wie viel Hardware für den eigenen Anwendungsfall tatsächlich sinnvoll ist.

Vier RTX 3090 bieten zwar enorme GPU-Ressourcen, bringen aber gleichzeitig hohe Anschaffungskosten, einen deutlich höheren Stromverbrauch, mehr Abwärme und höhere Anforderungen an Netzteil und Gehäuse mit sich.

Am Ende ist es deshalb nicht nur eine technische Frage, sondern auch eine Frage des Budgets und des persönlichen Nutzens.

Für mich steht das Lernen im Vordergrund

Genau hier sehe ich den eigentlichen Sinn dieses Projekts.

Man muss nicht sofort einen High-End-KI-Server bauen. Mit vergleichsweise günstiger Hardware kann man bereits sehr viel ausprobieren und verstehen:

  • Wie funktioniert ein lokaler LLM-Server?
  • Was sind GGUF-Modelle und Quantisierung?
  • Wie wird eine GPU unter Proxmox für einen Container bereitgestellt?
  • Wie kommunizieren verschiedene Dienste über APIs miteinander?
  • Was unterscheidet ein LLM von einem Agenten?
  • Was ist Tool Calling?
  • Wie kann ein Agent Dateien und das Terminal verwenden?
  • Wie kann ein lokales KI-System über Telegram erreichbar werden?

Wer diese Grundlagen verstanden hat, kann später immer noch entscheiden, ob mehr Leistung benötigt wird.

Ausblick

Damit ist diese Serie zunächst abgeschlossen.

Aus einem Rechner mit Proxmox VE ist Schritt für Schritt eine vollständige Local-AI-Plattform entstanden – von der Virtualisierung über die GPU und die LLM-Infrastruktur bis hin zum KI-Agenten.

Das bedeutet aber nicht, dass das Projekt damit beendet ist. Im Gegenteil: Jetzt beginnt eigentlich der interessante Teil.

Auf Basis dieser Infrastruktur lassen sich noch viele weitere Projekte umsetzen. Denkbar sind beispielsweise Immich, Jellyfin, weitere lokale KI-Anwendungen, ComfyUI, zusätzliche Agenten oder die Verbindung verschiedener Dienste miteinander.

Die bestehende Infrastruktur bietet damit eine gute Grundlage, um weitere Anwendungen auszuprobieren und Schritt für Schritt herauszufinden, was mit Local AI auf eigener Hardware möglich ist.

Und genau darum geht es bei dieser Serie: selbst ausprobieren, Fehler machen, Lösungen finden und dabei verstehen, wie die einzelnen Komponenten zusammenspielen.

← Zurück zu den Local AI-Anleitungen