الانتقال إلى المحتوى الرئيسي
يدعم 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:
openclaw plugins install @openclaw/perplexity-plugin
openclaw 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 الأصلية

{
  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.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 الأصلي.
query
string
مطلوب
استعلام البحث.
count
number
افتراضي:"5"
عدد النتائج المراد إرجاعها (1-10).
country
string
رمز بلد ISO من حرفين (مثل US وDE).
language
string
رمز لغة ISO 639-1 (مثل en وde وfr).
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:
  • يتم قبول query وcount وfreshness
  • count مخصص للتوافق فقط هناك؛ تظل الاستجابة إجابة واحدة مصاغة مع استشهادات بدلًا من قائمة نتائج بعدد N
  • المرشحات الخاصة بـ Search API فقط مثل country وlanguage وdate_after وdate_before وdomain_filter وmax_tokens وmax_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 نتائج بحث ويب منظمة (title وurl وsnippet)
  • يؤدي OpenRouter أو الضبط الصريح لـ plugins.entries.perplexity.config.webSearch.baseUrl / model إلى إعادة Perplexity إلى إكمالات محادثة Sonar لأغراض التوافق
  • يُرجع توافق Sonar/OpenRouter إجابة واحدة مصاغة مع استشهادات، وليس صفوف نتائج منظمة
  • تُخزّن النتائج مؤقتًا لمدة 15 دقيقة افتراضيًا (قابل للضبط عبر cacheTtlMinutes)

ذو صلة

نظرة عامة على بحث الويب

جميع الموفّرين وقواعد الاكتشاف التلقائي.

بحث Brave

نتائج منظمة مع مرشحات البلد واللغة.

بحث Exa

بحث عصبي مع استخراج المحتوى.

وثائق Perplexity Search API

دليل البدء السريع والمرجع الرسميان لـ Perplexity Search API.