# WebSearch

يُنفِّذ بحث ويب حياً ويُعيد نتائج مرتبة يستخدمها المساعد لدعم إجابته بمعلومات حديثة تتجاوز تاريخ تدريب النموذج.

## متى يُستخدم

- الإجابة عن أسئلة حول الأحداث الجارية أو الإصدارات الحديثة أو الأخبار العاجلة.
- البحث عن أحدث إصدار لمكتبة أو إطار عمل أو أداة CLI.
- العثور على توثيق أو منشورات مدونة عندما يكون URL الدقيق غير معروف.
- التحقق من حقيقة قد تكون تغيرت منذ تدريب النموذج.
- اكتشاف عدة وجهات نظر حول موضوع قبل جلب أي صفحة واحدة بـ `WebFetch`.

## المعاملات

- `query` (سلسلة، مطلوب): استعلام البحث. الحد الأدنى للطول حرفان. أدرج السنة الحالية عند السؤال عن المعلومات «الأحدث» أو «الأخيرة» حتى تكون النتائج حديثة.
- `allowed_domains` (مصفوفة سلاسل، اختياري): يقصر النتائج على هذه النطاقات فقط، مثل `["nodejs.org", "developer.mozilla.org"]`. مفيد عندما تثق بمصدر محدد.
- `blocked_domains` (مصفوفة سلاسل، اختياري): يستبعد النتائج من هذه النطاقات. لا تمرر النطاق نفسه لكل من `allowed_domains` و`blocked_domains`.

## أمثلة

### مثال 1: بحث عن إصدار مع السنة الحالية

```
WebSearch(
  query="React 19 stable release date 2026",
  allowed_domains=["react.dev", "github.com"]
)
```

يُعيد الإعلانات الرسمية ويتجنب المواقع المجمِّعة منخفضة الجودة.

### مثال 2: استبعاد مصادر مزعجة

```
WebSearch(
  query="kubernetes ingress-nginx CVE April 2026",
  blocked_domains=["pinterest.com", "medium.com"]
)
```

يُبقي النتائج مركزة على إرشادات الموردين ومتتبعي الأمان.

## ملاحظات

- عند استخدام `WebSearch` في إجابة، يجب إلحاق قسم `Sources:` في نهاية ردك يسرد كل نتيجة مذكورة كرابط Markdown بالصيغة `[Title](URL)`. هذا متطلب صارم وليس اختيارياً.
- `WebSearch` متاح فقط للمستخدمين في الولايات المتحدة. إذا كانت الأداة غير متاحة في منطقتك، فارجع إلى `WebFetch` مقابل URL معروف أو اطلب من المستخدم لصق محتوى ذي صلة.
- ينفذ كل استدعاء البحث في رحلة واحدة — لا يمكنك التدفق أو التصفح. حسِّن الاستعلام إذا كانت مجموعة النتائج الأولى بعيدة عن الهدف.
- تُعيد الأداة مقتطفات وبيانات وصفية، لا محتويات الصفحة الكاملة. لقراءة نتيجة محددة بعمق، تابع بـ `WebFetch` باستخدام URL المُعاد.
- استخدم `allowed_domains` لفرض مصادر موثوقة للأسئلة الأمنية الحساسة مثل CVEs أو الامتثال، و`blocked_domains` لقطع مزارع SEO التي تعكس التوثيق.
- أبقِ الاستعلامات قصيرة ومُوجَّهة بالكلمات الرئيسية. الأسئلة باللغة الطبيعية تعمل لكنها تميل إلى إرجاع إجابات محادثة بدلاً من مصادر أولية.
- لا تخترع URLs بناءً على حدس البحث — شغِّل البحث دائماً واستشهد بما أعادته الأداة فعلاً.
