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 المنظَّمة.

تثبيت Plugin

ثبّت Plugin الرسمي، ثم أعد تشغيل 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: "renewable energy",  country: "DE",  language: "de",}); // نتائج حديثة (خلال الأسبوع الماضي)await web_search({  query: "AI news",  freshness: "week",}); // بحث ضمن نطاق زمنيawait web_search({  query: "AI developments",  date_after: "2024-01-01",  date_before: "2024-06-30",}); // تصفية النطاقات (قائمة السماح)await web_search({  query: "climate research",  domain_filter: ["nature.com", "science.org", ".edu"],}); // تصفية النطاقات (قائمة الحظر - استخدم السابقة -)await web_search({  query: "product reviews",  domain_filter: ["-reddit.com", "-pinterest.com"],}); // استخراج محتوى إضافيawait 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