Externe Speicheranbieter
Installieren, konfigurieren und überprüfen Sie externe Speicheranbieter für Hermes Agent. Behandeln Sie „installiert“ und „in Hermes aktiv“ als separate Akzeptanzkriterien.
Grundsätze
- Beginnen Sie mit der aktuellen autoritativen Dokumentation. Laden Sie die
hermes-agentSkill und rufen Sie sowohl die Installationsseite des Anbieters als auch dessen vollständige Hermes-Integrationsseite ab. Folgen Sie dem dokumentierten empfohlenen Pfad; verwenden Sie ein dokumentiertes Fallback nur, wenn eine echte Kompatibilitätseinschränkung dies erfordert. - Halten Sie Abhängigkeiten außerhalb von Hermes’ verwalteter Venv. Hermes-Updates können diese Venv neu aufbauen. Bevorzugen Sie pipx oder eine dedizierte persistente Venv.
- Passen Sie die Python-ABIs an der Bridge-Grenze an. Eine pipx-Umgebung verwendet möglicherweise ein neueres Python als Hermes. Das Hinzufügen ihrer
site-packageszu Hermes’sys.pathist unsicher, wenn native Räder beteiligt sind. Verwenden Sie eine dedizierte Venv, die mit Hermes’ Python erstellt wurde, wenn ein Wrapper Importe innerhalb des Prozesses ausführt. - Verwenden Sie die Hermes-CLI für die Konfiguration. Bearbeiten Sie
config.yamlniemals von Hand; wenden Sie Einstellungen mithermes config setan. - Deaktivieren Sie das Shared-Memory-Toolset nicht. Wenn Sie den Legacy-Dateispeicher ersetzen, deaktivieren Sie nur die für den Anbieter dokumentierten integrierten Datei-/Profil-Flags. Eine pauschale
hermes tools disable memorykann auch Anbieter-Tools verstecken. - Beachten Sie das Prompt-Caching. Änderungen an Anbietern/Tools gelten für neu initialisierte Sitzungen. Ändern Sie nicht den System-Prompt oder das Tool-Schema eines laufenden Gesprächs; starten Sie das Gateway neu und stellen Sie klar, dass eine bereits laufende TUI-Sitzung ersetzt werden muss.
Installations-Workflow
1. Prüfen Sie vor Zustandsänderungen
Dokumentieren Sie:
hermes --versionund Hermes’ Python-Version/-Pfad- Paketversionen des Anbieters und Installationsumgebungen
- Installations-/Statusausgabe des Anbieters
hermes plugins list --plain --no-bundledhermes config get memory.providerhermes memory status- Gateway-Status
Leiten Sie [all] oder gleichwertige Extras nicht aus der Basispaketversion ab. Importieren oder überprüfen Sie jede von der Dokumentation des Anbieters genannte Fähigkeitsabhängigkeit.
2. Wählen Sie eine Isolationstopologie
- Verwenden Sie pipx, wenn der Anbieter prozessextern kommuniziert oder Hermes einen sicheren Paket-Einstiegspunkt findet.
- Verwenden Sie eine dedizierte Venv, die aus Hermes’ Python erstellt wurde, wenn Hermes Anbieter-Code prozessintern importiert und das Paket native Erweiterungen enthält.
- Behandeln Sie
importlib.util.find_spec()niemals als Kompatibilitätsnachweis. Es findet Module, ohne nativen Code zu laden. Führen Sie echte Importe unter dem Interpreter durch, der den Anbieter ausführen wird.
3. Installieren Sie Anbieter und Bridge
Installieren Sie das vollständig angeforderte Feature-Profil und seinen Hermes-Wrapper. Wenn der Wrapper einen Installations-/Statusbefehl mitliefert, verwenden Sie ihn, um die persistente Plugin-Bridge unter $HERMES_HOME/plugins/ zu erstellen und deren Import zu überprüfen.
Aktivieren Sie Benutzer-Plugins explizit, wenn Hermes sie als Opt-in aufführt:
hermes plugins enable <manifest-name>
Die Anbieterauswahl und die allgemeine Plugin-Aktivierung können separate Mechanismen sein. Überprüfen Sie beide.
4. Konfigurieren Sie ohne Duplikate
Setzen Sie den externen Anbieter und, falls von der Anbieterdokumentation angewiesen, deaktivieren Sie den Legacy-Dateispeicher unter Beibehaltung des Memory-Toolsets:
hermes config set memory.provider <provider>
hermes config set memory.memory_enabled false
hermes config set memory.user_profile_enabled false
Verwenden Sie die aktuellen dokumentierten Schlüssel des Anbieters, anstatt davon auszugehen, dass diese universell sind.
5. Neustart und Überprüfung
Starten Sie das Gateway erst neu, nachdem Installation, Aktivierung und Konfiguration abgeschlossen sind. Überprüfen Sie dann:
- Gateway ist aktiv.
- Plugin-Bridge/Status zeigt installiert und importierbar an.
- Allgemeine Plugin-Liste zeigt aktiviert an, wenn Hooks/Tools davon abhängen.
hermes memory statuszeigt den ausgewählten Anbieter als installiert, verfügbar und aktiv an.- Anbieterdiagnosen enthalten keine tatsächlichen Fehler-/Fehlschlagsaufzeichnungen. Fehlinterpretieren Sie keine Zähler, Messungen, übersprungene Prüfungen oder nicht gesetzte optionale Überschreibungen als Fehler.
6. Testen Sie den Hermes-Agent-Pfad
Ein eigenständiger SDK-Smoke-Test ist notwendig, aber nicht ausreichend. Laden Sie den Anbieter über Hermes’ eigenen Memory-Provider-Loader oder starten Sie einen neuen Hermes-Agenten und überprüfen Sie:
- Erstellung und Initialisierung des Anbieters;
- Der System-Prompt-Block des Anbieters ist aktiv;
- Die Tool-Schemas des Anbieters werden bereitgestellt;
- Schreiben Sie einen eindeutig getaggten Testspeicher;
- Rufen Sie genau diesen Tag ab;
- Löschen Sie den Testspeicher;
- Bestätigen Sie, dass die Anbieter-DB/der Pfad der beabsichtigte Hermes-Speicher ist.
Verwenden Sie Assertions und lassen Sie den Überprüfungsbefehl fehlschlagen, wenn ein Schritt fehlschlägt. Melden Sie exakte beobachtete Versionen/Status, keine plausiblen Erwartungen.
Häufige Fallstricke
- Getrennte pipx-Venvs sind nicht „nebenher“ für In-Prozess-Importe. Kern und Wrapper können jeweils allein funktionieren, während Hermes beide nicht sicher importieren kann.
- Plugin entdeckt bedeutet nicht Plugin aktiviert. Die Anbietererkennung kann erfolgreich sein, während die Hook-/Tool-Registrierung ein Opt-in bleibt.
- Fehlender CLI-Befehl beweist keinen Anbieterfehler. Hermes kann den Anbieter laden, während ein Installationsprogramm die für argparse-Erkennung verwendete Schwester
cli.pyausgelassen hat. Diagnostizieren Sie Anbieter- und CLI-Pfade unabhängig voneinander und reparieren Sie dann nur mit einer getesteten Bridge. - Gateway-Neustart rüstet die aktuelle Konversation nicht nach. Neue Gateway- und CLI-Sitzungen verwenden den Anbieter; ein alter TUI-Prozess behält seine eingefrorene Prompt-/Tool-Oberfläche.
- Ein erfolgreicher Installationsbefehl ist nicht der Abschluss. Erfordern Sie Rücklesekonfiguration, aktiven Anbieterstatus und einen echten Schreib-/Abruf-/Bereinigungszyklus.
Anbieter-Referenzen
- Mnemosyne + Hermes-Integration, Python-ABI-Handhabung, CLI-Bridge und deterministischer Smoke-Test:
references/mnemosyne-hermes.md