Hermes und Perplexity Search: Ein API-Key verbessert Websuche und Seitenextraktion

Hat dich die Websuche deines Agents schon einmal im Stich gelassen? Du fragst nach der aktuellsten stabilen Version eines Frameworks im Jahr 2026 – und bekommst Tutorials aus drei Jahren alte angezeigt. Oder der kostenlose Suchkanal wird mitten in der Aufgabe rate-limitiert und dir bleibt nur der erneute Versuch. In solchen Momenten ist der erste Impuls vieler, das Modell zu wechseln – doch der klügere Hebel ist das Search-Backend: Die Web-Tools von Hermes sind pluggable, und den Anbieter kannst du unabhängig davon wählen. Am 4. September ist Perplexitys Search API in das offizielle Repository aufgenommen worden und reiht sich neben Exa, Parallel, Tavily, Firecrawl und Keenable als weiteres Backend mit API-Key ein: Mit einem einzigen Key laufen sowohl web_search als auch web_extract auf einer neuen Engine. Dieser Beitrag erklärt, warum sich ein Wechsel lohnt, wie du ihn konfigurierst – und die eine Falle, über die viele stolpern.
Erst das mentale Modell: zwei Tools, ein austauschbares Backend
Hermes teilt den Webzugriff in zwei Tools auf:
web_search– findet anhand deiner Frage passende Seiten und liefert Titel, URLs und kurze Beschreibungen;web_extract– liest bei konkreten URLs die Inhalte einer Seite und destilliert sie.
Welcher Anbieter welches Tool bedient, steuern web.search_backend und web.extract_backend (bzw. web.backend, das beide auf einmal setzt). Wer noch nie ein Backend konfiguriert hat, ist trotzdem abgesichert: Hermes bringt einen konfigurationsfreien Rotationsmechanismus für kostenlose Kanäle mit, der out of the box funktioniert – siehe dazu den Beitrag über 5 kostenlose Suchkanäle: Websuche ohne API-Key-Drama. Dieser Artikel dreht sich um den kostenpflichtigen Ausbauweg: Reichen Qualität oder Stabilität der Gratiskanäle nicht mehr aus, zeigst du das Backend auf eine kommerzielle Such-API, der du vertraust.
Was Perplexity ist – und warum es einen Versuch wert ist
Perplexity ist das KI-Suchprodukt, das viele ohnehin täglich nutzen, aufgebaut auf einem eigenen Web-Index. Dieser Index steht Hermes über die Search API nun offen:
- Rangierte, datierte Ergebnisse aus Perplexitys eigenem Index – bei Abfragen nach „aktueller Version“ oder „aktuellen Ereignissen“ landet hier deutlich seltener veralteter Inhalt ganz oben als bei scrape-basierten Gratiskanälen;
web_search-Anfragen verwendensearch_context_size: low, sodass die Snippets der Ergebnisse auf Beschreibungslänge bleiben – genug, damit das Modell entscheiden kann, ob es die Seite öffnen soll, ohne Kilobyte an Seitentext in deinen Kontext zu pressen;web_extractnutzt denselben Endpunkt für queryrelevante Snippets wie das offiziellepplx-CLI – du bekommst die Passagen jeder Seite, die für die Abfrage relevant sind, nicht die ganze Seite (dazu weiter unten mehr – das ist die leicht zu übersehende Falle).
Eine ehrliche Einschränkung: Perplexity bietet keinen anonymen Gratis-Tarif. Es ist ein kostenpflichtiger Anbieter mit Abrechnung pro Anfrage und gehört daher nicht zum konfigurationsfreien Rotationsring von Hermes – wenn du komplett kostenlose Suche willst, bleib bei den Kanälen aus dem oben verlinkten Beitrag; wenn dir verlässliche Qualität wichtiger ist, ist das hier die Option, die du in Betracht ziehen solltest.
Einrichtung in drei Schritten
Schritt 1 – Key besorgen. Erzeuge einen unter https://www.perplexity.ai/account/api.
Schritt 2 – Key in die Umgebung eintragen. Füge eine Zeile in ~/.hermes/.env ein:
PERPLEXITY_API_KEY=pplx-your-key
Oder setze ihn per Befehl (gleicher Effekt):
hermes config set env.PERPLEXITY_API_KEY pplx-your-key
Falls dein Netzwerk einen Proxy erfordert oder du auf ein selbst gehostetes Gateway zeigen willst, gibt es ein optionales PERPLEXITY_BASE_URL, das die Standard-URL https://api.perplexity.ai überschreibt.
Schritt 3 – Backend auf Perplexity umstellen. Beide Wege funktionieren:
# Option A: Perplexity im interaktiven Auswahlmenü wählen
hermes tools
# Option B: Config direkt schreiben
hermes config set web.backend perplexity
Für feinere Kontrolle kannst du nur eine einzelne Fähigkeit umstellen – etwa die Suche über Perplexity laufen lassen, während die Extraktion ganzer Seiten bei Firecrawl bleibt:
hermes config set web.search_backend perplexity
hermes config set web.extract_backend firecrawl
web.backend, web.search_backend und web.extract_backend sind echte Felder im web-Config-Abschnitt; prüfen kannst du das mit hermes config get web.backend oder hermes status. Ein praktisches Detail: Setzt du nur den Key und wählst nie explizit ein Backend, übernimmt Hermes’ Strategie „bezahlte Anbieter zuerst“ Perplexity automatisch – es steht in der Präferenzreihenfolge nach Tavily und vor Exa. Umgekehrt gilt: Hast du bereits einen anderen bezahlten Key konfiguriert, wird dein bestehendes Setup nicht verdrängt.
Was unter der Haube passiert
Die Implementierung (plugins/web/perplexity/provider.py) ist unkompliziert:
web_searchruftPOST https://api.perplexity.ai/searchauf und mappt dassnippetjedes Ergebnisses auf das Beschreibungsfeld; ein einzelner Aufruf liefert höchstens 20 Ergebnisse (Perplexitys harte Obergrenze);web_extractruftPOST /sdk/content/snippetsauf – dieselbe Route, die hinter dem offiziellenpplx content snippets-Befehl steckt. Ein Designdetail, das man kennen sollte:web_extractträgt keine Query mit sich, daher leitet Hermes eine Relevanz-Query aus den Wörtern im URL-Pfad ab – ein Abruf vonexample.com/docs/bloom-filterfragt tatsächlich nach „bloom filter“;- Jede Anfrage hat ein 60-Sekunden-Timeout; schafft es eine Seite nicht, ein Snippet zu liefern, kommt diese URL mit einem
error-Feld zurück, statt den gesamten Aufruf scheitern zu lassen (ein HTTP 200 bedeutet also nicht, dass jede Seite erfolgreich war).
Die Falle: Snippets sind nicht die ganze Seite
Perplexitys Extract liefert die zur Query passenden Passagen, wobei Auslassungen mit Auslassungspunkten (…) markiert sind – keinen wortgetreuen Volltext-Dump. Brauchst du den kompletten Text – etwa um ein ganzes Dokument vom Modell zusammenfassen zu lassen –, setz web.extract_backend wieder auf Firecrawl, Exa oder Parallel, die eine Extraktion der ganzen Seite unterstützen. Perplexitys Snippets glänzen, wenn du schnell einschätzen willst, worum es auf einer Seite geht und ob sich ein tieferer Blick lohnt; kombiniere beide Ansätze und du bekommst das Beste aus beiden Welten.
So bekommst du es
Das Backend wurde am 4. September in das offizielle Repository gemerged (PR #102055, Commit f1ccf436a2) – also nach dem letzten Release v0.21.0 vom 31. August, weshalb es noch in keinem Release steckt. Aktuell lebt es nur auf main; ein stabiles Release wird es als Nächstes aufnehmen. Um es jetzt auszuprobieren, arbeite vom main-Branch; ansonsten warte, bis hermes update eine neue Version meldet (den zeitlichen Verlauf kannst du in unseren v0.21.0-Release-Notes nachverfolgen).
Zusammenfassung
- Enttäuscht die Suchqualität, tausch das Backend, bevor du das Modell tauschst;
- Ein Perplexity-Key aktiviert sowohl
web_search(rangierte, datierte Ergebnisse) als auchweb_extract(queryrelevante Snippets) – er ist aber kostenpflichtig und gehört nicht zum freien Rotationsring; - Konfigurieren mit
PERPLEXITY_API_KEY, umschalten mitweb.backend, aufteilen mitweb.search_backend/web.extract_backend; - Für wortgetreue Ausgaben ganzer Seiten Extract bei Firecrawl / Exa / Parallel lassen – Perplexity liefert nur die relevanten Passagen;
- Aktuell nur auf
main; das nächste Release macht es offiziell.
Willst du auch die Kontextkosten deiner Web-Recherche im Griff behalten? Dann wirf einen Blick auf das Caching von Websuchergebnissen, damit sich wiederholende Queries keine Tokens verbrennen und auf die Referenz zum hermes config-Befehl.