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

الأدوات وPlugins

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

الأدوات والمهارات و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 تكون core (مرفقة مع 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، وجلب محتوى الصفحاتالويب
read / write / editإدخال/إخراج الملفات في مساحة العمل
apply_patchترقيعات ملفات متعددة المقاطعApply Patch
messageإرسال الرسائل عبر جميع القنواتAgent Send
canvasتشغيل Canvas الخاص بالعقدة ‏(present وeval وsnapshot)
nodesاكتشاف الأجهزة المقترنة واستهدافها
cron / gatewayإدارة الوظائف المجدولة؛ وفحص gateway أو ترقيعها أو إعادة تشغيلها أو تحديثها
image / image_generateتحليل الصور أو توليدهاتوليد الصور
music_generateتوليد مقاطع موسيقيةتوليد الموسيقى
video_generateتوليد الفيديوهاتتوليد الفيديو
ttsتحويل نص إلى كلام لمرة واحدةTTS
sessions_* / subagents / agents_listإدارة الجلسات، والحالة، وتنسيق الوكلاء الفرعيينالوكلاء الفرعيون
session_statusأداة قراءة خفيفة بأسلوب /status وتجاوز نموذج الجلسةأدوات الجلسة
بالنسبة إلى العمل على الصور، استخدم image للتحليل وimage_generate للتوليد أو التحرير. إذا استهدفت openai/* أو google/* أو fal/* أو موفّر صور غير افتراضي آخر، فقم أولًا بإعداد المصادقة/مفتاح API الخاص بذلك الموفّر. بالنسبة إلى العمل على الموسيقى، استخدم music_generate. إذا استهدفت google/* أو minimax/* أو موفّر موسيقى غير افتراضي آخر، فقم أولًا بإعداد المصادقة/مفتاح API الخاص بذلك الموفّر. بالنسبة إلى العمل على الفيديو، استخدم video_generate. إذا استهدفت qwen/* أو موفّر فيديو غير افتراضي آخر، فقم أولًا بإعداد المصادقة/مفتاح API الخاص بذلك الموفّر. بالنسبة إلى توليد الصوت المدفوع بسير العمل، استخدم music_generate عندما تسجّله plugin مثل ComfyUI. وهذا منفصل عن tts، التي هي تحويل النص إلى كلام. session_status هي أداة الحالة/القراءة الخفيفة في مجموعة sessions. فهي تجيب عن الأسئلة بأسلوب /status حول الجلسة الحالية ويمكنها اختياريًا تعيين تجاوز نموذج على مستوى الجلسة؛ أما model=default فيزيل هذا التجاوز. ومثل /status، يمكنها أن تملأ عدادات الرموز/cache الناقصة و تسمية نموذج وقت التشغيل النشط انطلاقًا من أحدث إدخال استخدام في transcript. gateway هي أداة وقت التشغيل الخاصة بالمالك فقط لعمليات gateway:
  • 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 فقط من أجل المخرجات المهيكلة
  • Music Generation — أداة music_generate مشتركة مع موفّرين مدفوعين بسير العمل
  • 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, music_generate, video_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, music_generate, video_generate, tts
group:openclawجميع أدوات OpenClaw المدمجة (باستثناء أدوات plugin)
تعيد sessions_history عرض استدعاء مقيّدًا ومفلترًا لأسباب الأمان. فهي تزيل وسوم التفكير، وهياكل <relevant-memories>، وحمولات XML النصية البسيطة الخاصة باستدعاءات الأدوات (بما في ذلك <tool_call>...</tool_call>, و<function_call>...</function_call>, و<tool_calls>...</tool_calls>, و<function_calls>...</function_calls>, وكتل استدعاءات الأدوات المقتطعة)، وهياكل استدعاءات الأدوات المخفّضة، ورموز التحكم بالنموذج المتسربة بصيغة ASCII/العرض الكامل، وXML استدعاءات الأدوات المشوهة الخاصة بـ MiniMax من نص المساعد، ثم تطبق الإخفاء/الاقتطاع وإمكانية استخدام عناصر نائبة للصفوف كبيرة الحجم بدلًا من العمل كتفريغ transcript خام.

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

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