---
read_when:
- تريد استخدام Perplexity Search للبحث على الويب
- تحتاج إلى إعداد `PERPLEXITY_API_KEY` أو `OPENROUTER_API_KEY`
summary: واجهة برمجة تطبيقات Perplexity Search والتوافق مع Sonar/OpenRouter لأداة web_search
title: بحث Perplexity
x-i18n:
generated_at: "2026-07-12T06:42:51Z"
model: gpt-5.6
postprocess_version: locale-links-v1
provider: openai
source_hash: a7ca97355110e70a05f1d57acab475dda8dec89393804df40c6e9be5e30780e8
source_path: tools/perplexity-search.md
workflow: 16
---
يدعم 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-plugin
openclaw gateway restart
```
## الحصول على مفتاح Perplexity API
1. أنشئ حساب Perplexity على [perplexity.ai/settings/api](https://www.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: "",
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` (أو في بيئة خدمتك). راجع [متغيرات البيئة](/ar/help/faq#env-vars-and-env-loading).
إذا كان `provider: "perplexity"` مهيّأً وتعذر حل SecretRef الخاص بمفتاح Perplexity من دون قيمة احتياطية من البيئة، فسيفشل بدء التشغيل/إعادة التحميل فورًا.
## معاملات الأداة
تنطبق هذه المعاملات على مسار Perplexity Search API الأصلي.
استعلام البحث.
عدد النتائج المطلوب إرجاعها (1-10).
رمز البلد وفق ISO والمكوّن من حرفين (مثل `US` و`DE`).
رمز اللغة وفق ISO 639-1 (مثل `en` و`de` و`fr`).
مرشح زمني؛ تمثل `day` مدة 24 ساعة.
النتائج المنشورة بعد هذا التاريخ فقط (`YYYY-MM-DD`).
النتائج المنشورة قبل هذا التاريخ فقط (`YYYY-MM-DD`).
مصفوفة قائمة السماح/الحظر للنطاقات (بحد أقصى 20).
إجمالي ميزانية المحتوى (بحد أقصى 1000000).
حد الرموز لكل صفحة.
بالنسبة إلى مسار التوافق القديم مع 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`).
## موضوعات ذات صلة
جميع المزودين وقواعد الاكتشاف التلقائي.
نتائج منظَّمة مع مرشحات البلد واللغة.
بحث عصبي مع استخراج المحتوى.
دليل البدء السريع والمرجع الرسميان لواجهة Perplexity Search API.