Aller au contenu

Recherche Perplexity

OpenClaw prend en charge l’API de recherche Perplexity en tant que fournisseur OpenClawPerplexityAPIweb_search. Elle retourne des résultats structurés avec les champs title, url et snippet.

Pour assurer la compatibilité, OpenClaw prend également en charge les configurations Perplexity Sonar/OpenRouter existantes. Si vous utilisez OpenClawPerplexityOpenRouterOPENROUTER_API_KEY, une clé sk-or-... dans plugins.entries.perplexity.config.webSearch.apiKey, ou définissez plugins.entries.perplexity.config.webSearch.baseUrl / modelAPI, le fournisseur bascule vers le chemin chat-completions et retourne des réponses synthétisées par l’IA avec des citations au lieu des résultats structurés de l’API de recherche.

  1. Créez un compte Perplexity sur perplexity.ai/settings/api
  2. Générez une clé API dans le tableau de bord
  3. Stockez la clé dans la configuration ou définissez PERPLEXITY_API_KEYGateway dans l’environnement de la passerelle.

Si vous utilisiez déjà OpenRouter pour Perplexity Sonar, conservez OpenRouterPerplexityprovider: "perplexity" et définissez OPENROUTER_API_KEYGateway dans l’environnement de la passerelle, ou stockez une clé sk-or-... dans plugins.entries.perplexity.config.webSearch.apiKey.

Contrôles de compatibilité optionnels :

  • plugins.entries.perplexity.config.webSearch.baseUrl
  • plugins.entries.perplexity.config.webSearch.model
{
plugins: {
entries: {
perplexity: {
config: {
webSearch: {
apiKey: "pplx-...",
},
},
},
},
},
tools: {
web: {
search: {
provider: "perplexity",
},
},
},
}
{
plugins: {
entries: {
perplexity: {
config: {
webSearch: {
apiKey: "<openrouter-api-key>",
baseUrl: "https://openrouter.ai/api/v1",
model: "perplexity/sonar-pro",
},
},
},
},
},
tools: {
web: {
search: {
provider: "perplexity",
},
},
},
}

Via la configuration : exécutez openclaw configure --section web. Elle stocke la clé dans ~/.openclaw/openclaw.json sous plugins.entries.perplexity.config.webSearch.apiKey. Ce champ accepte également les objets SecretRef.

Via environment : définissez PERPLEXITY_API_KEY ou OPENROUTER_API_KEY dans l’environnement du processus Gateway. Pour une installation de passerelle, placez-le dans ~/.openclaw/.env (ou votre environnement de service). Voir Env vars.

Si provider: "perplexity" est configuré et que le SecretRef de la clé Perplexity n’est pas résolu sans repli vers l’environnement, le démarrage/rechargement échoue rapidement.

Ces paramètres s’appliquent au chemin de l’API de recherche PerplexityAPI native.

Requête de recherche. Nombre de résultats à renvoyer (1-10). Code pays ISO à 2 lettres (ex. `US`, `DE`). Code de langue ISO 639-1 (ex. `en`, `de`, `fr`). Filtre temporel - `day` correspond à 24 heures. Uniquement les résultats publiés après cette date (`YYYY-MM-DD`). Uniquement les résultats publiés avant cette date (`YYYY-MM-DD`). Tableau de liste d'autorisation/liste de blocage de domaines (max 20). Budget total de contenu (max 1000000). Limite de jetons par page.

Pour le chemin de compatibilité hérité Sonar/OpenRouter :

  • query, count et freshness sont acceptés
  • count n’y sert qu’à la compatibilité ; la réponse est toujours une réponse synthétisée avec citations plutôt qu’une liste de N résultats
  • Les filtres exclusifs à l’API de recherche tels que country, language, date_after, date_before, domain_filter, max_tokens et max_tokens_per_page renvoient 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,
});
  • Maximum 20 domaines par filtre
  • Impossible de mélanger la liste d’autorisation et la liste de blocage dans la même requête
  • Utilisez le préfixe - pour les entrées de la liste de blocage (par exemple, ["-reddit.com"])
  • L’Perplexity de recherche API renvoie des résultats de recherche web structurés (title, url, snippet)
  • OpenRouter ou les commutateurs explicites plugins.entries.perplexity.config.webSearch.baseUrl / model ramènent Perplexity aux compléments de chat Sonar pour la compatibilité
  • La compatibilité Sonar/OpenRouter renvoie une 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)
Aperçu de la recherche web

Tous les fournisseurs et les règles de détection automatique.

Recherche Brave

Résultats structurés avec filtres de pays et de langue.

Exa search

Recherche neurale avec extraction de contenu.

Perplexity Search API docs

Guide de démarrage rapide et référence de l’Perplexity Search API officielle.