Tools
بحث الويب
تبحث أداة web_search في الويب باستخدام المزوّد الذي قمت بتكوينه وتعيد
النتائج. تُخزَّن النتائج مؤقتًا حسب الاستعلام لمدة 15 دقيقة (قابلة للتكوين).
يتضمن OpenClaw أيضًا x_search لمنشورات X (المعروف سابقًا باسم Twitter) و
web_fetch لجلب عناوين URL بشكل خفيف. في هذه المرحلة، يبقى web_fetch
محليًا بينما يمكن أن يستخدم web_search و x_search xAI Responses داخليًا.
البدء السريع
Choose a provider
اختر مزوّدًا وأكمل أي إعداد مطلوب. بعض المزوّدين لا يحتاجون إلى مفاتيح، بينما يستخدم آخرون مفاتيح API. راجع صفحات المزوّدين أدناه للتفاصيل.
Configure
openclaw configure --section webيخزّن هذا المزوّد وأي بيانات اعتماد مطلوبة. يمكنك أيضًا ضبط متغير بيئة
(مثل BRAVE_API_KEY) وتجاوز هذه الخطوة للمزوّدين المدعومين بواجهة API.
Use it
يمكن للوكيل الآن استدعاء web_search:
await web_search({ query: "OpenClaw plugin SDK" });لمنشورات X، استخدم:
await x_search({ query: "dinner recipes" });اختيار مزوّد
نتائج منظمة مع مقتطفات. يدعم وضع llm-context وفلاتر البلد/اللغة. تتوفر طبقة مجانية.
إجابات مؤلَّفة بالذكاء الاصطناعي ومستندة إلى مصادر عبر حساب خادم تطبيق Codex الخاص بك.
مزوّد بلا مفتاح. لا حاجة إلى مفتاح API. تكامل غير رسمي قائم على HTML.
بحث عصبي + بالكلمات المفتاحية مع استخراج المحتوى (تمييزات، نص، ملخصات).
نتائج منظمة. يعمل بأفضل صورة مع firecrawl_search و firecrawl_scrape للاستخراج العميق.
إجابات مؤلَّفة بالذكاء الاصطناعي مع اقتباسات عبر إسناد Google Search.
إجابات مؤلَّفة بالذكاء الاصطناعي مع اقتباسات عبر إسناد ويب xAI.
إجابات مؤلَّفة بالذكاء الاصطناعي مع اقتباسات عبر بحث الويب من Moonshot؛ تفشل احتياطيات الدردشة غير المستندة إلى مصادر صراحةً.
نتائج منظمة عبر واجهة API للبحث في MiniMax Token Plan.
بحث عبر مضيف Ollama محلي مسجّل الدخول أو واجهة API المستضافة من Ollama.
واجهة API مدفوعة لـ Parallel Search (PARALLEL_API_KEY)؛ حدود معدلات أعلى وضبط للأهداف.
خيار بلا مفتاح. Search MCP المجاني من Parallel، مع مقتطفات كثيفة محسّنة للنماذج اللغوية الكبيرة وبدون مفتاح API.
نتائج منظمة مع عناصر تحكم في استخراج المحتوى وتصفية النطاقات.
بحث ميتا مستضاف ذاتيًا. لا حاجة إلى مفتاح API. يجمع Google وBing وDuckDuckGo والمزيد.
نتائج منظمة مع عمق البحث، وتصفية الموضوعات، وtavily_extract لاستخراج عناوين URL.
مقارنة المزوّدين
| المزوّد | نمط النتائج | الفلاتر | مفتاح API |
|---|---|---|---|
| Brave | مقتطفات منظمة | البلد، اللغة، الوقت، وضع llm-context |
BRAVE_API_KEY |
| Codex Hosted Search | مؤلَّفة بالذكاء الاصطناعي + عناوين URL للمصادر | النطاقات، حجم السياق، موقع المستخدم | لا يوجد؛ يستخدم تسجيل الدخول إلى Codex/OpenAI |
| DuckDuckGo | مقتطفات منظمة | -- | لا يوجد (بلا مفتاح) |
| Exa | منظمة + مستخرجة | الوضع العصبي/الكلمات المفتاحية، التاريخ، استخراج المحتوى | EXA_API_KEY |
| Firecrawl | مقتطفات منظمة | عبر أداة firecrawl_search |
FIRECRAWL_API_KEY |
| Gemini | مؤلَّفة بالذكاء الاصطناعي + اقتباسات | -- | GEMINI_API_KEY |
| Grok | مؤلَّفة بالذكاء الاصطناعي + اقتباسات | -- | xAI OAuth، أو XAI_API_KEY، أو plugins.entries.xai.config.webSearch.apiKey |
| Kimi | مؤلَّفة بالذكاء الاصطناعي + اقتباسات؛ تفشل عند احتياطيات الدردشة غير المستندة إلى مصادر | -- | KIMI_API_KEY / MOONSHOT_API_KEY |
| MiniMax Search | مقتطفات منظمة | المنطقة (global / cn) |
MINIMAX_CODE_PLAN_KEY / MINIMAX_CODING_API_KEY / MINIMAX_OAUTH_TOKEN |
| Ollama Web Search | مقتطفات منظمة | -- | لا يوجد للمضيفين المحليين المسجّل دخولهم؛ OLLAMA_API_KEY للبحث المباشر عبر https://ollama.com |
| Parallel | مقتطفات كثيفة مرتبة لسياق النماذج اللغوية الكبيرة | -- | PARALLEL_API_KEY (مدفوع) |
| Parallel Search (Free) | مقتطفات كثيفة مرتبة لسياق النماذج اللغوية الكبيرة | -- | لا يوجد (Search MCP مجاني) |
| Perplexity | مقتطفات منظمة | البلد، اللغة، الوقت، النطاقات، حدود المحتوى | PERPLEXITY_API_KEY / OPENROUTER_API_KEY |
| SearXNG | مقتطفات منظمة | الفئات، اللغة | لا يوجد (مستضاف ذاتيًا) |
| Tavily | مقتطفات منظمة | عبر أداة tavily_search |
TAVILY_API_KEY |
الاكتشاف التلقائي
بحث الويب الأصلي في OpenAI
تستخدم نماذج OpenAI Responses المباشرة أداة web_search المستضافة من OpenAI تلقائيًا عند تمكين بحث الويب في OpenClaw وعدم تثبيت مزوّد مُدار. هذا سلوك مملوك للمزوّد في Plugin OpenAI المضمّن ولا ينطبق إلا على حركة واجهة OpenAI API الأصلية، وليس عناوين URL الأساسية للوكلاء المتوافقين مع OpenAI أو مسارات Azure. اضبط tools.web.search.provider على مزوّد آخر مثل brave للإبقاء على أداة web_search المُدارة لنماذج OpenAI، أو اضبط tools.web.search.enabled: false لتعطيل كل من البحث المُدار وبحث OpenAI الأصلي.
بحث الويب الأصلي في Codex
يستخدم وقت تشغيل خادم تطبيق Codex أداة web_search المستضافة من Codex تلقائيًا
عند تمكين بحث الويب وعدم تحديد مزوّد مُدار. البحث المستضاف الأصلي وأداة
web_search الديناميكية المُدارة من OpenClaw متنافيان، لذلك لا يمكن للبحث
المُدار تجاوز قيود النطاق الأصلية. يستخدم OpenClaw الأداة المُدارة عندما يكون
البحث المستضاف غير متاح، أو معطّلًا صراحةً، أو مستبدلًا بمزوّد مُدار محدد.
يبقي OpenClaw امتداد web.run المستقل في Codex معطّلًا لأن حركة خادم التطبيق
في الإنتاج ترفض مساحة الاسم web المعرّفة من المستخدم.
- قم بتكوين البحث الأصلي ضمن
tools.web.search.openaiCodex - اضبط
tools.web.search.provider: "codex"لتوفير Codex Hosted Search بصفته مزوّدweb_searchالمُدار لأي نموذج أصل. يشغّل كل استدعاء دورة مؤقتة محدودة لخادم تطبيق Codex ويفشل إذا لم يصدر Codex عنصرwebSearchمستضافًا. mode: "cached"هو التفضيل الافتراضي، لكن Codex يحلّه إلى وصول خارجي مباشر لدورات خادم التطبيق غير المقيّدة؛ اضبط"live"لطلب الوصول المباشر صراحةً- اضبط
tools.web.search.providerعلى مزوّد مُدار مثلbraveلاستخدامweb_searchالمُدار من OpenClaw بدلًا من ذلك - اضبط
tools.web.search.openaiCodex.enabled: falseلإلغاء الاشتراك في البحث المستضاف من Codex؛ تبقى المزوّدات المُدارة الأخرى متاحة - تقييد سطح الأداة الأصلي في Codex يبقي أيضًا
web_searchالمُدار متاحًا - عند ضبط
allowedDomains، يفشل الرجوع التلقائي المُدار بوضع مغلق إذا لم يكن البحث المستضاف متاحًا حتى لا يمكن تجاوز قائمة السماح الأصلية - عمليات التشغيل المعطلة للأدوات والمقتصرة على النموذج اللغوي الكبير تعطل البحث الأصلي والمُدار معًا
tools.web.search.enabled: falseيعطل البحث المُدار والأصلي معًا
تبدأ تغييرات سياسة بحث Codex الفعالة والمستمرة سلسلة مرتبطة جديدة بحيث لا يمكن لسلسلة خادم تطبيق محمّلة مسبقًا الاحتفاظ بوصول قديم إلى البحث المستضاف. تستخدم القيود المؤقتة لكل دورة سلسلة مؤقتة مقيّدة وتحافظ على الربط الحالي لاستئنافه لاحقًا.
يمكن لحركة OpenAI ChatGPT Responses المباشرة أيضًا استخدام أداة web_search
المستضافة من OpenAI. يبقى هذا المسار المنفصل اختياريًا عبر
tools.web.search.openaiCodex.enabled: true ولا ينطبق إلا على نماذج
openai/* المؤهلة التي تستخدم api: "openai-chatgpt-responses".
{ tools: { web: { search: { enabled: true, // Optional: use Codex Hosted Search from non-Codex parent models too. provider: "codex", openaiCodex: { enabled: true, mode: "cached", allowedDomains: ["example.com"], contextSize: "high", userLocation: { country: "US", city: "New York", timezone: "America/New_York", }, }, }, }, },}بالنسبة إلى أوقات التشغيل والمزوّدين الذين لا يدعمون بحث Codex الأصلي، يمكن لـ Codex
استخدام رجوع web_search المُدار عبر مساحة أسماء الأدوات الديناميكية في OpenClaw.
استخدم مزوّدًا مُدارًا صريحًا عندما تحتاج إلى عناصر التحكم الشبكية الخاصة بمزوّد
OpenClaw بدلًا من البحث المستضاف من Codex.
يؤدي اختيار provider: "codex" إلى تفعيل Plugin codex المضمّن واستخدام قيود
tools.web.search.openaiCodex نفسها الموضّحة أعلاه. صادِق مع خادم تطبيق
Codex أولًا باستخدام openclaw models auth login --provider openai.
يمكن للوكيل الأب استخدام أي نموذج أو وقت تشغيل؛ ولا يعمل عبر Codex إلا عامل
البحث المحدود.
سلامة الشبكة
تستخدم استدعاءات موفّر HTTP web_search المُدارة مسار الجلب المحروس في OpenClaw. بالنسبة
إلى مضيفي API الموثوقين للموفّر، يسمح OpenClaw بإجابات DNS الوهمية fake-IP الخاصة
بـ Surge وClash وsing-box ضمن 198.18.0.0/15 وfc00::/7 فقط لاسم مضيف ذلك الموفّر.
وتظل الوجهات الخاصة الأخرى، وloopback، وlink-local، ووجهات metadata محجوبة.
يُعد Codex Hosted Search الاستثناء: إذ يفوّض عامله المحدود الوصول إلى الشبكة
إلى أداة web_search المستضافة في خادم تطبيق Codex.
لا ينطبق هذا السماح التلقائي على عناوين URL العشوائية في web_fetch. بالنسبة
إلى web_fetch، فعّل tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRange و
tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange صراحةً فقط عندما يكون
الوكيل الموثوق لديك مالكًا لتلك النطاقات الاصطناعية.
إعداد بحث الويب
تكون قوائم الموفّرين في الوثائق وتدفقات الإعداد مرتبة أبجديًا. ويحتفظ الاكتشاف التلقائي بترتيب أسبقية منفصل.
إذا لم يُعيَّن provider، يفحص OpenClaw الموفّرين بهذا الترتيب ويستخدم أول
موفّر جاهز:
الموفّرون المدعومون بـ API أولًا:
- Brave --
BRAVE_API_KEYأوplugins.entries.brave.config.webSearch.apiKey(الترتيب 10) - MiniMax Search --
MINIMAX_CODE_PLAN_KEY/MINIMAX_CODING_API_KEY/MINIMAX_OAUTH_TOKEN/MINIMAX_API_KEYأوplugins.entries.minimax.config.webSearch.apiKey(الترتيب 15) - Gemini --
plugins.entries.google.config.webSearch.apiKey، أوGEMINI_API_KEY، أوmodels.providers.google.apiKey(الترتيب 20) - Grok -- xAI OAuth، أو
XAI_API_KEY، أوplugins.entries.xai.config.webSearch.apiKey(الترتيب 30) - Kimi --
KIMI_API_KEY/MOONSHOT_API_KEYأوplugins.entries.moonshot.config.webSearch.apiKey(الترتيب 40) - Perplexity --
PERPLEXITY_API_KEY/OPENROUTER_API_KEYأوplugins.entries.perplexity.config.webSearch.apiKey(الترتيب 50) - Firecrawl --
FIRECRAWL_API_KEYأوplugins.entries.firecrawl.config.webSearch.apiKey(الترتيب 60) - Exa --
EXA_API_KEYأوplugins.entries.exa.config.webSearch.apiKey؛ يتجاوزplugins.entries.exa.config.webSearch.baseUrlالاختياري نقطة نهاية Exa (الترتيب 65) - Tavily --
TAVILY_API_KEYأوplugins.entries.tavily.config.webSearch.apiKey(الترتيب 70) - Parallel -- Parallel Search API المدفوع عبر
PARALLEL_API_KEYأوplugins.entries.parallel.config.webSearch.apiKey؛ يتجاوزplugins.entries.parallel.config.webSearch.baseUrlالاختياري نقطة النهاية (الترتيب 75)
موفّرو نقاط النهاية المكوّنون بعد ذلك:
- SearXNG --
SEARXNG_BASE_URLأوplugins.entries.searxng.config.webSearch.baseUrl(الترتيب 200)
الموفّرون الذين لا يحتاجون إلى مفتاح مثل Parallel Search (Free) وDuckDuckGo و
Ollama Web Search وCodex Hosted Search لا يتوفرون إلا عندما تختارهم
صراحةً باستخدام tools.web.search.provider أو عبر
openclaw configure --section web. لا يرسل OpenClaw استعلامات web_search
المُدارة إلى موفّر بلا مفتاح لمجرد عدم تكوين موفّر مدعوم بـ API.
نماذج OpenAI Responses هي استثناء: عندما لا يكون tools.web.search.provider
مُعيّنًا، تستخدم بحث الويب الأصلي في OpenAI بدلًا من الموفّرين المُدارين
أعلاه. عيّن tools.web.search.provider إلى parallel-free (أو موفّر آخر)
لتوجيهها عبر المسار المُدار.
التكوين
{ tools: { web: { search: { enabled: true, // default: true provider: "brave", // or omit for auto-detection maxResults: 5, timeoutSeconds: 30, cacheTtlMinutes: 15, }, }, },}يوجد التكوين الخاص بالموفّر (مفاتيح API، وعناوين URL الأساسية، والأوضاع) تحت
plugins.entries.<plugin>.config.webSearch.*. ويمكن لـ Gemini أيضًا إعادة استخدام
models.providers.google.apiKey وmodels.providers.google.baseUrl كخيارات احتياطية
بأولوية أدنى بعد تكوين بحث الويب المخصص له وGEMINI_API_KEY. راجع
صفحات الموفّرين للاطلاع على أمثلة.
يمكن لـ Grok أيضًا إعادة استخدام ملف تعريف مصادقة xAI OAuth من openclaw models auth login --provider xai --method oauth؛ ويبقى تكوين مفتاح API هو الخيار الاحتياطي.
يُتحقق من tools.web.search.provider مقابل معرّفات موفّري بحث الويب
المعلنة في بيانات manifest الخاصة بالـ Plugin المضمّنة والمثبّتة. يؤدي خطأ مطبعي مثل "brvae"
إلى فشل التحقق من التكوين بدلًا من الرجوع بصمت إلى الاكتشاف التلقائي. إذا كان
لموفّر مكوّن دليل Plugin قديم فقط، مثل كتلة
plugins.entries.<plugin> متبقية بعد إلغاء تثبيت Plugin تابع لجهة خارجية،
يحافظ OpenClaw على مرونة بدء التشغيل ويبلّغ عن تحذير حتى تتمكن من إعادة تثبيت
الـ Plugin أو تشغيل openclaw doctor --fix لتنظيف التكوين القديم.
اختيار موفّر web_fetch الاحتياطي منفصل:
- اختره باستخدام
tools.web.fetch.provider - أو احذف ذلك الحقل ودع OpenClaw يكتشف تلقائيًا أول موفّر web-fetch جاهز من بيانات الاعتماد المكوّنة
- يمكن لـ
web_fetchغير المعزول استخدام موفّري Plugin المثبّتين الذين يعلنونcontracts.webFetchProviders؛ وتسمح عمليات الجلب المعزولة بالموفّرين المضمّنين وتثبيتات Plugin الرسمية الموثّقة، لكنها تستبعد Plugins الخارجية التابعة لجهات خارجية - يوفّر Plugin Firecrawl الرسمي خيار web-fetch الاحتياطي، ويُكوَّن تحت
plugins.entries.firecrawl.config.webFetch.*
عندما تختار Kimi أثناء openclaw onboard أو
openclaw configure --section web، يمكن لـ OpenClaw أيضًا أن يطلب:
- منطقة Moonshot API (
https://api.moonshot.ai/v1أوhttps://api.moonshot.cn/v1) - نموذج بحث الويب الافتراضي لـ Kimi (الافتراضي هو
kimi-k2.6)
بالنسبة إلى x_search، كوّن plugins.entries.xai.config.xSearch.*. يستخدم
ملف تعريف مصادقة xAI نفسه المستخدم للدردشة، أو اعتماد XAI_API_KEY / بحث الويب
الخاص بالـ Plugin المستخدم بواسطة بحث الويب في Grok.
يُرحَّل تكوين tools.web.x_search.* القديم تلقائيًا بواسطة openclaw doctor --fix.
عندما تختار Grok أثناء openclaw onboard أو openclaw configure --section web,
يمكن لـ OpenClaw أيضًا أن يعرض إعداد x_search اختياريًا باستخدام الاعتماد نفسه.
هذه خطوة متابعة منفصلة داخل مسار Grok، وليست خيار موفّر بحث ويب مستقلًا على
المستوى الأعلى. إذا اخترت موفّرًا آخر، فلن يعرض OpenClaw مطالبة x_search.
تخزين مفاتيح API
ملف التكوين
شغّل openclaw configure --section web أو عيّن المفتاح مباشرةً:
{ plugins: { entries: { brave: { config: { webSearch: { apiKey: "YOUR_KEY", // pragma: allowlist secret }, }, }, }, },}متغير البيئة
عيّن متغير بيئة الموفّر في بيئة عملية Gateway:
export BRAVE_API_KEY="YOUR_KEY"بالنسبة إلى تثبيت Gateway، ضعه في ~/.openclaw/.env.
راجع متغيرات البيئة.
معاملات الأداة
| المعامل | الوصف |
|---|---|
query |
استعلام البحث (مطلوب) |
count |
النتائج المطلوب إرجاعها (1-10، الافتراضي: 5) |
country |
رمز بلد ISO من حرفين (مثل "US"، "DE") |
language |
رمز لغة ISO 639-1 (مثل "en"، "de") |
search_lang |
رمز لغة البحث (Brave فقط) |
freshness |
مرشح الوقت: day، أو week، أو month، أو year |
date_after |
النتائج بعد هذا التاريخ (YYYY-MM-DD) |
date_before |
النتائج قبل هذا التاريخ (YYYY-MM-DD) |
ui_lang |
رمز لغة واجهة المستخدم (Brave فقط) |
domain_filter |
مصفوفة قائمة السماح/الحظر للنطاقات (Perplexity فقط) |
max_tokens |
إجمالي ميزانية المحتوى، الافتراضي 25000 (Perplexity فقط) |
max_tokens_per_page |
حد الرموز لكل صفحة، الافتراضي 2048 (Perplexity فقط) |
x_search
تستعلم x_search منشورات X (Twitter سابقًا) باستخدام xAI وتُرجع
إجابات مركّبة بالذكاء الاصطناعي مع اقتباسات. تقبل استعلامات باللغة الطبيعية
ومرشحات منظمة اختيارية. لا يفعّل OpenClaw أداة xAI x_search المضمّنة
إلا في الطلب الذي يخدم استدعاء هذه الأداة.
تكوين x_search
{ plugins: { entries: { xai: { config: { xSearch: { enabled: true, model: "grok-4-1-fast-non-reasoning", baseUrl: "https://api.x.ai/v1", // optional, overrides webSearch.baseUrl inlineCitations: false, maxTurns: 2, timeoutSeconds: 30, cacheTtlMinutes: 15, }, webSearch: { apiKey: "xai-...", // optional if an xAI auth profile or XAI_API_KEY is set baseUrl: "https://api.x.ai/v1", // optional shared xAI Responses base URL }, }, }, }, },}تنشر x_search إلى <baseUrl>/responses عندما يكون
plugins.entries.xai.config.xSearch.baseUrl مُعيّنًا. إذا حُذف ذلك الحقل،
فإنها ترجع إلى plugins.entries.xai.config.webSearch.baseUrl، ثم
tools.web.search.grok.baseUrl القديم، وأخيرًا نقطة نهاية xAI العامة.
معاملات x_search
| المعامل | الوصف |
|---|---|
query |
استعلام البحث (مطلوب) |
allowed_x_handles |
حصر النتائج في معرّفات X محددة |
excluded_x_handles |
استبعاد معرّفات X محددة |
from_date |
تضمين المنشورات في هذا التاريخ أو بعده فقط (YYYY-MM-DD) |
to_date |
تضمين المنشورات في هذا التاريخ أو قبله فقط (YYYY-MM-DD) |
enable_image_understanding |
السماح لـ xAI بفحص الصور المرفقة بالمنشورات المطابقة |
enable_video_understanding |
السماح لـ xAI بفحص مقاطع الفيديو المرفقة بالمنشورات المطابقة |
مثال x_search
await x_search({ query: "dinner recipes", allowed_x_handles: ["nytfood"], from_date: "2026-03-01",});// إحصاءات لكل منشور: استخدم عنوان URL الدقيق للحالة أو معرّف الحالة عند الإمكانawait x_search({ query: "https://x.com/huntharo/status/1905678901234567890",});أمثلة
// بحث أساسيawait web_search({ query: "OpenClaw plugin SDK" }); // بحث مخصص لألمانياawait web_search({ query: "TV online schauen", country: "DE", language: "de" }); // نتائج حديثة (الأسبوع الماضي)await web_search({ query: "AI developments", freshness: "week" }); // نطاق زمنيawait web_search({ query: "climate research", date_after: "2024-01-01", date_before: "2024-06-30",}); // ترشيح النطاقات (Perplexity فقط)await web_search({ query: "product reviews", domain_filter: ["-reddit.com", "-pinterest.com"],});ملفات تعريف الأدوات
إذا كنت تستخدم ملفات تعريف الأدوات أو قوائم السماح، فأضف web_search أو x_search أو group:web:
{ tools: { allow: ["web_search", "x_search"], // أو: allow: ["group:web"] (يتضمن web_search وx_search وweb_fetch) },}ذات صلة
- Web Fetch -- جلب عنوان URL واستخراج محتوى قابل للقراءة
- Web Browser -- أتمتة متصفح كاملة للمواقع كثيفة استخدام JS
- Grok Search -- Grok بصفته موفّر
web_search - Ollama Web Search -- بحث ويب دون مفتاح عبر مضيف Ollama لديك