Lokales Modell in Hermes Agent: Ollama, Qwen und bewusster Cloud-Wechsel
Praxisleitfaden mit Datenschutzfokus: Qwen lokal über Ollama anbinden, den Ablauf mit einer kleinen Dateiaufgabe prüfen, einen Cloud-Anbieter einrichten, pro Sitzung oder einmalig wechseln und Tools, Hilfsmodelle sowie Fallbacks kontrollieren.
Inhalt

Hermes Agent kann alltägliche Datei- und Terminalaufgaben mit einem lokalen Modell erledigen, während ein Cloud-Modell nur für wirklich anspruchsvolle Fälle bereitsteht. Am transparentesten ist ein lokaler Standardpfad, den du zuerst mit einer kleinen Aufgabe prüfst; jeder Wechsel in die Cloud bleibt danach eine bewusste Aktion statt eines unsichtbaren Fallbacks.
Dieser Leitfaden folgt der aktuellen Hermes- und Ollama-Dokumentation. Er verbindet ein lokales Qwen-Modell, führt eine überprüfbare Dateiaufgabe aus, richtet einen Cloud-Anbieter ein, erklärt drei Wechselbereiche und zeigt, welche Schritte Daten vom Rechner senden können. Die Befehle sind anhand der Dokumentation geprüft, aber kein eigener Hardware-Benchmark.
Empfohlene Regel: lokal als Standard, Cloud nur nach ausdrücklicher Entscheidung
| Situation | Bevorzugte Route | Grund |
|---|---|---|
| Lokale Dateien, kleine Codeänderungen, Routinearbeit | Lokales Ollama/Qwen | Modellanfragen gehen an 127.0.0.1, die Grenze ist klar |
| Wiederholte Fehler bei Tool-Aufrufen | Zuerst Modell, Runtime und Kontext prüfen | Ein fehlerhafter tool call kann vom Server, Parser oder Kontext kommen |
| Sehr langer Kontext, komplexes Reasoning, Vision oder Zeitdruck | Neue Sitzung starten und bewusst zur Cloud wechseln | Mehr Leistung, ohne versehentlich einen alten privaten Verlauf zu senden |
| Nichts darf das Gerät verlassen | Nur lokale Modelle und Tools, keine Cloud-Hilfsmodelle, kein Fallback | Ein lokales main model macht nicht den gesamten Workflow offline |
Trenne Modell, Tools und Hilfsdienste
| Schritt | Typisches Ziel | Prüfen |
|---|---|---|
Hermes ruft http://127.0.0.1:11434/v1 auf | Lokales Ollama | Modelltag endet nicht auf :cloud, URL ist loopback |
| Nächster Turn nach einem Cloud-Wechsel | Cloud-Anbieter | Kontext, Systemanweisungen und Tool-Schemata können übertragen werden |
| Lokale Dateien und Terminal | Meist der Rechner | Der Befehl selbst kann Uploads, Downloads oder Remote-APIs auslösen |
| Web, browser, search, Remote-MCP oder Messaging | Angesprochener Dienst | Anfrage, Seiteninhalt, Argumente und Ergebnisse |
| Lokales Whisper plus Cloud-TTS | Erkennung lokal, Synthesetext in die Cloud | Das ist ein hybrider, nicht vollständig offlineer Sprachpfad |
fallback_providers oder Cloud-Auxiliaries | Cloud bei Auslösung | Fehler, Limits, Auth oder Kapazität können die Route automatisch ändern |
Der Ollama-Selektor für Hermes zeigt lokale und Cloud-Modelle. Ein Tag mit :cloud verwendet Remote-Inferenz, auch wenn er über Ollama gewählt wurde.
Schnellweg mit ollama launch hermes
ollama launch hermes
Die offizielle Integration kann Hermes installieren, ein Modell auswählen lassen und http://127.0.0.1:11434/v1 konfigurieren. Wähle einen eindeutig lokalen Eintrag; qwen3.5:cloud ist beispielsweise nicht lokal.
Kontrolliere anschließend die wirksame Konfiguration:
hermes config get model --json
hermes status
Wenn der Launcher dein Modell nicht findet oder du jeden Schritt sehen möchtest, nutze die manuelle Einrichtung.
Qwen lokal manuell verbinden
1. Ein Qwen-Modell mit Tool-Unterstützung laden
Ollama kennzeichnet die Qwen-3.5-Familie als tools-fähig. qwen3.5:4b dient hier als kleiner Verbindungs-Test, nicht als Garantie für zuverlässige Agentenleistung bei jeder Aufgabe. Wähle bei ausreichendem RAM oder VRAM eine größere offizielle Variante.
ollama --version
ollama pull qwen3.5:4b
Starte den Dienst nur, wenn er noch nicht läuft:
ollama serve
In einem zweiten Terminal:
curl http://127.0.0.1:11434/api/tags
Teste den OpenAI-kompatiblen Endpoint direkt, bevor Hermes beteiligt ist:
curl http://127.0.0.1:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.5:4b",
"messages": [{"role": "user", "content": "Reply with LOCAL_OK"}],
"max_tokens": 16
}'
Eine JSON-Antwort mit Modelltext zeigt, dass Ollama lokal ausliefert. Bei Connection refused behebst du zuerst den Ollama-Dienst.
2. Hermes auf den lokalen Endpoint setzen
hermes model
Wähle Custom endpoint und trage ein:
- API Base URL:
http://127.0.0.1:11434/v1 - API Key: leer lassen
- Model:
qwen3.5:4b - Context length: leer lassen, wenn die aktuelle Integration auto-detect anbietet
Prüfe die gespeicherte Route:
hermes config get model --json
hermes status
Erwartet werden das lokale Modell, der Anbieter custom und die loopback-URL. Hermes empfiehlt für agentische Tool-Arbeit einen großen Kontext. Bei Kontextfehlern folgst du der Dokumentation deiner Version und prüfst den tatsächlich geladenen Wert:
ollama ps
Erzwinge keinen übergroßen Kontext, wenn dadurch Speicherfehler oder permanentes Swapping entstehen.
Eine kleine Dateiaufgabe ausführen und prüfen
mkdir -p ~/hermes-local-check
cd ~/hermes-local-check
printf 'alpha\nbeta\ngamma\n' > input.txt
hermes
Gib in Hermes ein:
Lies input.txt. Erstelle summary.md mit der Zeilenanzahl und einer Zusammenfassung in einem Satz. Verwende keine Web-, browser-, network-, messaging- oder cloud-Tools. Nenne anschließend den exakten geschriebenen Pfad.
Prüfe danach:
cd ~/hermes-local-check
cat summary.md
Der Test gilt als bestanden, wenn summary.md existiert, drei Zeilen erkennt, Hermes die Datei wirklich schreibt statt nur Tool-JSON auszugeben, hermes status weiterhin lokales Qwen zeigt und kein unerwünschter Cloud-Fallback oder Cloud-Auxiliary aktiv ist.
Das bestätigt Endpoint, Tool-Schleife und Dateizugriff. Es misst keine komplexen Aufgaben und beweist nicht, dass jedes optionale Tool offline ist.
Cloud einrichten, ohne den Wechsel zu verstecken
hermes model
Wähle deinen Cloud-Anbieter, schließe OAuth oder die interaktive Secret-Eingabe ab und wähle ein Modell. Füge keinen Schlüssel in Chatnachrichten oder Befehle ein, die in der Shell-History landen.
Da hermes model den Standard ändert, stellst du anschließend die aktive und künftige Sitzung wieder auf lokal:
/model qwen3.5:4b --provider custom --global
Drei Wechselbereiche stehen zur Verfügung:
/model YOUR_CLOUD_MODEL --provider YOUR_CLOUD_PROVIDER
/model YOUR_CLOUD_MODEL --provider YOUR_CLOUD_PROVIDER --once
/model YOUR_CLOUD_MODEL --provider YOUR_CLOUD_PROVIDER --global
- Der erste Befehl ändert nur die aktuelle Sitzung.
--oncenutzt die Cloud für den nächsten Turn und stellt danach zurück.--globaländert zusätzlich den Standard neuer Sitzungen.
Zurück zum lokalen Modell:
/model qwen3.5:4b --provider custom
Fehlt ein Anbieter in /model, richte oder authentifiziere ihn mit hermes model. Der Sitzungsbefehl erzeugt keine neuen Zugangsdaten.
Wann lohnt sich die Cloud?
Bleibe lokal bei unveröffentlichtem Quellcode, persönlichen Dokumenten, internen Logs und klar begrenzten Aufgaben. Wenn Tools funktionieren und die Geschwindigkeit genügt, rechtfertigt ein theoretischer Qualitätsvorteil nicht automatisch den Upload der Sitzung.
Wechsle zur Cloud, wenn das lokale Modell nach Prüfung von Endpoint, Kontext und Tool-Unterstützung weiter scheitert; wenn viel längerer Kontext, Vision, komplexes mehrstufiges Reasoning oder geringere Latenz nötig ist.
Für sensible Daten startest du eine frische Cloud-Sitzung und gibst nur das Minimum weiter. Hermes dokumentiert, dass ein Modellwechsel mitten in der Sitzung den prompt cache zurücksetzt und die nächste Anfrage den Verlauf neu liest. Datenschutzseitig solltest du daher davon ausgehen, dass der relevante aktuelle Kontext an den Cloud-Anbieter geht.
Hilfsmodelle und Fallbacks ebenfalls prüfen
Wenn jede externe Modellanfrage deine Entscheidung erfordert, konfiguriere keine fallback_providers. Ein Fallback kann durch Fehler, rate limits, Auth-Probleme oder Kapazität ausgelöst werden; das ist keine bewusste Bewertung der Aufgabenschwierigkeit.
Hermes kann außerdem compression, vision oder web extraction an auxiliary-Modelle geben. Ein lokales main model sagt nichts über diese Slots aus.
Unter Bash, macOS oder Linux:
grep -nE 'fallback|auxiliary|base_url|provider|default' ~/.hermes/config.yaml
Unter Windows prüfst du %USERPROFILE%\.hermes\config.yaml. Kontrolliere Haupt-Endpoint, Auxiliary-Anbieter, fallback_providers und unbekannte Remote-Base-URLs.
Für einen stärkeren Nachweis beobachtest du Verbindungen über Firewall-, DNS- oder Outbound-Proxy-Logs. Ein „local“-Badge ist keine Netzwerkgarantie für den gesamten Workflow.
Häufige Fehler beheben
Connection refused
curl http://127.0.0.1:11434/api/tags
Schlägt der Aufruf fehl, starte ollama serve oder den Desktop-Dienst.
Das Modell druckt Tool-JSON, führt aber nichts aus
Prüfe, ob der genaue Qwen-Tag tools unterstützt und ob Hermes und Ollama aktuell sind. Kleine Modelle können bei komplexen Argumenten trotz Tool-Support instabil sein. Wiederhole den Ein-Datei-Test und probiere danach ein größeres lokales Modell oder einen bewussten Cloud-Wechsel.
Modell oder Anbieter fehlt
Nutze hermes model. /model zeigt nur bereits konfigurierte Routen.
Der aktive Chat wirkt wie das alte Modell
Eine Standardänderung betrifft vor allem neue Sitzungen. Verwende /model im laufenden Chat oder starte eine neue Sitzung.
Langsam oder Kontextfehler
ollama ps
Prüfe Modellgröße, GPU offload und Kontext. Mehr Kontext hilft bei Tool-Schemata, benötigt aber mehr Speicher und verlängert den prefill.
Hybrid kann sinnvoll sein, ohne vollständig offline zu sein
Ein X-Nutzer beschrieb einen persönlichen Prototyp mit Gemma über Ollama Cloud, Cloud-Qwen, lokalem Qwen, lokalem Whisper und Cloud-TTS. Das zeigt aufgabenbezogenes Routing, bleibt aber ein einzelner Nutzerbericht ohne veröffentlichte reproduzierbare Konfiguration, Netzwerklogs oder unabhängigen Benchmark.
Modelle, Sprache und Tools haben getrennte Grenzen. Lokales Whisper macht Cloud-TTS nicht lokal, und ein lokales main model schützt nicht automatisch Kalender-, Projektmanagement-, Such- oder Remote-MCP-Anfragen.
Abschließende Checkliste
- Der lokale Tag endet nicht auf
:cloud, die Base URL isthttp://127.0.0.1:11434/v1. - Der direkte
curl-Test funktioniert,hermes statuszeigt die erwartete Route. - Die Testaufgabe erstellt
summary.mdtatsächlich. - Der Cloud-Anbieter ist eingerichtet, jeder Wechsel erfolgt bewusst über
/model. - Sensible Cloud-Arbeit beginnt in einer neuen Sitzung mit minimalem Kontext.
- Remote-Tools, Auxiliary-Modelle und
fallback_providerswurden geprüft. - Bei einer Offline-Anforderung bleiben alle Netzwerktools und Cloud-Dienste deaktiviert.