Tools

Recherche Perplexity

OpenClaw prend en charge l’API Perplexity Search comme fournisseur web_search. Elle renvoie des résultats structurés avec les champs title, url et snippet.

Pour la compatibilité, OpenClaw prend également en charge les configurations Perplexity Sonar/OpenRouter héritées. 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 chat-completions et renvoie des réponses synthétisées par IA avec citations au lieu de résultats structurés de l’API Search.

Installer le Plugin

Installez le Plugin officiel, puis redémarrez Gateway :

bash
openclaw plugins install @openclaw/perplexity-pluginopenclaw gateway restart

Obtenir une clé d’API Perplexity

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

Compatibilité OpenRouter

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

Contrôles de compatibilité facultatifs :

  • plugins.entries.perplexity.config.webSearch.baseUrl
  • plugins.entries.perplexity.config.webSearch.model

Exemples de configuration

API Perplexity Search native

json5
{  plugins: {    entries: {      perplexity: {        config: {          webSearch: {            apiKey: "pplx-...",          },        },      },    },  },  tools: {    web: {      search: {        provider: "perplexity",      },    },  },}

Compatibilité OpenRouter / Sonar

json5
{  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 aussi les objets SecretRef.

Via l’environnement : définissez PERPLEXITY_API_KEY ou OPENROUTER_API_KEY dans l’environnement du processus Gateway. Pour une installation de 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 dans l’environnement, le démarrage/rechargement échoue rapidement.

Paramètres de l’outil

Ces paramètres s’appliquent au chemin de l’API Perplexity Search native.

querystringrequired

Requête de recherche.

countnumberdefault: 5

Nombre de résultats à renvoyer (1-10).

countrystring

Code pays ISO à 2 lettres (p. ex. US, DE).

languagestring

Code de langue ISO 639-1 (p. ex. en, de, fr).

freshness'day' | 'week' | 'month' | 'year'

Filtre temporel - day correspond à 24 heures.

date_afterstring

Uniquement les résultats publiés après cette date (YYYY-MM-DD).

date_beforestring

Uniquement les résultats publiés avant cette date (YYYY-MM-DD).

domain_filterstring[]

Tableau de domaines autorisés/refusés (max. 20).

max_tokensnumberdefault: 25000

Budget total de contenu (max. 1000000).

max_tokens_per_pagenumberdefault: 2048

Limite de jetons par page.

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

  • query, count et freshness sont acceptés
  • count existe uniquement pour la compatibilité dans ce chemin ; la réponse reste une seule réponse synthétisée avec citations plutôt qu’une liste de N résultats
  • Les filtres propres à l’API Search comme country, language, date_after, date_before, domain_filter, max_tokens et max_tokens_per_page renvoient des erreurs explicites

Exemples :

javascript
// Country and language-specific searchawait web_search({  query: "renewable energy",  country: "DE",  language: "de",}); // Recent results (past week)await web_search({  query: "AI news",  freshness: "week",}); // Date range searchawait 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 extractionawait web_search({  query: "detailed AI research",  max_tokens: 50000,  max_tokens_per_page: 4096,});

Règles de filtre de domaine

  • Maximum 20 domaines par filtre
  • Impossible de mélanger liste d’autorisation et liste de refus dans une même requête
  • Utilisez le préfixe - pour les entrées de liste de refus (p. ex. ["-reddit.com"])

Notes

  • L’API Perplexity Search renvoie des résultats de recherche web structurés (title, url, snippet)
  • OpenRouter ou plugins.entries.perplexity.config.webSearch.baseUrl / model explicite fait rebasculer Perplexity vers les chat completions Sonar pour compatibilité
  • La compatibilité Sonar/OpenRouter renvoie une seule réponse synthétisée avec citations, pas des lignes de résultats structurées
  • Les résultats sont mis en cache pendant 15 minutes par défaut (configurable via cacheTtlMinutes)

Associés

Was this useful?
On this page

On this page