Tools

جست‌وجوی Perplexity

OpenClaw از Perplexity Search API به‌عنوان ارائه‌دهنده‌ی web_search پشتیبانی می‌کند. این API نتایج ساختاریافته را با فیلدهای 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 را تنظیم کنید، ارائه‌دهنده به مسیر chat-completions تغییر می‌کند و به‌جای نتایج ساختاریافته‌ی Search API، پاسخ‌های تولیدشده با هوش مصنوعی همراه با ارجاع‌ها برمی‌گرداند.

نصب Plugin

Plugin رسمی را نصب کنید، سپس Gateway را بازراه‌اندازی کنید:

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

دریافت کلید API از Perplexity

  1. در perplexity.ai/settings/api یک حساب Perplexity بسازید
  2. در داشبورد یک کلید API ایجاد کنید
  3. کلید را در پیکربندی ذخیره کنید یا PERPLEXITY_API_KEY را در محیط Gateway تنظیم کنید.

سازگاری OpenRouter

اگر از قبل برای Perplexity Sonar از OpenRouter استفاده می‌کردید، 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

نمونه‌های پیکربندی

API جست‌وجوی بومی Perplexity

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 بدون جایگزین محیطی حل‌نشده بماند، راه‌اندازی/بارگذاری مجدد سریعاً شکست می‌خورد.

پارامترهای ابزار

این پارامترها برای مسیر API جست‌وجوی بومی Perplexity اعمال می‌شوند.

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
// 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,});

قواعد فیلتر دامنه

  • حداکثر 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