الانتقال إلى المحتوى الرئيسي

الأدوات والإضافات

كل ما يفعله الوكيل خارج توليد النص يحدث عبر الأدوات. الأدوات هي الطريقة التي يقرأ بها الوكيل الملفات، ويشغّل الأوامر، ويتصفح الويب، ويرسل الرسائل، ويتفاعل مع الأجهزة.

الأدوات وSkills وPlugins

لدى OpenClaw ثلاث طبقات تعمل معًا:
1

الأدوات هي ما يستدعيه الوكيل

الأداة هي دالة مكتوبة الأنواع يمكن للوكيل استدعاؤها (مثل exec وbrowser و web_search وmessage). يشحن OpenClaw مجموعة من الأدوات المضمّنة ويمكن لـ plugins تسجيل أدوات إضافية.يرى الوكيل الأدوات بوصفها تعريفات دوال منظَّمة تُرسل إلى API النموذج.
2

Skills تعلّم الوكيل متى وكيف

Skill هو ملف markdown (SKILL.md) يُحقن في system prompt. تمنح Skills الوكيل سياقًا وقيودًا وإرشادًا خطوة بخطوة من أجل استخدام الأدوات بفاعلية. تعيش Skills في مساحة العمل لديك، أو في المجلدات المشتركة، أو تأتي ضمن plugins.مرجع Skills | إنشاء Skills
3

Plugins تحزم كل شيء معًا

plugin هي حزمة يمكنها تسجيل أي مجموعة من القدرات: القنوات، وموفرو النماذج، والأدوات، وSkills، والكلام، والنسخ الفوري، والصوت الفوري، وفهم الوسائط، وإنشاء الصور، وإنشاء الفيديو، وجلب الويب، والبحث في الويب، وغير ذلك. بعض plugins أساسية (تأتي مع OpenClaw)، وبعضها خارجية (ينشرها المجتمع على npm).تثبيت plugins وتهيئتها | ابنِ plugin خاصًا بك

الأدوات المضمّنة

