Skip to main content
تُجري web_fetch طلب HTTP GET عاديًا وتستخرج المحتوى المقروء (من HTML إلى markdown أو نص). وهي لا تنفّذ JavaScript. للمواقع التي تعتمد بكثافة على JS أو الصفحات المحمية بتسجيل الدخول، استخدم متصفح الويب بدلًا منها.

البدء السريع

مفعّلة افتراضيًا، ولا تحتاج إلى إعداد:

معاملات الأداة

string
مطلوب
عنوان URL المطلوب جلبه. بروتوكول http(s) فقط.
'markdown' | 'text'
افتراضي:"markdown"
تنسيق الإخراج بعد استخراج المحتوى الرئيسي.
number
اقتطاع الإخراج عند هذا العدد من المحارف. يُقيَّد وفق tools.web.fetch.maxCharsCap.

آلية العمل

1

الجلب

يرسل طلب HTTP GET مع وكيل مستخدم شبيه بمتصفح Chrome وترويسة Accept-Language. ويحظر أسماء المضيفين الخاصة/الداخلية ويعيد التحقق من عمليات إعادة التوجيه.
2

الاستخراج

يشغّل Readability (استخراج المحتوى الرئيسي) على استجابة HTML.
3

المسار الاحتياطي (اختياري)

إذا فشل Readability وكان موفّر الجلب متاحًا، يعيد المحاولة عبر ذلك الموفّر (مثل وضع تجاوز حماية الروبوتات في Firecrawl).
4

ذاكرة التخزين المؤقت

تُخزَّن النتائج مؤقتًا لمدة 15 دقيقة (قابلة للضبط) لتقليل عمليات الجلب المتكررة لعنوان URL نفسه.

تحديثات التقدم

تُصدر web_fetch سطر تقدم عامًا فقط إذا ظل الجلب معلّقًا بعد خمس ثوانٍ:
تكتمل إصابات ذاكرة التخزين المؤقت السريعة واستجابات الشبكة السريعة قبل تشغيل المؤقت، ولذلك لا تعرض سطر تقدم مطلقًا. يؤدي إلغاء الاستدعاء إلى مسح المؤقت. سطر التقدم هو حالة لواجهة مستخدم القناة فقط، ولا يتضمن أبدًا محتوى الصفحة المجلوب.

الإعداد

المسار الاحتياطي عبر Firecrawl

إذا فشل استخراج Readability، يمكن لـ web_fetch الرجوع إلى Firecrawl لتجاوز حماية الروبوتات وتحسين الاستخراج:
المفتاح plugins.entries.firecrawl.config.webFetch.apiKey اختياري ويدعم كائنات SecretRef. يُنقل إعداد tools.web.fetch.firecrawl.* القديم تلقائيًا إلى plugins.entries.firecrawl.config.webFetch عبر openclaw doctor --fix.
إذا أعددت SecretRef لمفتاح Firecrawl API وتعذّر حله دون وجود قيمة احتياطية في متغير البيئة FIRECRAWL_API_KEY، يفشل تشغيل Gateway فورًا.
تخضع تجاوزات baseUrl في Firecrawl لقيود صارمة: تستخدم حركة البيانات المستضافة https://api.firecrawl.dev؛ ويجب أن تستهدف التجاوزات ذاتية الاستضافة نقاط نهاية خاصة أو داخلية، ولا يُقبل http:// إلا لتلك الوجهات الخاصة.
سلوك وقت التشغيل الحالي:
  • يحدد tools.web.fetch.provider موفّر الجلب الاحتياطي صراحةً.
  • إذا حُذف provider، يكتشف OpenClaw تلقائيًا أول موفّر جاهز لجلب الويب من بيانات الاعتماد المضبوطة. يمكن لاستدعاءات web_fetch غير المعزولة استخدام Plugins المثبّتة التي تعلن contracts.webFetchProviders وتسجّل موفّرًا مطابقًا في وقت التشغيل. يوفّر Plugin الرسمي لـ Firecrawl هذا المسار الاحتياطي حاليًا.
  • تسمح استدعاءات web_fetch المعزولة بالموفّرين المضمّنين، إضافةً إلى الموفّرين المثبّتين الذين ثبت مصدرهم الرسمي من npm أو ClawHub. يتيح ذلك حاليًا Plugin الرسمي لـ Firecrawl؛ وتظل Plugins الخارجية التابعة لجهات خارجية مستبعدة.
  • إذا عُطّل Readability، تنتقل web_fetch مباشرةً إلى مسار الموفّر الاحتياطي المحدد. وإذا لم يتوفر موفّر، تفشل بصورة مغلقة.

وكيل البيئة الموثوق

إذا كان نشرك يتطلب مرور web_fetch عبر وكيل HTTP(S) صادر موثوق، فاضبط tools.web.fetch.useTrustedEnvProxy: true. في هذا الوضع، يواصل OpenClaw تطبيق فحوص SSRF المعتمدة على اسم المضيف قبل إرسال الطلب، لكنه يسمح للوكيل بحل DNS بدلًا من إجراء تثبيت DNS محلي. فعّل هذا فقط عندما يكون الوكيل تحت تحكم المشغّل ويفرض سياسة الاتصالات الصادرة بعد حل DNS.
إذا لم يُضبط متغير بيئة لوكيل HTTP(S)، أو كان المضيف المستهدف مستبعدًا بواسطة NO_PROXY، تعود web_fetch إلى المسار الصارم العادي مع تثبيت DNS المحلي.

الحدود والسلامة

  • يُقيَّد maxChars وفق tools.web.fetch.maxCharsCap (الافتراضي 20000)
  • يُقيَّد نص الاستجابة عند maxResponseBytes (الافتراضي 750000، ومقيّد بالنطاق 32000-10000000) قبل التحليل؛ وتُقتطع الاستجابات كبيرة الحجم مع تحذير
  • تُحظر أسماء المضيفين الخاصة/الداخلية
  • يُعد tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRange و tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange خيارين ضيقين يتطلبان اشتراكًا صريحًا لحزم وكلاء عناوين IP الوهمية الموثوقة؛ اتركهما دون ضبط ما لم يكن وكيلك يملك تلك النطاقات الاصطناعية ويفرض سياسة الوجهات الخاصة به
  • تُفحص عمليات إعادة التوجيه وتُحد وفق maxRedirects (الافتراضي 3)
  • يُعد useTrustedEnvProxy اشتراكًا صريحًا، وينبغي تفعيله فقط للوكلاء الخاضعين لتحكم المشغّل الذين يواصلون فرض سياسة الاتصالات الصادرة بعد حل DNS
  • تعمل web_fetch وفق أفضل جهد ممكن — تحتاج بعض المواقع إلى متصفح الويب

ملفات تعريف الأدوات

إذا كنت تستخدم ملفات تعريف الأدوات أو قوائم السماح، فأضف web_fetch أو group:web:

موضوعات ذات صلة

  • بحث الويب — البحث في الويب باستخدام عدة موفّرين
  • متصفح الويب — أتمتة كاملة للمتصفح للمواقع التي تعتمد بكثافة على JS
  • Firecrawl — أدوات Firecrawl للبحث والاستخراج