メインコンテンツへスキップ
OpenClaw は Perplexity Search API を web_search プロバイダーとしてサポートします。これは titleurlsnippet フィールドを持つ構造化結果を返します。 互換性のため、OpenClaw はレガシーの Perplexity Sonar/OpenRouter セットアップもサポートします。OPENROUTER_API_KEYplugins.entries.perplexity.config.webSearch.apiKey 内の sk-or-... キー、または plugins.entries.perplexity.config.webSearch.baseUrl / model を設定している場合、プロバイダーはチャット補完パスに切り替わり、構造化された Search API の結果ではなく、引用付きの AI 合成回答を返します。

Plugin のインストール

公式 Plugin をインストールし、Gateway を再起動します。
openclaw plugins install @openclaw/perplexity-plugin
openclaw gateway restart

Perplexity API キーの取得

  1. perplexity.ai/settings/api で Perplexity アカウントを作成します。
  2. ダッシュボードで API キーを生成します。
  3. キーを設定に保存するか、Gateway 環境で PERPLEXITY_API_KEY を設定します。

OpenRouter 互換性

Perplexity Sonar 用にすでに OpenRouter を使用していた場合は、provider: "perplexity" を維持し、Gateway 環境で OPENROUTER_API_KEY を設定するか、plugins.entries.perplexity.config.webSearch.apiKeysk-or-... キーを保存します。 任意の互換性制御:
  • plugins.entries.perplexity.config.webSearch.baseUrl
  • plugins.entries.perplexity.config.webSearch.model

設定例

ネイティブ Perplexity Search API

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

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",
      },
    },
  },
}

キーを設定する場所

設定経由: openclaw configure --section web を実行します。これにより、キーは ~/.openclaw/openclaw.jsonplugins.entries.perplexity.config.webSearch.apiKey に保存されます。このフィールドは SecretRef オブジェクトも受け付けます。 環境経由: Gateway プロセス環境で PERPLEXITY_API_KEY または OPENROUTER_API_KEY を設定します。Gateway インストールの場合は、~/.openclaw/.env(またはサービス環境)に配置します。環境変数を参照してください。 provider: "perplexity" が設定されていて、Perplexity キーの SecretRef が未解決で環境フォールバックもない場合、起動/再読み込みは即座に失敗します。

ツールパラメーター

これらのパラメーターは、ネイティブ Perplexity Search API パスに適用されます。
query
string
必須
検索クエリ。
count
number
デフォルト:"5"
返す結果の数(1〜10)。
country
string
2 文字の ISO 国コード(例: USDE)。
language
string
ISO 639-1 言語コード(例: endefr)。
freshness
'day' | 'week' | 'month' | 'year'
時間フィルター - day は 24 時間です。
date_after
string
この日付(YYYY-MM-DD)より後に公開された結果のみ。
date_before
string
この日付(YYYY-MM-DD)より前に公開された結果のみ。
domain_filter
string[]
ドメインの許可リスト/拒否リスト配列(最大 20)。
max_tokens
number
デフォルト:"25000"
合計コンテンツ予算(最大 1000000)。
max_tokens_per_page
number
デフォルト:"2048"
ページごとのトークン上限。
レガシー Sonar/OpenRouter 互換パスの場合:
  • querycountfreshness が受け付けられます。
  • count はそこでの互換性専用です。レスポンスは N 件の結果リストではなく、引用付きの単一の合成回答のままです。
  • Search API 専用フィルター(countrylanguagedate_afterdate_beforedomain_filtermax_tokensmax_tokens_per_page)は明示的なエラーを返します。
例:
// 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,
});

ドメインフィルターのルール

  • フィルターごとに最大 20 ドメイン。
  • 同じリクエスト内で許可リストと拒否リストのエントリを混在させることはできません。
  • 拒否リストエントリには - プレフィックスを使用します(例: ["-reddit.com"])。

注記

  • Perplexity Search API は、構造化された Web 検索結果(titleurlsnippet)を返します。
  • OpenRouter、または明示的な plugins.entries.perplexity.config.webSearch.baseUrl / model は、互換性のため Perplexity を Sonar チャット補完へ戻します。
  • Sonar/OpenRouter 互換性は、構造化された結果行ではなく、引用付きの単一の合成回答を返します。
  • 結果はデフォルトで 15 分間キャッシュされます(cacheTtlMinutes で設定可能)。

関連

Web 検索の概要

すべてのプロバイダーと自動検出ルール。

Brave 検索

国と言語のフィルター付き構造化結果。

Exa 検索

コンテンツ抽出付きのニューラル検索。

Perplexity Search API ドキュメント

公式 Perplexity Search API クイックスタートとリファレンス。