Tools

Поиск Perplexity

OpenClaw поддерживает Perplexity Search API в качестве провайдера web_search. Он возвращает структурированные результаты с полями title, url и snippet.

Для совместимости OpenClaw также поддерживает устаревшие конфигурации Perplexity Sonar/OpenRouter. Если вы используете OPENROUTER_API_KEY, ключ sk-or-... в plugins.entries.perplexity.config.webSearch.apiKey или задаёте plugins.entries.perplexity.config.webSearch.baseUrl / model, провайдер переключается на путь дополнений чата и вместо структурированных результатов Search API возвращает синтезированные ИИ ответы с цитатами.

Установка плагина

Установите официальный плагин, затем перезапустите Gateway:

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

Получение ключа Perplexity API

  1. Создайте учётную запись Perplexity на странице perplexity.ai/settings/api.
  2. Создайте ключ API на панели управления.
  3. Сохраните ключ в конфигурации или задайте PERPLEXITY_API_KEY в окружении Gateway.

Совместимость с OpenRouter

Если вы уже использовали OpenRouter для Perplexity Sonar, сохраните provider: "perplexity" и задайте OPENROUTER_API_KEY в окружении Gateway либо сохраните ключ sk-or-... в plugins.entries.perplexity.config.webSearch.apiKey.

Необязательные параметры совместимости:

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

Примеры конфигурации

Нативный Perplexity Search API

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

Совместимость с 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",      },    },  },}

Где задать ключ

Через конфигурацию: выполните openclaw configure --section web. Команда сохраняет ключ в ~/.openclaw/openclaw.json в разделе plugins.entries.perplexity.config.webSearch.apiKey. Это поле также принимает объекты SecretRef.

Через окружение: задайте PERPLEXITY_API_KEY или OPENROUTER_API_KEY в окружении процесса Gateway. При установке Gateway добавьте переменную в ~/.openclaw/.env (или окружение вашей службы). См. раздел Переменные окружения.

Если настроен provider: "perplexity", а SecretRef ключа Perplexity не разрешается и резервная переменная окружения отсутствует, запуск или перезагрузка немедленно завершается ошибкой.

Параметры инструмента

Эти параметры применяются к нативному пути Perplexity Search API.

querystringrequired

Поисковый запрос.

countnumberdefault: 5

Количество возвращаемых результатов (1-10).

countrystring

Двухбуквенный код страны ISO (например, US, DE).

languagestring

Код языка ISO 639-1 (например, en, de, fr).

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

Временной фильтр — day означает 24 часа.

date_afterstring

Только результаты, опубликованные после этой даты (YYYY-MM-DD).

date_beforestring

Только результаты, опубликованные до этой даты (YYYY-MM-DD).

domain_filterstring[]

Массив разрешённых или запрещённых доменов (не более 20).

max_tokensnumberdefault: 25000

Общий бюджет содержимого (не более 1000000).

max_tokens_per_pagenumberdefault: 2048

Ограничение количества токенов на страницу.

Для устаревшего пути совместимости Sonar/OpenRouter:

  • Поддерживаются query, count и freshness.
  • count используется там только для совместимости; ответ по-прежнему представляет собой один синтезированный ответ с цитатами, а не список из N результатов.
  • Фильтры, доступные только в Search API (country, language, date_after, date_before, domain_filter, max_tokens, max_tokens_per_page), приводят к явным ошибкам.

Примеры:

javascript
// Поиск с учётом страны и языкаawait web_search({  query: "возобновляемая энергия",  country: "DE",  language: "de",}); // Недавние результаты (за последнюю неделю)await web_search({  query: "новости ИИ",  freshness: "week",}); // Поиск по диапазону датawait web_search({  query: "развитие ИИ",  date_after: "2024-01-01",  date_before: "2024-06-30",}); // Фильтрация доменов (список разрешённых)await web_search({  query: "исследования климата",  domain_filter: ["nature.com", "science.org", ".edu"],}); // Фильтрация доменов (список запрещённых — с префиксом -)await web_search({  query: "обзоры продуктов",  domain_filter: ["-reddit.com", "-pinterest.com"],}); // Извлечение большего объёма содержимогоawait web_search({  query: "подробные исследования ИИ",  max_tokens: 50000,  max_tokens_per_page: 4096,});

Правила фильтрации доменов

  • Не более 20 доменов в одном фильтре.
  • В одном запросе нельзя смешивать записи из списков разрешённых и запрещённых доменов.
  • Для записей списка запрещённых доменов используйте префикс - (например, ["-reddit.com"]).

Примечания

  • Perplexity Search API возвращает структурированные результаты веб-поиска (title, url, snippet).
  • OpenRouter или явно заданные plugins.entries.perplexity.config.webSearch.baseUrl / model переключают Perplexity обратно на дополнения чата Sonar для совместимости.
  • В режиме совместимости Sonar/OpenRouter возвращается один синтезированный ответ с цитатами, а не строки структурированных результатов.
  • По умолчанию результаты кэшируются на 15 минут (настраивается с помощью cacheTtlMinutes).

Связанные материалы

Was this useful?
On this page

On this page