Perplexity Search API
OpenClaw unterstützt die Perplexity Search API als web_search-Provider.
Sie liefert strukturierte Ergebnisse mit den Feldern title, url und snippet.
Für Kompatibilität unterstützt OpenClaw auch Legacy-Setups mit Perplexity Sonar/OpenRouter.
Wenn du OPENROUTER_API_KEY verwendest, einen sk-or-...-Key in tools.web.search.perplexity.apiKey angibst oder tools.web.search.perplexity.baseUrl / model setzt, wechselt der Provider auf den Chat-Completions-Pfad und liefert KI-synthetisierte Antworten mit Zitaten statt strukturierter Search-API-Ergebnisse.
Perplexity API-Key besorgen
- Erstelle ein Perplexity-Konto unter https://www.perplexity.ai/settings/api
- Generiere einen API-Key im Dashboard
- Speichere den Key in der Konfiguration oder setze
PERPLEXITY_API_KEYin der Gateway-Umgebung.
OpenRouter-Kompatibilität
Wenn du bereits OpenRouter für Perplexity Sonar genutzt hast, behalte provider: "perplexity" bei und setze OPENROUTER_API_KEY in der Gateway-Umgebung, oder speichere einen sk-or-...-Key in tools.web.search.perplexity.apiKey.
Optionale Legacy-Einstellungen:
tools.web.search.perplexity.baseUrltools.web.search.perplexity.model
Konfigurationsbeispiele
Native Perplexity Search API
{
tools: {
web: {
search: {
provider: "perplexity",
perplexity: {
apiKey: "pplx-...",
},
},
},
},
}
OpenRouter / Sonar-Kompatibilität
{
tools: {
web: {
search: {
provider: "perplexity",
perplexity: {
apiKey: "<openrouter-api-key>",
baseUrl: "https://openrouter.ai/api/v1",
model: "perplexity/sonar-pro",
},
},
},
},
}
Wo der Key hinterlegt wird
Über die Konfiguration: Führe openclaw configure --section web aus. Der Key wird in ~/.openclaw/openclaw.json unter tools.web.search.perplexity.apiKey gespeichert.
Dieses Feld akzeptiert auch SecretRef-Objekte.
Über Umgebungsvariablen: Setze PERPLEXITY_API_KEY oder OPENROUTER_API_KEY in der Prozessumgebung des Gateways. Bei einer Gateway-Installation lege sie in ~/.openclaw/.env ab (oder in deiner Service-Umgebung). Siehe Umgebungsvariablen.
Wenn provider: "perplexity" konfiguriert ist und der Perplexity-Key-SecretRef nicht aufgelöst werden kann und kein Umgebungsvariablen-Fallback existiert, schlägt der Start/Reload sofort fehl.
Tool-Parameter
Diese Parameter gelten für den nativen Perplexity-Search-API-Pfad.
| Parameter | Beschreibung |
|---|---|
query | Suchanfrage (Pflichtfeld) |
count | Anzahl der Ergebnisse (1-10, Standard: 5) |
country | 2-stelliger ISO-Ländercode (z. B. “US”, “DE”) |
language | ISO 639-1-Sprachcode (z. B. “en”, “de”, “fr”) |
freshness | Zeitfilter: day (24h), week, month oder year |
date_after | Nur Ergebnisse nach diesem Datum (YYYY-MM-DD) |
date_before | Nur Ergebnisse vor diesem Datum (YYYY-MM-DD) |
domain_filter | Domain-Allowlist/-Denylist-Array (max. 20) |
max_tokens | Gesamtes Content-Budget (Standard: 25000, max: 1000000) |
max_tokens_per_page | Token-Limit pro Seite (Standard: 2048) |
Für den Legacy-Sonar/OpenRouter-Kompatibilitätspfad werden nur query und freshness unterstützt.
Reine Search-API-Filter wie country, language, date_after, date_before, domain_filter, max_tokens und max_tokens_per_page liefern explizite Fehlermeldungen.
Beispiele:
// Länder- und sprachspezifische Suche
await web_search({
query: "renewable energy",
country: "DE",
language: "de",
});
// Aktuelle Ergebnisse (letzte Woche)
await web_search({
query: "AI news",
freshness: "week",
});
// Suche mit Datumsbereich
await web_search({
query: "AI developments",
date_after: "2024-01-01",
date_before: "2024-06-30",
});
// Domain-Filterung (Allowlist)
await web_search({
query: "climate research",
domain_filter: ["nature.com", "science.org", ".edu"],
});
// Domain-Filterung (Denylist - Prefix mit -)
await web_search({
query: "product reviews",
domain_filter: ["-reddit.com", "-pinterest.com"],
});
// Mehr Content-Extraktion
await web_search({
query: "detailed AI research",
max_tokens: 50000,
max_tokens_per_page: 4096,
});
Domain-Filter-Regeln
- Maximal 20 Domains pro Filter
- Allowlist und Denylist können nicht in derselben Anfrage gemischt werden
- Verwende das
--Prefix für Denylist-Einträge (z. B.["-reddit.com"])
Hinweise
- Die Perplexity Search API liefert strukturierte Websuchergebnisse (
title,url,snippet) - OpenRouter oder explizite
baseUrl/modelschalten Perplexity auf Sonar-Chat-Completions für Kompatibilität um - Ergebnisse werden standardmäßig 15 Minuten gecacht (konfigurierbar über
cacheTtlMinutes)
Siehe Web-Tools für die vollständige web_search-Konfiguration. Siehe Perplexity Search API-Dokumentation für weitere Details.