تشحن هذه الأدوات مع OpenClaw وتكون متاحة من دون تثبيت أي plugins:
الأداةما الذي تفعلهالصفحة
exec / processتشغيل أوامر shell، وإدارة العمليات في الخلفيةExec
code_executionتشغيل تحليل Python عن بُعد داخل بيئة معزولةCode Execution
browserالتحكم في متصفح Chromium (التنقل، والنقر، والتقاط لقطات الشاشة)Browser
web_search / x_search / web_fetchالبحث في الويب، والبحث في منشورات X، وجلب محتوى الصفحاتWeb
read / write / editإدخال/إخراج الملفات في مساحة العمل
apply_patchتصحيحات ملفات متعددة المقاطعApply Patch
messageإرسال الرسائل عبر جميع القنواتAgent Send
canvasتشغيل Canvas الخاصة بـ node (عرض، eval، snapshot)
nodesاكتشاف الأجهزة المقترنة واستهدافها
cron / gatewayإدارة المهام المجدولة؛ وفحص البوابة أو ترقيعها أو إعادة تشغيلها أو تحديثها
image / image_generateتحليل الصور أو إنشاؤها
ttsتحويل نص إلى كلام لمرة واحدةTTS
sessions_* / subagents / agents_listإدارة الجلسات، والحالة، وتنسيق الوكلاء الفرعيينSub-agents
session_statusاسترجاع خفيف على نمط /status وتجاوز نموذج الجلسةSession Tools
بالنسبة إلى العمل على الصور، استخدم image للتحليل وimage_generate للإنشاء أو التحرير. إذا كنت تستهدف openai/* أو google/* أو fal/* أو موفر صور غير افتراضي آخر، فقم أولًا بتهيئة المصادقة/مفتاح API الخاص بذلك الموفّر. session_status هي أداة الحالة/الاسترجاع الخفيفة ضمن مجموعة sessions. وهي تجيب عن الأسئلة على نمط /status حول الجلسة الحالية، ويمكنها اختياريًا تعيين تجاوز نموذج لكل جلسة؛ تؤدي model=default إلى مسح ذلك التجاوز. ومثل /status، يمكنها استكمال عدادات الرموز/التخزين المؤقت المتفرقة وعلامة نموذج runtime النشط من أحدث إدخال استخدام في النص. gateway هي أداة runtime خاصة بالمالك لعمليات البوابة:
  • config.schema.lookup لشجرة فرعية واحدة من التكوين ضمن نطاق مسار قبل التعديلات
  • config.get للحصول على لقطة التكوين الحالية + hash
  • config.patch لتحديثات تكوين جزئية مع إعادة التشغيل
  • config.apply فقط لاستبدال التكوين كاملًا
  • update.run لإجراء تحديث ذاتي صريح + إعادة تشغيل
للتغييرات الجزئية، يُفضّل استخدام config.schema.lookup ثم config.patch. استخدم config.apply فقط عندما تكون تنوي عمدًا استبدال التكوين بالكامل. كما ترفض الأداة أيضًا تغيير tools.exec.ask أو tools.exec.security؛ وتُطبَّع الأسماء المستعارة القديمة tools.bash.* إلى مسارات exec المحمية نفسها.

أدوات توفرها plugins

يمكن لـ plugins تسجيل أدوات إضافية. بعض الأمثلة:
  • Lobster — بيئة تشغيل سير عمل مكتوبة الأنواع مع موافقات قابلة للاستئناف
  • LLM Task — خطوة LLM تعمل بـ JSON فقط للحصول على مخرجات منظَّمة
  • Diffs — عارض ومُصيِّر للفروق
  • OpenProse — تنسيق سير عمل يقوم على Markdown أولًا

تهيئة الأدوات

قوائم السماح والمنع

تحكّم في الأدوات التي يمكن للوكيل استدعاؤها عبر tools.allow / tools.deny في التكوين. المنع يتغلب دائمًا على السماح.
{
  tools: {
    allow: ["group:fs", "browser", "web_search"],
    deny: ["exec"],
  },
}

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

يضبط tools.profile قائمة سماح أساسية قبل تطبيق allow/deny. التجاوز لكل وكيل: agents.list[].tools.profile.
ملف التعريفما الذي يتضمنه
fullبلا قيود (مثل عدم تعيينه)
codinggroup:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate
messaginggroup:messaging, sessions_list, sessions_history, sessions_send, session_status
minimalsession_status فقط

مجموعات الأدوات

استخدم صيغ الاختصار group:* في قوائم السماح/المنع:
المجموعةالأدوات
group:runtimeexec, process, code_execution (bash مقبول بوصفه اسمًا مستعارًا لـ exec)
group:fsread, write, edit, apply_patch
group:sessionssessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status
group:memorymemory_search, memory_get
group:webweb_search, x_search, web_fetch
group:uibrowser, canvas
group:automationcron, gateway
group:messagingmessage
group:nodesnodes
group:agentsagents_list
group:mediaimage, image_generate, tts
group:openclawجميع أدوات OpenClaw المضمّنة (باستثناء أدوات plugins)
يعيد sessions_history عرض استرجاع محدودًا ومفلترًا لأغراض السلامة. فهو يزيل وسوم التفكير، وهيكل <relevant-memories>، وحمولات XML النصية العادية لاستدعاءات الأدوات (بما في ذلك <tool_call>...</tool_call>، و<function_call>...</function_call>، و<tool_calls>...</tool_calls>، و<function_calls>...</function_calls>، وكتل استدعاء الأدوات المقتطعة)، وهيكل استدعاء الأدوات المُخفَّض، ورموز التحكم بالنموذج المسرّبة بصيغة ASCII/العرض الكامل، وXML المعطوب الخاص باستدعاءات أدوات MiniMax من نص المساعد، ثم يطبّق الحجب/الاقتطاع وإمكانية وضع عناصر نائبة للأسطر كبيرة الحجم بدلًا من العمل بوصفه تفريغًا خامًا للنص.

القيود الخاصة بالموفر

استخدم tools.byProvider لتقييد الأدوات لموفرين محددين من دون تغيير القيم الافتراضية العامة:
{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
    },
  },
}