Tools
Recherche Perplexity
OpenClaw prend en charge Perplexity Search API comme fournisseur web_search.
Elle renvoie des résultats structurés avec les champs title, url et snippet.
Pour des raisons de compatibilité, OpenClaw prend également en charge les configurations héritées Perplexity Sonar/OpenRouter.
Si vous utilisez OPENROUTER_API_KEY, une clé sk-or-... dans plugins.entries.perplexity.config.webSearch.apiKey, ou si vous définissez plugins.entries.perplexity.config.webSearch.baseUrl / model, le fournisseur bascule vers le chemin des complétions de chat et renvoie des réponses synthétisées par l'IA avec citations au lieu de résultats structurés de la Search API.
Obtenir une clé d'API Perplexity
- Créez un compte Perplexity sur perplexity.ai/settings/api
- Générez une clé d'API dans le tableau de bord
- Stockez la clé dans la configuration ou définissez
PERPLEXITY_API_KEYdans l'environnement du Gateway.
Compatibilité OpenRouter
Si vous utilisiez déjà OpenRouter pour Perplexity Sonar, conservez provider: "perplexity" et définissez OPENROUTER_API_KEY dans l'environnement du Gateway, ou stockez une clé sk-or-... dans plugins.entries.perplexity.config.webSearch.apiKey.
Contrôles de compatibilité facultatifs :
plugins.entries.perplexity.config.webSearch.baseUrlplugins.entries.perplexity.config.webSearch.model
Exemples de configuration
API Perplexity Search native
{
plugins: {
entries: {
perplexity: {
config: {
webSearch: {
apiKey: "pplx-...",
},
},
},
},
},
tools: {
web: {
search: {
provider: "perplexity",
},
},
},
}
Compatibilité OpenRouter / Sonar
{
plugins: {
entries: {
perplexity: {
config: {
webSearch: {
apiKey: "<openrouter-api-key>",
baseUrl: "https://openrouter.ai/api/v1",
model: "perplexity/sonar-pro",
},
},
},
},
},
tools: {
web: {
search: {
provider: "perplexity",
},
},
},
}
Où définir la clé
Via la configuration : exécutez openclaw configure --section web. La clé est stockée dans
~/.openclaw/openclaw.json sous plugins.entries.perplexity.config.webSearch.apiKey.
Ce champ accepte également les objets SecretRef.
Via l'environnement : définissez PERPLEXITY_API_KEY ou OPENROUTER_API_KEY
dans l'environnement du processus Gateway. Pour une installation du gateway, placez-la dans
~/.openclaw/.env (ou dans l'environnement de votre service). Consultez Variables d'environnement.
Si provider: "perplexity" est configuré et que la SecretRef de la clé Perplexity n'est pas résolue sans solution de repli par variable d'environnement, le démarrage/rechargement échoue immédiatement.
Paramètres de l'outil
Ces paramètres s'appliquent au chemin de l'API Perplexity Search native.
querystringrequiredRequête de recherche.
countnumberNombre de résultats à renvoyer (1-10).
countrystringCode pays ISO à 2 lettres (par exemple US, DE).
languagestringCode de langue ISO 639-1 (par exemple en, de, fr).
freshness'day' | 'week' | 'month' | 'year'Filtre temporel - day correspond à 24 heures.
date_afterstringUniquement les résultats publiés après cette date (YYYY-MM-DD).
date_beforestringUniquement les résultats publiés avant cette date (YYYY-MM-DD).
domain_filterstring[]Tableau de domaines en liste d'autorisation/liste de blocage (20 max).
max_tokensnumberBudget total de contenu (max 1000000).
max_tokens_per_pagenumberLimite de tokens par page.
Pour le chemin de compatibilité hérité Sonar/OpenRouter :
query,countetfreshnesssont acceptéscountn'y sert qu'à la compatibilité ; la réponse reste une seule réponse synthétisée avec citations plutôt qu'une liste de N résultats- Les filtres réservés à la Search API, comme
country,language,date_after,date_before,domain_filter,max_tokensetmax_tokens_per_pagerenvoient des erreurs explicites
Exemples :
// Country and language-specific search
await web_search({
query: "renewable energy",
country: "DE",
language: "de",
});
// Recent results (past week)
await web_search({
query: "AI news",
freshness: "week",
});
// Date range search
await web_search({
query: "AI developments",
date_after: "2024-01-01",
date_before: "2024-06-30",
});
// Domain filtering (allowlist)
await web_search({
query: "climate research",
domain_filter: ["nature.com", "science.org", ".edu"],
});
// Domain filtering (denylist - prefix with -)
await web_search({
query: "product reviews",
domain_filter: ["-reddit.com", "-pinterest.com"],
});
// More content extraction
await web_search({
query: "detailed AI research",
max_tokens: 50000,
max_tokens_per_page: 4096,
});
Règles du filtre de domaine
- Maximum 20 domaines par filtre
- Impossible de mélanger liste d'autorisation et liste de blocage dans la même requête
- Utilisez le préfixe
-pour les entrées de liste de blocage (par exemple["-reddit.com"])
Notes
- Perplexity Search API renvoie des résultats de recherche web structurés (
title,url,snippet) - OpenRouter ou
plugins.entries.perplexity.config.webSearch.baseUrl/modelexplicite fait rebascule Perplexity vers les complétions de chat Sonar pour la compatibilité - La compatibilité Sonar/OpenRouter renvoie une seule réponse synthétisée avec citations, et non des lignes de résultats structurés
- Les résultats sont mis en cache pendant 15 minutes par défaut (configurable via
cacheTtlMinutes)
Connexe
Tous les fournisseurs et règles de détection automatique.
Résultats structurés avec filtres de pays et de langue.
Recherche neuronale avec extraction de contenu.
Guide de démarrage rapide et référence officiels de Perplexity Search API.