Langsung ke konten utama
OpenClaw mendukung Perplexity Search API sebagai penyedia web_search. Ini mengembalikan hasil terstruktur dengan kolom title, url, dan snippet. Untuk kompatibilitas, OpenClaw juga mendukung penyiapan Perplexity Sonar/OpenRouter lama. Jika Anda menggunakan OPENROUTER_API_KEY, kunci sk-or-... di plugins.entries.perplexity.config.webSearch.apiKey, atau mengatur plugins.entries.perplexity.config.webSearch.baseUrl / model, penyedia beralih ke jalur chat-completions dan mengembalikan jawaban yang disintesis AI dengan kutipan, bukan hasil Search API terstruktur.

Pasang plugin

Pasang plugin resmi, lalu mulai ulang Gateway:
openclaw plugins install @openclaw/perplexity-plugin
openclaw gateway restart

Mendapatkan kunci API Perplexity

  1. Buat akun Perplexity di perplexity.ai/settings/api
  2. Buat kunci API di dasbor
  3. Simpan kunci di konfigurasi atau atur PERPLEXITY_API_KEY di lingkungan Gateway.

Kompatibilitas OpenRouter

Jika Anda sudah menggunakan OpenRouter untuk Perplexity Sonar, pertahankan provider: "perplexity" dan atur OPENROUTER_API_KEY di lingkungan Gateway, atau simpan kunci sk-or-... di plugins.entries.perplexity.config.webSearch.apiKey. Kontrol kompatibilitas opsional:
  • plugins.entries.perplexity.config.webSearch.baseUrl
  • plugins.entries.perplexity.config.webSearch.model

Contoh konfigurasi

Perplexity Search API native

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

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

Tempat mengatur kunci

Melalui konfigurasi: jalankan openclaw configure --section web. Ini menyimpan kunci di ~/.openclaw/openclaw.json di bawah plugins.entries.perplexity.config.webSearch.apiKey. Kolom tersebut juga menerima objek SecretRef. Melalui lingkungan: atur PERPLEXITY_API_KEY atau OPENROUTER_API_KEY di lingkungan proses Gateway. Untuk pemasangan gateway, letakkan di ~/.openclaw/.env (atau lingkungan layanan Anda). Lihat Variabel lingkungan. Jika provider: "perplexity" dikonfigurasi dan SecretRef kunci Perplexity tidak terselesaikan tanpa fallback env, startup/reload langsung gagal.

Parameter alat

Parameter ini berlaku untuk jalur Perplexity Search API native.
query
string
wajib
Kueri pencarian.
count
number
default:"5"
Jumlah hasil yang dikembalikan (1-10).
country
string
Kode negara ISO 2 huruf (mis. US, DE).
language
string
Kode bahasa ISO 639-1 (mis. en, de, fr).
freshness
'day' | 'week' | 'month' | 'year'
Filter waktu - day adalah 24 jam.
date_after
string
Hanya hasil yang dipublikasikan setelah tanggal ini (YYYY-MM-DD).
date_before
string
Hanya hasil yang dipublikasikan sebelum tanggal ini (YYYY-MM-DD).
domain_filter
string[]
Array allowlist/denylist domain (maks. 20).
max_tokens
number
default:"25000"
Total anggaran konten (maks. 1000000).
max_tokens_per_page
number
default:"2048"
Batas token per halaman.
Untuk jalur kompatibilitas Sonar/OpenRouter lama:
  • query, count, dan freshness diterima
  • count hanya untuk kompatibilitas di sana; respons tetap berupa satu jawaban tersintesis dengan kutipan, bukan daftar N hasil
  • Filter khusus Search API seperti country, language, date_after, date_before, domain_filter, max_tokens, dan max_tokens_per_page mengembalikan kesalahan eksplisit
Contoh:
// 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,
});

Aturan filter domain

  • Maksimum 20 domain per filter
  • Tidak dapat mencampur allowlist dan denylist dalam permintaan yang sama
  • Gunakan prefiks - untuk entri denylist (mis., ["-reddit.com"])

Catatan

  • Perplexity Search API mengembalikan hasil pencarian web terstruktur (title, url, snippet)
  • OpenRouter atau plugins.entries.perplexity.config.webSearch.baseUrl / model eksplisit mengalihkan Perplexity kembali ke Sonar chat completions untuk kompatibilitas
  • Kompatibilitas Sonar/OpenRouter mengembalikan satu jawaban tersintesis dengan kutipan, bukan baris hasil terstruktur
  • Hasil di-cache selama 15 menit secara default (dapat dikonfigurasi melalui cacheTtlMinutes)

Terkait

Ikhtisar pencarian web

Semua penyedia dan aturan deteksi otomatis.

Pencarian Brave

Hasil terstruktur dengan filter negara dan bahasa.

Pencarian Exa

Pencarian neural dengan ekstraksi konten.

Dokumentasi Perplexity Search API

Panduan mulai cepat dan referensi resmi Perplexity Search API.