أدوات الويب¶
يوفّر OpenClaw أداتين خفيفتين للويب:
web_search— البحث في الويب عبر واجهة برمجة تطبيقات Brave Search (افتراضيًا) أو Perplexity Sonar (مباشر أو عبر OpenRouter).web_fetch— جلب HTTP + استخراج قابل للقراءة (HTML → markdown/text).
هذه ليست أتمتة متصفح. للمواقع الثقيلة بـ JS أو التي تتطلب تسجيل دخول، استخدم أداة المتصفح.
كيف يعمل¶
web_searchيستدعي الموفّر الذي قمت بتهيئته ويعيد النتائج.- Brave (افتراضي): يعيد نتائج مُهيكلة (العنوان، الرابط، المقتطف).
- Perplexity: يعيد إجابات مُولّدة بالذكاء الاصطناعي مع اقتباسات من بحث ويب آني.
- يتم تخزين النتائج مؤقتًا حسب الاستعلام لمدة 15 دقيقة (قابلة للتهيئة).
web_fetchيجري طلب HTTP GET عاديًا ويستخرج المحتوى القابل للقراءة (HTML → markdown/text). وهو لا ينفّذ JavaScript.web_fetchمفعّل افتراضيًا (ما لم يتم تعطيله صراحةً).
اختيار موفّر البحث¶
| المزوّد | المزايا | السياقات | مفتاح API |
|---|---|---|---|
| Brave (افتراضي) | سريع، نتائج مُهيكلة، شريحة مجانية | نتائج بحث تقليدية | BRAVE_API_KEY |
| Perplexity | إجابات مُولّدة بالذكاء الاصطناعي، اقتباسات، آني | يتطلب وصول Perplexity أو OpenRouter | OPENROUTER_API_KEY أو PERPLEXITY_API_KEY |
انظر إعداد Brave Search وPerplexity Sonar لتفاصيل خاصة بكل موفّر.
قم بتعيين الموفّر في التهيئة:
{
tools: {
web: {
search: {
provider: "brave", // or "perplexity"
},
},
},
}
مثال: التبديل إلى Perplexity Sonar (واجهة برمجة مباشرة):
{
tools: {
web: {
search: {
provider: "perplexity",
perplexity: {
apiKey: "pplx-...",
baseUrl: "https://api.perplexity.ai",
model: "perplexity/sonar-pro",
},
},
},
},
}
الحصول على مفتاح Brave API¶
- أنشئ حساب Brave Search API على https://brave.com/search/api/
- من لوحة التحكم، اختر خطة Data for Search (وليس “Data for AI”) وأنشئ مفتاح API.
- شغّل
openclaw configure --section webلتخزين المفتاح في التهيئة (موصى به)، أو اضبطBRAVE_API_KEYفي بيئتك.
يوفّر Brave شريحة مجانية إضافةً إلى خطط مدفوعة؛ راجع بوابة Brave API للاطلاع على الحدود الحالية والتسعير.
أين تضبط المفتاح (موصى به)¶
موصى به: شغّل openclaw configure --section web. سيخزّن المفتاح في
~/.openclaw/openclaw.json تحت tools.web.search.apiKey.
بديل عبر البيئة: اضبط BRAVE_API_KEY في بيئة عملية Gateway. لتثبيت gateway، ضعه في ~/.openclaw/.env (أو بيئة خدمتك). انظر متغيرات البيئة.
استخدام Perplexity (مباشر أو عبر OpenRouter)¶
نماذج Perplexity Sonar تمتلك قدرات بحث ويب مدمجة وتعيد إجابات مُولّدة بالذكاء الاصطناعي مع اقتباسات. يمكنك استخدامها عبر OpenRouter (لا يتطلب بطاقة ائتمان — يدعم العملات المشفّرة/الدفع المسبق).
الحصول على مفتاح OpenRouter API¶
- أنشئ حسابًا على https://openrouter.ai/
- أضف رصيدًا (يدعم العملات المشفّرة، الدفع المسبق، أو بطاقة ائتمان)
- أنشئ مفتاح API من إعدادات حسابك
إعداد بحث Perplexity¶
{
tools: {
web: {
search: {
enabled: true,
provider: "perplexity",
perplexity: {
// API key (optional if OPENROUTER_API_KEY or PERPLEXITY_API_KEY is set)
apiKey: "sk-or-v1-...",
// Base URL (key-aware default if omitted)
baseUrl: "https://openrouter.ai/api/v1",
// Model (defaults to perplexity/sonar-pro)
model: "perplexity/sonar-pro",
},
},
},
},
}
بديل عبر البيئة: اضبط OPENROUTER_API_KEY أو PERPLEXITY_API_KEY في بيئة Gateway. لتثبيت gateway، ضعه في ~/.openclaw/.env.
إذا لم يتم تعيين عنوان أساسي، يختار OpenClaw قيمة افتراضية بناءً على مصدر مفتاح API:
PERPLEXITY_API_KEYأوpplx-...→https://api.perplexity.aiOPENROUTER_API_KEYأوsk-or-...→https://openrouter.ai/api/v1- صيغ مفاتيح غير معروفة → OpenRouter (احتياط آمن)
نماذج Perplexity المتاحة¶
| النموذج | الوصف | الأنسب لـ |
|---|---|---|
perplexity/sonar |
أسئلة وأجوبة سريعة مع بحث ويب | استعلامات سريعة |
perplexity/sonar-pro (افتراضي) |
استدلال متعدد الخطوات مع بحث ويب | أسئلة معقّدة |
perplexity/sonar-reasoning-pro |
تحليل سلسلة الأفكار | بحث معمّق |
web_search¶
البحث في الويب باستخدام الموفّر الذي قمت بتهيئته.
المتطلبات¶
- يجب ألا يكون
tools.web.search.enabledمساويًا لـfalse(الافتراضي: مفعّل) - مفتاح API للموفّر الذي اخترته:
- Brave:
BRAVE_API_KEYأوtools.web.search.apiKey - Perplexity:
OPENROUTER_API_KEYأوPERPLEXITY_API_KEYأوtools.web.search.perplexity.apiKey
التهيئة¶
{
tools: {
web: {
search: {
enabled: true,
apiKey: "BRAVE_API_KEY_HERE", // optional if BRAVE_API_KEY is set
maxResults: 5,
timeoutSeconds: 30,
cacheTtlMinutes: 15,
},
},
},
}
معلمات الأداة¶
query(مطلوب)count(من 1 إلى 10؛ الافتراضي من التهيئة)country(اختياري): رمز بلد من حرفين لنتائج خاصة بالمنطقة (مثل "DE" و"US" و"ALL"). إذا أُهمل، يختار Brave منطقته الافتراضية.search_lang(اختياري): رمز لغة ISO لنتائج البحث (مثل "de" و"en" و"fr")ui_lang(اختياري): رمز لغة ISO لعناصر واجهة المستخدمfreshness(اختياري، Brave فقط): التصفية حسب وقت الاكتشاف (pd،pw،pm،py، أوYYYY-MM-DDtoYYYY-MM-DD)
أمثلة:
// German-specific search
await web_search({
query: "TV online schauen",
count: 10,
country: "DE",
search_lang: "de",
});
// French search with French UI
await web_search({
query: "actualités",
country: "FR",
search_lang: "fr",
ui_lang: "fr",
});
// Recent results (past week)
await web_search({
query: "TMBG interview",
freshness: "pw",
});
web_fetch¶
جلب رابط واستخراج محتوى قابل للقراءة.
متطلبات web_fetch¶
- يجب ألا يكون
tools.web.fetch.enabledمساويًا لـfalse(الافتراضي: مفعّل) - بديل Firecrawl اختياري: اضبط
tools.web.fetch.firecrawl.apiKeyأوFIRECRAWL_API_KEY.
تهيئة web_fetch¶
{
tools: {
web: {
fetch: {
enabled: true,
maxChars: 50000,
maxCharsCap: 50000,
timeoutSeconds: 30,
cacheTtlMinutes: 15,
maxRedirects: 3,
userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
readability: true,
firecrawl: {
enabled: true,
apiKey: "FIRECRAWL_API_KEY_HERE", // optional if FIRECRAWL_API_KEY is set
baseUrl: "https://api.firecrawl.dev",
onlyMainContent: true,
maxAgeMs: 86400000, // ms (1 day)
timeoutSeconds: 60,
},
},
},
},
}
معاملات أداة web_fetch¶
url(مطلوب، http/https فقط)extractMode(markdown|text)maxChars(اقتطاع الصفحات الطويلة)
ملاحظات:
web_fetchيستخدم Readability (استخراج المحتوى الرئيسي) أولًا، ثم Firecrawl (إذا تم تهيئته). إذا فشل الاثنان، تعيد الأداة خطأً.- تستخدم طلبات Firecrawl وضع تجاوز قيود البوتات وتخزّن النتائج مؤقتًا افتراضيًا.
web_fetchيرسل User-Agent شبيهًا بـ Chrome وAccept-Languageافتراضيًا؛ يمكنك تجاوزuserAgentعند الحاجة.web_fetchيحظر أسماء المضيفين الخاصة/الداخلية ويعيد التحقق من عمليات إعادة التوجيه (حدّد ذلك باستخدامmaxRedirects).maxCharsمُقيَّد إلىtools.web.fetch.maxCharsCap.web_fetchهو استخراج بأفضل جهد؛ بعض المواقع ستحتاج إلى أداة المتصفح.- انظر Firecrawl لإعداد المفاتيح وتفاصيل الخدمة.
- يتم تخزين الاستجابات مؤقتًا (الافتراضي 15 دقيقة) لتقليل الجلب المتكرر.
- إذا كنت تستخدم ملفات تعريف/قوائم سماح للأدوات، أضف
web_search/web_fetchأوgroup:web. - إذا كان مفتاح Brave مفقودًا، يعيد
web_searchتلميح إعداد قصيرًا مع رابط إلى المستندات.