chore(i18n): refresh ar translations
This commit is contained in:
parent
acae8a9962
commit
3260bd0bfa
@ -1,21 +1,21 @@
|
||||
---
|
||||
read_when:
|
||||
- تواجه مشكلات في الاتصال/المصادقة وتريد إصلاحات موجهة
|
||||
- لقد حدّثت وتريد إجراء فحص صحة سريع
|
||||
summary: مرجع CLI لـ `openclaw doctor` (فحوصات الصحة + الإصلاحات الموجّهة)
|
||||
title: أداة التشخيص
|
||||
- تواجه مشكلات في الاتصال/المصادقة وتريد إصلاحات موجَّهة
|
||||
- لقد أجريت تحديثًا وتريد إجراء فحص سريع
|
||||
summary: مرجع CLI لـ `openclaw doctor` (فحوصات السلامة + الإصلاحات الموجّهة)
|
||||
title: التشخيص
|
||||
x-i18n:
|
||||
generated_at: "2026-04-30T07:47:48Z"
|
||||
generated_at: "2026-04-30T20:05:35Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: 9985c84d23861dd9468a4659ee00519573fe6d540c436548da0a68067dbabc4c
|
||||
source_hash: 265d82a10da086cf89687886e491be018a720b70021e0b26bd8f39b25a907e14
|
||||
source_path: cli/doctor.md
|
||||
workflow: 16
|
||||
---
|
||||
|
||||
# `openclaw doctor`
|
||||
|
||||
فحوصات صحة + إصلاحات سريعة للـ Gateway والقنوات.
|
||||
فحوصات السلامة + إصلاحات سريعة لـ Gateway والقنوات.
|
||||
|
||||
ذات صلة:
|
||||
|
||||
@ -39,34 +39,35 @@ openclaw doctor --generate-gateway-token
|
||||
- `--repair`: تطبيق الإصلاحات الموصى بها دون مطالبة
|
||||
- `--fix`: اسم بديل لـ `--repair`
|
||||
- `--force`: تطبيق إصلاحات قوية، بما في ذلك استبدال إعدادات الخدمة المخصصة عند الحاجة
|
||||
- `--non-interactive`: التشغيل دون مطالبات؛ للترحيلات الآمنة فقط
|
||||
- `--non-interactive`: التشغيل دون مطالبات؛ عمليات ترحيل آمنة فقط
|
||||
- `--generate-gateway-token`: إنشاء رمز Gateway وتكوينه
|
||||
- `--deep`: فحص خدمات النظام بحثًا عن تثبيتات Gateway إضافية
|
||||
|
||||
ملاحظات:
|
||||
|
||||
- لا تعمل المطالبات التفاعلية (مثل إصلاحات سلسلة المفاتيح/OAuth) إلا عندما يكون stdin هو TTY ولم يتم ضبط `--non-interactive`. ستتخطى عمليات التشغيل دون واجهة طرفية (cron، Telegram، بلا طرفية) المطالبات.
|
||||
- الأداء: تتخطى عمليات `doctor` غير التفاعلية تحميل Plugin المتلهف كي تبقى فحوصات الصحة دون واجهة طرفية سريعة. لا تزال الجلسات التفاعلية تحمّل Plugins بالكامل عندما يحتاج فحص ما إلى مساهمتها.
|
||||
- يكتب `--fix` (اسم بديل لـ `--repair`) نسخة احتياطية إلى `~/.openclaw/openclaw.json.bak` ويحذف مفاتيح الإعداد غير المعروفة، مع سرد كل عملية إزالة.
|
||||
- تكتشف فحوصات سلامة الحالة الآن ملفات نصوص المحادثات اليتيمة في دليل الجلسات. تتطلب أرشفتها بصيغة `.deleted.<timestamp>` تأكيدًا تفاعليًا؛ أما `--fix` و`--yes` وعمليات التشغيل دون واجهة طرفية فتتركها في مكانها.
|
||||
- يفحص Doctor أيضًا `~/.openclaw/cron/jobs.json` (أو `cron.store`) بحثًا عن أشكال مهام cron القديمة ويمكنه إعادة كتابتها في مكانها قبل أن يضطر المجدول إلى تسويتها تلقائيًا أثناء وقت التشغيل.
|
||||
- يصلح Doctor تبعيات وقت تشغيل Plugin المجمعة المفقودة دون الكتابة داخل التثبيتات العالمية المعلبة. بالنسبة إلى تثبيتات npm المملوكة للجذر أو وحدات systemd المقواة، اضبط `OPENCLAW_PLUGIN_STAGE_DIR` على دليل قابل للكتابة مثل `/var/lib/openclaw/plugin-runtime-deps`؛ ويمكن أن يكون أيضًا قائمة مسارات مثل `/opt/openclaw/plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps`، حيث تكون الجذور السابقة طبقات بحث للقراءة فقط والجذر الأخير هو هدف الإصلاح.
|
||||
- يصلح Doctor إعدادات Plugin القديمة بإزالة معرّفات Plugin المفقودة من `plugins.allow`/`plugins.entries`، بالإضافة إلى إعدادات القناة المتدلية المطابقة، وأهداف Heartbeat، وتجاوزات نماذج القنوات عندما يكون اكتشاف Plugin سليمًا.
|
||||
- يعزل Doctor إعدادات Plugin غير الصالحة بتعطيل إدخال `plugins.entries.<id>` المتأثر وإزالة حمولة `config` غير الصالحة الخاصة به. يتخطى بدء تشغيل Gateway أصلًا ذلك الـ Plugin السيئ فقط كي تتمكن Plugins والقنوات الأخرى من متابعة العمل.
|
||||
- اضبط `OPENCLAW_SERVICE_REPAIR_POLICY=external` عندما يكون مشرف آخر مالكًا لدورة حياة Gateway. لا يزال Doctor يبلّغ عن صحة Gateway/الخدمة ويطبق إصلاحات غير متعلقة بالخدمة، لكنه يتخطى تثبيت/بدء/إعادة تشغيل/تمهيد الخدمة وتنظيف الخدمات القديمة.
|
||||
- على Linux، يتجاهل doctor وحدات systemd الإضافية غير النشطة الشبيهة بالـ Gateway ولا يعيد كتابة بيانات الأمر/نقطة الدخول لخدمة Gateway systemd قيد التشغيل أثناء الإصلاح. أوقف الخدمة أولًا أو استخدم `openclaw gateway install --force` عندما تريد عمدًا استبدال المشغّل النشط.
|
||||
- يرحّل Doctor تلقائيًا إعداد Talk المسطح القديم (`talk.voiceId` و`talk.modelId` وما شابه) إلى `talk.provider` + `talk.providers.<provider>`.
|
||||
- لم تعد عمليات `doctor --fix` المتكررة تبلّغ/تطبق تسوية Talk عندما يكون الاختلاف الوحيد هو ترتيب مفاتيح الكائن.
|
||||
- يتضمن Doctor فحص جاهزية بحث الذاكرة ويمكنه التوصية بـ `openclaw configure --section model` عندما تكون بيانات اعتماد التضمين مفقودة.
|
||||
- يحذر Doctor عند عدم تكوين مالك للأوامر. مالك الأوامر هو حساب المشغل البشري المسموح له بتشغيل الأوامر المخصصة للمالك فقط والموافقة على الإجراءات الخطرة. الاقتران عبر الرسائل الخاصة يسمح فقط لشخص ما بالتحدث إلى البوت؛ إذا وافقت على مرسل قبل وجود تمهيد المالك الأول، فاضبط `commands.ownerAllowFrom` صراحة.
|
||||
- إذا كان وضع صندوق الرمل مفعّلًا لكن Docker غير متاح، يبلّغ doctor عن تحذير عالي الدلالة مع علاج (`install Docker` أو `openclaw config set agents.defaults.sandbox.mode off`).
|
||||
- إذا كانت `gateway.auth.token`/`gateway.auth.password` مُدارة عبر SecretRef وغير متاحة في مسار الأمر الحالي، يبلّغ doctor عن تحذير للقراءة فقط ولا يكتب بيانات اعتماد بديلة بنص صريح.
|
||||
- إذا فشل فحص SecretRef للقناة في مسار إصلاح، يواصل doctor العمل ويبلّغ عن تحذير بدلًا من الخروج مبكرًا.
|
||||
- يتطلب الحل التلقائي لاسم مستخدم Telegram `allowFrom` (`doctor --fix`) رمز Telegram قابلًا للحل في مسار الأمر الحالي. إذا كان فحص الرمز غير متاح، يبلّغ doctor عن تحذير ويتخطى الحل التلقائي في تلك الجولة.
|
||||
- لا تعمل المطالبات التفاعلية (مثل إصلاحات keychain/OAuth) إلا عندما يكون stdin هو TTY و**لم** يتم تعيين `--non-interactive`. ستتخطى عمليات التشغيل بلا واجهة (cron، Telegram، بلا طرفية) المطالبات.
|
||||
- الأداء: تتخطى عمليات تشغيل `doctor` غير التفاعلية التحميل المبكر للـ plugin حتى تظل فحوصات السلامة بلا واجهة سريعة. لا تزال الجلسات التفاعلية تحمّل plugins بالكامل عندما يحتاج الفحص إلى مساهمتها.
|
||||
- يكتب `--fix` (اسم بديل لـ `--repair`) نسخة احتياطية إلى `~/.openclaw/openclaw.json.bak` ويسقط مفاتيح الإعدادات غير المعروفة، مع سرد كل إزالة.
|
||||
- تكتشف فحوصات سلامة الحالة الآن ملفات النصوص اليتيمة في دليل الجلسات. تتطلب أرشفتها بصيغة `.deleted.<timestamp>` تأكيدًا تفاعليًا؛ وتتركها عمليات `--fix` و`--yes` والتشغيل بلا واجهة في مكانها.
|
||||
- يفحص Doctor أيضًا `~/.openclaw/cron/jobs.json` (أو `cron.store`) بحثًا عن أشكال وظائف cron القديمة ويمكنه إعادة كتابتها في مكانها قبل أن يضطر المجدوِل إلى تطبيعها تلقائيًا في وقت التشغيل.
|
||||
- يصلح Doctor تبعيات وقت تشغيل bundled plugin المفقودة دون الكتابة داخل التثبيتات العامة المعبأة. بالنسبة لتثبيتات npm المملوكة للجذر أو وحدات systemd المقواة، عيّن `OPENCLAW_PLUGIN_STAGE_DIR` إلى دليل قابل للكتابة مثل `/var/lib/openclaw/plugin-runtime-deps`؛ ويمكن أن يكون أيضًا قائمة مسارات مثل `/opt/openclaw/plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps`، حيث تكون الجذور السابقة طبقات بحث للقراءة فقط والجذر النهائي هو هدف الإصلاح.
|
||||
- يصلح Doctor إعدادات plugin القديمة بإزالة معرّفات plugin المفقودة من `plugins.allow`/`plugins.entries`، إضافةً إلى إعدادات القنوات المعلّقة المطابقة، وأهداف heartbeat، وتجاوزات نماذج القنوات عندما يكون اكتشاف plugin سليمًا.
|
||||
- يعزل Doctor إعدادات plugin غير الصالحة بتعطيل إدخال `plugins.entries.<id>` المتأثر وإزالة حمولة `config` غير الصالحة منه. يتخطى بدء تشغيل Gateway مسبقًا ذلك الـ plugin السيئ فقط حتى تتمكن plugins والقنوات الأخرى من الاستمرار في العمل.
|
||||
- عيّن `OPENCLAW_SERVICE_REPAIR_POLICY=external` عندما يكون مشرف آخر مالكًا لدورة حياة Gateway. يظل Doctor يبلغ عن سلامة Gateway/الخدمة ويطبق الإصلاحات غير المتعلقة بالخدمة، لكنه يتخطى تثبيت/بدء/إعادة تشغيل/تمهيد الخدمة وتنظيف الخدمة القديمة.
|
||||
- على Linux، يتجاهل doctor وحدات systemd الإضافية الشبيهة بـ Gateway وغير النشطة، ولا يعيد كتابة بيانات تعريف الأمر/نقطة الدخول لخدمة Gateway systemd قيد التشغيل أثناء الإصلاح. أوقف الخدمة أولًا أو استخدم `openclaw gateway install --force` عندما تريد عمدًا استبدال المشغّل النشط.
|
||||
- يرحّل Doctor تلقائيًا إعدادات Talk المسطحة القديمة (`talk.voiceId` و`talk.modelId` وما شابهها) إلى `talk.provider` + `talk.providers.<provider>`.
|
||||
- لم تعد عمليات `doctor --fix` المتكررة تبلغ عن/تطبق تطبيع Talk عندما يكون الاختلاف الوحيد هو ترتيب مفاتيح الكائن.
|
||||
- يتضمن Doctor فحص جاهزية بحث الذاكرة ويمكنه التوصية بـ `openclaw configure --section model` عندما تكون بيانات اعتماد embedding مفقودة.
|
||||
- يحذر Doctor عندما لا يتم تكوين مالك للأوامر. مالك الأوامر هو حساب المشغّل البشري المسموح له بتشغيل الأوامر المخصصة للمالك فقط والموافقة على الإجراءات الخطرة. لا يتيح إقران الرسائل الخاصة إلا لشخص ما التحدث إلى البوت؛ إذا كنت قد وافقت على مرسل قبل وجود تمهيد المالك الأول، فعيّن `commands.ownerAllowFrom` صراحةً.
|
||||
- يحذر Doctor عندما تكون وكلاء وضع Codex مكوّنة وتوجد أصول Codex CLI شخصية في موطن Codex الخاص بالمشغّل. تستخدم عمليات تشغيل خادم تطبيق Codex المحلي مواطن معزولة لكل وكيل، لذا استخدم `openclaw migrate codex --dry-run` لجرد الأصول التي ينبغي ترقيتها عمدًا.
|
||||
- إذا كان وضع sandbox مفعّلًا لكن Docker غير متاح، يبلغ doctor عن تحذير عالي الدلالة مع إجراء معالجة (`install Docker` أو `openclaw config set agents.defaults.sandbox.mode off`).
|
||||
- إذا كانت `gateway.auth.token`/`gateway.auth.password` مُدارة بواسطة SecretRef وغير متاحة في مسار الأمر الحالي، يبلغ doctor عن تحذير للقراءة فقط ولا يكتب بيانات اعتماد احتياطية بنص صريح.
|
||||
- إذا فشل فحص SecretRef للقناة في مسار إصلاح، يواصل doctor العمل ويبلغ عن تحذير بدلًا من الخروج مبكرًا.
|
||||
- يتطلب الحل التلقائي لاسم مستخدم Telegram `allowFrom` (`doctor --fix`) رمز Telegram قابلًا للحل في مسار الأمر الحالي. إذا لم يكن فحص الرمز متاحًا، يبلغ doctor عن تحذير ويتخطى الحل التلقائي لتلك الجولة.
|
||||
|
||||
## macOS: تجاوزات بيئة `launchctl`
|
||||
|
||||
إذا كنت قد شغّلت سابقًا `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (أو `...PASSWORD`)، فستتجاوز تلك القيمة ملف الإعدادات لديك وقد تسبب أخطاء “غير مصرح” مستمرة.
|
||||
إذا شغّلت سابقًا `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (أو `...PASSWORD`)، فإن تلك القيمة تتجاوز ملف إعداداتك وقد تسبب أخطاء “غير مصرح” مستمرة.
|
||||
|
||||
```bash
|
||||
launchctl getenv OPENCLAW_GATEWAY_TOKEN
|
||||
|
||||
@ -1,24 +1,24 @@
|
||||
---
|
||||
read_when:
|
||||
- تريد الترحيل من Hermes أو من نظام وكلاء آخر إلى OpenClaw
|
||||
- تريد الترحيل من Hermes أو نظام وكلاء آخر إلى OpenClaw
|
||||
- أنت تضيف موفّر ترحيل مملوكًا لـ Plugin
|
||||
summary: مرجع CLI لـ `openclaw migrate` (استيراد الحالة من نظام وكيل آخر)
|
||||
title: الترحيل
|
||||
x-i18n:
|
||||
generated_at: "2026-04-30T07:49:14Z"
|
||||
generated_at: "2026-04-30T20:05:29Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: d3db14c16b8f9dcbf86a4f12558cf4e8555aa9a255637034fb804148996a225e
|
||||
source_hash: ffcd9e874bdaa0a5195e712d4fccd7b3d53034cb362c7f7462e9c7df72477b1a
|
||||
source_path: cli/migrate.md
|
||||
workflow: 16
|
||||
---
|
||||
|
||||
# `openclaw migrate`
|
||||
|
||||
استورد الحالة من نظام وكيل آخر عبر موفّر ترحيل مملوك لـ plugin. تغطي الموفّرات المضمّنة [Claude](/ar/install/migrating-claude) و[Hermes](/ar/install/migrating-hermes)؛ ويمكن لـ plugins خارجية تسجيل موفّرات إضافية.
|
||||
استورِد الحالة من نظام وكيل آخر عبر موفّر ترحيل مملوك لـ Plugin. تغطي الموفّرات المضمّنة حالة Codex CLI، و[Claude](/ar/install/migrating-claude)، و[Hermes](/ar/install/migrating-hermes)؛ ويمكن لـ Plugins الجهات الخارجية تسجيل موفّرات إضافية.
|
||||
|
||||
<Tip>
|
||||
للاطلاع على الشروحات الموجّهة للمستخدمين، راجع [الترحيل من Claude](/ar/install/migrating-claude) و[الترحيل من Hermes](/ar/install/migrating-hermes). يسرد [مركز الترحيل](/ar/install/migrating) كل المسارات.
|
||||
للحصول على إرشادات موجهة للمستخدم، راجع [الترحيل من Claude](/ar/install/migrating-claude) و[الترحيل من Hermes](/ar/install/migrating-hermes). يسرد [مركز الترحيل](/ar/install/migrating) جميع المسارات.
|
||||
</Tip>
|
||||
|
||||
## الأوامر
|
||||
@ -26,8 +26,12 @@ x-i18n:
|
||||
```bash
|
||||
openclaw migrate list
|
||||
openclaw migrate claude --dry-run
|
||||
openclaw migrate codex --dry-run
|
||||
openclaw migrate codex --skill gog-vault77-google-workspace
|
||||
openclaw migrate hermes --dry-run
|
||||
openclaw migrate hermes
|
||||
openclaw migrate apply codex --yes --skill gog-vault77-google-workspace
|
||||
openclaw migrate apply codex --yes
|
||||
openclaw migrate apply claude --yes
|
||||
openclaw migrate apply hermes --yes
|
||||
openclaw migrate apply hermes --include-secrets --yes
|
||||
@ -40,13 +44,13 @@ openclaw onboard --import-from hermes --import-source ~/.hermes
|
||||
اسم موفّر ترحيل مسجّل، مثل `hermes`. شغّل `openclaw migrate list` لرؤية الموفّرات المثبّتة.
|
||||
</ParamField>
|
||||
<ParamField path="--dry-run" type="boolean">
|
||||
أنشئ الخطة واخرج من دون تغيير الحالة.
|
||||
ابنِ الخطة واخرج من دون تغيير الحالة.
|
||||
</ParamField>
|
||||
<ParamField path="--from <path>" type="string">
|
||||
تجاوز دليل حالة المصدر. الإعداد الافتراضي لـ Hermes هو `~/.hermes`.
|
||||
تجاوز دليل حالة المصدر. يستخدم Hermes افتراضيًا `~/.hermes`.
|
||||
</ParamField>
|
||||
<ParamField path="--include-secrets" type="boolean">
|
||||
استورد بيانات الاعتماد المدعومة. متوقف افتراضياً.
|
||||
استورِد بيانات الاعتماد المدعومة. متوقف افتراضيًا.
|
||||
</ParamField>
|
||||
<ParamField path="--overwrite" type="boolean">
|
||||
اسمح للتطبيق باستبدال الأهداف الموجودة عندما تبلّغ الخطة عن تعارضات.
|
||||
@ -54,81 +58,121 @@ openclaw onboard --import-from hermes --import-source ~/.hermes
|
||||
<ParamField path="--yes" type="boolean">
|
||||
تخطَّ مطالبة التأكيد. مطلوب في الوضع غير التفاعلي.
|
||||
</ParamField>
|
||||
<ParamField path="--skill <name>" type="string">
|
||||
حدّد عنصر نسخ Skills واحدًا حسب اسم Skills أو معرّف العنصر. كرّر العلامة لترحيل عدة Skills. عند حذفها، تعرض عمليات ترحيل Codex التفاعلية محدد مربعات اختيار، وتحتفظ عمليات الترحيل غير التفاعلية بكل Skills المخطط لها.
|
||||
</ParamField>
|
||||
<ParamField path="--no-backup" type="boolean">
|
||||
تخطَّ النسخ الاحتياطي قبل التطبيق. يتطلب `--force` عند وجود حالة OpenClaw محلية.
|
||||
</ParamField>
|
||||
<ParamField path="--force" type="boolean">
|
||||
مطلوب مع `--no-backup` عندما يرفض التطبيق خلاف ذلك تخطي النسخ الاحتياطي.
|
||||
مطلوب بجانب `--no-backup` عندما يرفض التطبيق تخطي النسخ الاحتياطي خلاف ذلك.
|
||||
</ParamField>
|
||||
<ParamField path="--json" type="boolean">
|
||||
اطبع الخطة أو نتيجة التطبيق بصيغة JSON. مع `--json` ومن دون `--yes`، يطبع التطبيق الخطة ولا يغيّر الحالة.
|
||||
</ParamField>
|
||||
|
||||
## نموذج السلامة
|
||||
## نموذج الأمان
|
||||
|
||||
`openclaw migrate` يعتمد المعاينة أولاً.
|
||||
`openclaw migrate` يعتمد على المعاينة أولًا.
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="المعاينة قبل التطبيق">
|
||||
يعيد الموفّر خطة مفصلة قبل أن يتغير أي شيء، بما في ذلك التعارضات، والعناصر المتخطاة، والعناصر الحساسة. تحجب خطط JSON، ومخرجات التطبيق، وتقارير الترحيل المفاتيح المتداخلة التي تبدو سرية، مثل مفاتيح API، والرموز، وترويسات التفويض، وملفات تعريف الارتباط، وكلمات المرور.
|
||||
يعيد الموفّر خطة مفصلة حسب العناصر قبل أن يتغير أي شيء، بما في ذلك التعارضات والعناصر المتخطاة والعناصر الحساسة. تحجب خطط JSON ومخرجات التطبيق وتقارير الترحيل المفاتيح المتداخلة التي تبدو كأسرار، مثل مفاتيح API والرموز المميزة وترويسات التخويل وملفات تعريف الارتباط وكلمات المرور.
|
||||
|
||||
يعاين `openclaw migrate apply <provider>` الخطة ويطلب التأكيد قبل تغيير الحالة ما لم يتم تعيين `--yes`. في الوضع غير التفاعلي، يتطلب التطبيق `--yes`.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="النسخ الاحتياطية">
|
||||
ينشئ التطبيق نسخة احتياطية من OpenClaw ويتحقق منها قبل تطبيق الترحيل. إذا لم تكن هناك حالة OpenClaw محلية بعد، يتم تخطي خطوة النسخ الاحتياطي ويمكن للترحيل المتابعة. لتخطي نسخة احتياطية عند وجود حالة، مرّر كلاً من `--no-backup` و`--force`.
|
||||
ينشئ التطبيق نسخة احتياطية من OpenClaw ويتحقق منها قبل تطبيق الترحيل. إذا لم تكن هناك حالة OpenClaw محلية بعد، يتم تخطي خطوة النسخ الاحتياطي ويمكن للترحيل المتابعة. لتخطي نسخة احتياطية عند وجود الحالة، مرّر كلًا من `--no-backup` و`--force`.
|
||||
</Accordion>
|
||||
<Accordion title="التعارضات">
|
||||
يرفض التطبيق المتابعة عندما تتضمن الخطة تعارضات. راجع الخطة، ثم أعد التشغيل مع `--overwrite` إذا كان استبدال الأهداف الموجودة مقصوداً. قد تظل الموفّرات تكتب نسخاً احتياطية على مستوى العناصر للملفات المستبدلة في دليل تقرير الترحيل.
|
||||
يرفض التطبيق المتابعة عندما تحتوي الخطة على تعارضات. راجع الخطة، ثم أعد التشغيل مع `--overwrite` إذا كان استبدال الأهداف الموجودة مقصودًا. قد تظل الموفّرات تكتب نسخًا احتياطية على مستوى العناصر للملفات المستبدلة في دليل تقرير الترحيل.
|
||||
</Accordion>
|
||||
<Accordion title="الأسرار">
|
||||
لا يتم استيراد الأسرار افتراضياً مطلقاً. استخدم `--include-secrets` لاستيراد بيانات الاعتماد المدعومة.
|
||||
لا يتم استيراد الأسرار افتراضيًا أبدًا. استخدم `--include-secrets` لاستيراد بيانات الاعتماد المدعومة.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## موفّر Claude
|
||||
|
||||
يكتشف موفّر Claude المضمّن حالة Claude Code في `~/.claude` افتراضياً. استخدم `--from <path>` لاستيراد موطن Claude Code محدد أو جذر مشروع محدد.
|
||||
يكتشف موفّر Claude المضمّن حالة Claude Code في `~/.claude` افتراضيًا. استخدم `--from <path>` لاستيراد مجلد Claude Code الرئيسي أو جذر مشروع محدد.
|
||||
|
||||
<Tip>
|
||||
للاطلاع على شرح موجّه للمستخدمين، راجع [الترحيل من Claude](/ar/install/migrating-claude).
|
||||
للحصول على إرشادات موجهة للمستخدم، راجع [الترحيل من Claude](/ar/install/migrating-claude).
|
||||
</Tip>
|
||||
|
||||
### ما يستورده Claude
|
||||
|
||||
- `CLAUDE.md` الخاص بالمشروع و`.claude/CLAUDE.md` إلى مساحة عمل وكيل OpenClaw.
|
||||
- ملفات `CLAUDE.md` الخاصة بالمشروع و`.claude/CLAUDE.md` إلى مساحة عمل وكيل OpenClaw.
|
||||
- تتم إضافة `~/.claude/CLAUDE.md` الخاص بالمستخدم إلى `USER.md` في مساحة العمل.
|
||||
- تعريفات خادم MCP من `.mcp.json` الخاص بالمشروع، و`~/.claude.json` الخاص بـ Claude Code، و`claude_desktop_config.json` الخاص بـ Claude Desktop.
|
||||
- تعريفات خوادم MCP من `.mcp.json` الخاص بالمشروع، و`~/.claude.json` في Claude Code، و`claude_desktop_config.json` في Claude Desktop.
|
||||
- أدلة Skills الخاصة بـ Claude التي تتضمن `SKILL.md`.
|
||||
- ملفات Markdown الخاصة بأوامر Claude المحوّلة إلى Skills في OpenClaw مع استدعاء يدوي فقط.
|
||||
- ملفات Markdown لأوامر Claude محوّلة إلى Skills في OpenClaw مع الاستدعاء اليدوي فقط.
|
||||
|
||||
### حالة الأرشفة والمراجعة اليدوية
|
||||
|
||||
يتم الاحتفاظ بخطافات Claude، والأذونات، وافتراضيات البيئة، والذاكرة المحلية، والقواعد المقيّدة بالمسار، والوكلاء الفرعيين، وذاكرات التخزين المؤقت، والخطط، وسجل المشروع في تقرير الترحيل أو الإبلاغ عنها كعناصر للمراجعة اليدوية. لا ينفّذ OpenClaw الخطافات، ولا ينسخ قوائم سماح واسعة، ولا يستورد حالة اعتماد OAuth/Desktop تلقائياً.
|
||||
تُحفظ خطافات Claude والأذونات وافتراضيات البيئة والذاكرة المحلية والقواعد المقيدة بالمسار والوكلاء الفرعيون وذاكرات التخزين المؤقت والخطط وسجل المشروع في تقرير الترحيل أو تُبلّغ كعناصر تتطلب مراجعة يدوية. لا ينفّذ OpenClaw الخطافات، ولا ينسخ قوائم سماح واسعة، ولا يستورد حالة بيانات اعتماد OAuth/Desktop تلقائيًا.
|
||||
|
||||
## موفّر Codex
|
||||
|
||||
يكتشف موفّر Codex المضمّن حالة Codex CLI في `~/.codex` افتراضيًا، أو
|
||||
في `CODEX_HOME` عندما يتم تعيين متغير البيئة هذا. استخدم `--from <path>`
|
||||
لجرد مجلد Codex رئيسي محدد.
|
||||
|
||||
استخدم هذا الموفّر عند الانتقال إلى حزمة تشغيل OpenClaw Codex وعندما تريد
|
||||
ترقية أصول Codex CLI الشخصية المفيدة بصورة مقصودة. تستخدم عمليات تشغيل خادم تطبيق Codex المحلي
|
||||
أدلة `CODEX_HOME` و`HOME` خاصة بكل وكيل، لذلك لا تقرأ
|
||||
حالة Codex CLI الشخصية الخاصة بك افتراضيًا.
|
||||
|
||||
تشغيل `openclaw migrate codex` في طرفية تفاعلية يعاين الخطة الكاملة،
|
||||
ثم يفتح محدد مربعات اختيار لعناصر نسخ Skills قبل تأكيد التطبيق النهائي.
|
||||
تبدأ كل Skills محددة؛ ألغِ تحديد أي Skills لا تريد نسخها
|
||||
إلى هذا الوكيل. للتشغيلات النصية أو الدقيقة، مرّر `--skill <name>` مرة
|
||||
لكل Skills، على سبيل المثال:
|
||||
|
||||
```bash
|
||||
openclaw migrate codex --dry-run --skill gog-vault77-google-workspace
|
||||
openclaw migrate apply codex --yes --skill gog-vault77-google-workspace
|
||||
```
|
||||
|
||||
### ما يستورده Codex
|
||||
|
||||
- أدلة Skills الخاصة بـ Codex CLI ضمن `$CODEX_HOME/skills`، مع استثناء ذاكرة التخزين المؤقت
|
||||
`.system` الخاصة بـ Codex.
|
||||
- AgentSkills الشخصية ضمن `$HOME/.agents/skills`، منسوخة إلى مساحة عمل وكيل
|
||||
OpenClaw الحالية عندما تريد ملكية لكل وكيل.
|
||||
|
||||
### حالة Codex التي تتطلب مراجعة يدوية
|
||||
|
||||
لا يتم تفعيل Plugins الأصلية في Codex، و`config.toml`، و`hooks/hooks.json` الأصلية
|
||||
تلقائيًا. قد تكشف Plugins خوادم MCP أو تطبيقات أو خطافات أو سلوكًا تنفيذيًا آخر،
|
||||
لذلك يبلّغ عنها الموفّر للمراجعة بدلًا من تحميلها
|
||||
في OpenClaw. تُنسخ ملفات الإعدادات والخطافات إلى تقرير الترحيل
|
||||
للمراجعة اليدوية.
|
||||
|
||||
## موفّر Hermes
|
||||
|
||||
يكتشف موفّر Hermes المضمّن الحالة في `~/.hermes` افتراضياً. استخدم `--from <path>` عندما يكون Hermes في مكان آخر.
|
||||
يكتشف موفّر Hermes المضمّن الحالة في `~/.hermes` افتراضيًا. استخدم `--from <path>` عندما يكون Hermes في مكان آخر.
|
||||
|
||||
### ما يستورده Hermes
|
||||
|
||||
- إعدادات النموذج الافتراضية من `config.yaml`.
|
||||
- إعداد النموذج الافتراضي من `config.yaml`.
|
||||
- موفّرو النماذج المكوّنون ونقاط النهاية المخصصة المتوافقة مع OpenAI من `providers` و`custom_providers`.
|
||||
- تعريفات خادم MCP من `mcp_servers` أو `mcp.servers`.
|
||||
- تعريفات خوادم MCP من `mcp_servers` أو `mcp.servers`.
|
||||
- `SOUL.md` و`AGENTS.md` إلى مساحة عمل وكيل OpenClaw.
|
||||
- تتم إضافة `memories/MEMORY.md` و`memories/USER.md` إلى ملفات ذاكرة مساحة العمل.
|
||||
- افتراضيات إعدادات الذاكرة لذاكرة ملفات OpenClaw، بالإضافة إلى عناصر أرشفة أو مراجعة يدوية لموفّري الذاكرة الخارجيين مثل Honcho.
|
||||
- افتراضيات إعداد الذاكرة لذاكرة ملفات OpenClaw، بالإضافة إلى عناصر أرشفة أو مراجعة يدوية لموفّري الذاكرة الخارجيين مثل Honcho.
|
||||
- Skills التي تتضمن ملف `SKILL.md` ضمن `skills/<name>/`.
|
||||
- قيم الإعدادات لكل Skill من `skills.config`.
|
||||
- قيم إعداد لكل Skills من `skills.config`.
|
||||
- مفاتيح API المدعومة من `.env`، فقط مع `--include-secrets`.
|
||||
|
||||
### مفاتيح `.env` المدعومة
|
||||
|
||||
`OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `OPENROUTER_API_KEY`, `GOOGLE_API_KEY`, `GEMINI_API_KEY`, `GROQ_API_KEY`, `XAI_API_KEY`, `MISTRAL_API_KEY`, `DEEPSEEK_API_KEY`.
|
||||
|
||||
### حالة للأرشفة فقط
|
||||
### حالة الأرشفة فقط
|
||||
|
||||
يتم نسخ حالة Hermes التي لا يستطيع OpenClaw تفسيرها بأمان إلى تقرير الترحيل للمراجعة اليدوية، لكنها لا تُحمّل في إعدادات OpenClaw الحية أو بيانات اعتماده. يحافظ هذا على الحالة المعتمة أو غير الآمنة من دون الادعاء بأن OpenClaw يمكنه تنفيذها أو الوثوق بها تلقائياً:
|
||||
تُنسخ حالة Hermes التي لا يستطيع OpenClaw تفسيرها بأمان إلى تقرير الترحيل للمراجعة اليدوية، لكنها لا تُحمّل في إعدادات OpenClaw الحية أو بيانات الاعتماد. يحفظ هذا الحالة المعتمة أو غير الآمنة من دون الادعاء بأن OpenClaw يمكنه تنفيذها أو الوثوق بها تلقائيًا:
|
||||
|
||||
- `plugins/`
|
||||
- `sessions/`
|
||||
@ -146,7 +190,7 @@ openclaw doctor
|
||||
|
||||
## عقد Plugin
|
||||
|
||||
مصادر الترحيل هي plugins. يعلن plugin عن معرّفات موفّريه في `openclaw.plugin.json`:
|
||||
مصادر الترحيل هي Plugins. يعلن Plugin عن معرّفات موفّريه في `openclaw.plugin.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -156,22 +200,22 @@ openclaw doctor
|
||||
}
|
||||
```
|
||||
|
||||
في وقت التشغيل، يستدعي plugin الدالة `api.registerMigrationProvider(...)`. ينفّذ الموفّر `detect` و`plan` و`apply`. يمتلك Core تنسيق CLI، وسياسة النسخ الاحتياطي، والمطالبات، ومخرجات JSON، والفحص المسبق للتعارضات. يمرر Core الخطة المُراجعة إلى `apply(ctx, plan)`، وقد يعيد الموفّرون بناء الخطة فقط عندما تكون تلك الوسيطة غائبة لأغراض التوافق.
|
||||
في وقت التشغيل، يستدعي Plugin `api.registerMigrationProvider(...)`. ينفّذ الموفّر `detect` و`plan` و`apply`. يملك Core تنسيق CLI، وسياسة النسخ الاحتياطي، والمطالبات، ومخرجات JSON، والفحص المسبق للتعارضات. يمرّر Core الخطة التي تمت مراجعتها إلى `apply(ctx, plan)`، وقد تعيد الموفّرات بناء الخطة فقط عندما تكون تلك الوسيطة غائبة للتوافق.
|
||||
|
||||
يمكن لـ plugins الموفّرة استخدام `openclaw/plugin-sdk/migration` لإنشاء العناصر وعدّادات الملخص، بالإضافة إلى `openclaw/plugin-sdk/migration-runtime` لنسخ الملفات الواعي بالتعارضات، ونسخ تقارير الأرشفة فقط، ومغلّفات وقت تشغيل الإعدادات المخزنة مؤقتاً، وتقارير الترحيل.
|
||||
يمكن لـ Plugins الموفّر استخدام `openclaw/plugin-sdk/migration` لإنشاء العناصر وعدّادات الملخص، بالإضافة إلى `openclaw/plugin-sdk/migration-runtime` لنسخ الملفات مع مراعاة التعارضات، ونسخ التقارير المخصصة للأرشفة فقط، ومغلفات وقت تشغيل الإعدادات المخزّنة مؤقتًا، وتقارير الترحيل.
|
||||
|
||||
## التكامل مع الإعداد الأولي
|
||||
## تكامل الإعداد الأولي
|
||||
|
||||
يمكن للإعداد الأولي عرض الترحيل عندما يكتشف موفّر مصدراً معروفاً. يستخدم كل من `openclaw onboard --flow import` و`openclaw setup --wizard --import-from hermes` موفّر ترحيل plugin نفسه، ويظلان يعرضان معاينة قبل التطبيق.
|
||||
يمكن للإعداد الأولي عرض الترحيل عندما يكتشف موفّر مصدرًا معروفًا. يستخدم كل من `openclaw onboard --flow import` و`openclaw setup --wizard --import-from hermes` موفّر ترحيل Plugin نفسه، ويظلان يعرضان معاينة قبل التطبيق.
|
||||
|
||||
<Note>
|
||||
تتطلب عمليات استيراد الإعداد الأولي إعداد OpenClaw جديداً. أعد ضبط الإعدادات، وبيانات الاعتماد، والجلسات، ومساحة العمل أولاً إذا كانت لديك حالة محلية بالفعل. عمليات الاستيراد بنسخ احتياطي مع استبدال أو دمج محكومة ببوابة ميزات للإعدادات الموجودة.
|
||||
تتطلب عمليات استيراد الإعداد الأولي إعداد OpenClaw جديدًا. أعد ضبط الإعدادات وبيانات الاعتماد والجلسات ومساحة العمل أولًا إذا كانت لديك حالة محلية بالفعل. عمليات الاستيراد بنسخة احتياطية مع استبدال أو الدمج مقيدة بميزة للإعدادات الموجودة.
|
||||
</Note>
|
||||
|
||||
## ذات صلة
|
||||
|
||||
- [الترحيل من Hermes](/ar/install/migrating-hermes): شرح موجّه للمستخدمين.
|
||||
- [الترحيل من Claude](/ar/install/migrating-claude): شرح موجّه للمستخدمين.
|
||||
- [الترحيل](/ar/install/migrating): نقل OpenClaw إلى جهاز جديد.
|
||||
- [الترحيل من Hermes](/ar/install/migrating-hermes): إرشادات موجهة للمستخدم.
|
||||
- [الترحيل من Claude](/ar/install/migrating-claude): إرشادات موجهة للمستخدم.
|
||||
- [الترحيل](/ar/install/migrating): انقل OpenClaw إلى جهاز جديد.
|
||||
- [Doctor](/ar/gateway/doctor): فحص السلامة بعد تطبيق ترحيل.
|
||||
- [Plugins](/ar/tools/plugin): تثبيت plugin وتسجيله.
|
||||
- [Plugins](/ar/tools/plugin): تثبيت Plugin وتسجيله.
|
||||
|
||||
@ -1,34 +1,34 @@
|
||||
---
|
||||
read_when:
|
||||
- تحتاج إلى شرح مساحة عمل الوكيل أو بنية ملفاته
|
||||
- تريد نسخ مساحة عمل الوكيل احتياطيًا أو ترحيلها
|
||||
- تحتاج إلى شرح مساحة عمل الوكيل أو بنية ملفاتها
|
||||
- تريد إنشاء نسخة احتياطية من مساحة عمل وكيل أو ترحيلها
|
||||
sidebarTitle: Agent workspace
|
||||
summary: 'مساحة عمل الوكيل: الموقع، والبنية، واستراتيجية النسخ الاحتياطي'
|
||||
summary: 'مساحة عمل الوكيل: الموقع والتخطيط واستراتيجية النسخ الاحتياطي'
|
||||
title: مساحة عمل الوكيل
|
||||
x-i18n:
|
||||
generated_at: "2026-04-26T11:27:06Z"
|
||||
model: gpt-5.4
|
||||
generated_at: "2026-04-30T20:05:32Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: 35d59d1f0dec05db30f9166a43bfa519d7299b08d093bbeb905d8f83e5cd022a
|
||||
source_hash: b1ccf74cbec3ff20f4c1c1ce52f099a7ca3365b2536b0aad6ff1d3a5fafcca0a
|
||||
source_path: concepts/agent-workspace.md
|
||||
workflow: 15
|
||||
workflow: 16
|
||||
---
|
||||
|
||||
مساحة العمل هي موطن الوكيل. وهي دليل العمل الوحيد المستخدم لأدوات الملفات ولسياق مساحة العمل. احتفظ بها خاصة وتعامل معها على أنها ذاكرة.
|
||||
مساحة العمل هي موطن الوكيل. وهي دليل العمل الوحيد المستخدم لأدوات الملفات وسياق مساحة العمل. أبقها خاصة وتعامل معها كذاكرة.
|
||||
|
||||
وهذا منفصل عن `~/.openclaw/`، الذي يخزن الإعدادات، وبيانات الاعتماد، والجلسات.
|
||||
هذا منفصل عن `~/.openclaw/`، الذي يخزن الإعدادات وبيانات الاعتماد والجلسات.
|
||||
|
||||
<Warning>
|
||||
مساحة العمل هي **cwd الافتراضي**، وليست صندوق حماية صارمًا. تحل الأدوات المسارات النسبية اعتمادًا على مساحة العمل، لكن المسارات المطلقة يمكنها مع ذلك الوصول إلى أماكن أخرى على المضيف ما لم يتم تفعيل sandboxing. إذا كنت تحتاج إلى عزل، فاستخدم [`agents.defaults.sandbox`](/ar/gateway/sandboxing) (و/أو إعداد sandbox لكل وكيل).
|
||||
مساحة العمل هي **دليل العمل الحالي الافتراضي**، وليست صندوق عزل صارمًا. تحل الأدوات المسارات النسبية نسبةً إلى مساحة العمل، لكن المسارات المطلقة لا تزال قادرة على الوصول إلى أماكن أخرى على المضيف ما لم يكن العزل مفعّلًا. إذا كنت تحتاج إلى العزل، فاستخدم [`agents.defaults.sandbox`](/ar/gateway/sandboxing) (و/أو إعدادات العزل لكل وكيل).
|
||||
|
||||
عند تفعيل sandboxing وعندما لا تكون قيمة `workspaceAccess` هي `"rw"`، تعمل الأدوات داخل مساحة عمل sandbox ضمن `~/.openclaw/sandboxes`، وليس ضمن مساحة العمل على المضيف.
|
||||
عند تفعيل العزل وعدم كون `workspaceAccess` بقيمة `"rw"`، تعمل الأدوات داخل مساحة عمل معزولة تحت `~/.openclaw/sandboxes`، وليس داخل مساحة عمل المضيف لديك.
|
||||
</Warning>
|
||||
|
||||
## الموقع الافتراضي
|
||||
|
||||
- الافتراضي: `~/.openclaw/workspace`
|
||||
- إذا كانت `OPENCLAW_PROFILE` مضبوطة وليست `"default"`، يصبح الافتراضي `~/.openclaw/workspace-<profile>`.
|
||||
- يمكنك التجاوز في `~/.openclaw/openclaw.json`:
|
||||
- إذا كان `OPENCLAW_PROFILE` مضبوطًا وليس `"default"`، يصبح الافتراضي `~/.openclaw/workspace-<profile>`.
|
||||
- التجاوز في `~/.openclaw/openclaw.json`:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -40,26 +40,26 @@ x-i18n:
|
||||
}
|
||||
```
|
||||
|
||||
سيقوم `openclaw onboard` أو `openclaw configure` أو `openclaw setup` بإنشاء مساحة العمل وملء ملفات التهيئة الأولية إذا كانت مفقودة.
|
||||
سينشئ `openclaw onboard` أو `openclaw configure` أو `openclaw setup` مساحة العمل ويزرع ملفات التمهيد إذا كانت مفقودة.
|
||||
|
||||
<Note>
|
||||
تقبل عمليات نسخ البذور الخاصة بـ sandbox فقط الملفات العادية داخل مساحة العمل؛ ويتم تجاهل الأسماء المستعارة من نوع symlink/hardlink التي تُحل إلى خارج مساحة العمل المصدر.
|
||||
لا تقبل نُسخ بذور العزل إلا الملفات العادية داخل مساحة العمل؛ ويتم تجاهل الأسماء البديلة عبر الروابط الرمزية/الروابط الصلبة التي تُحل إلى خارج مساحة العمل المصدر.
|
||||
</Note>
|
||||
|
||||
إذا كنت تدير ملفات مساحة العمل بنفسك بالفعل، يمكنك تعطيل إنشاء ملفات التهيئة الأولية:
|
||||
إذا كنت تدير ملفات مساحة العمل بنفسك بالفعل، يمكنك تعطيل إنشاء ملفات التمهيد:
|
||||
|
||||
```json5
|
||||
{ agents: { defaults: { skipBootstrap: true } } }
|
||||
```
|
||||
|
||||
## مجلدات مساحة العمل الإضافية
|
||||
## مجلدات مساحة عمل إضافية
|
||||
|
||||
قد تكون عمليات التثبيت الأقدم قد أنشأت `~/openclaw`. وقد يؤدي الاحتفاظ بعدة أدلة لمساحة العمل إلى انجراف مربك في المصادقة أو الحالة، لأن مساحة عمل واحدة فقط تكون نشطة في كل مرة.
|
||||
ربما أنشأت التثبيتات الأقدم `~/openclaw`. قد يؤدي إبقاء عدة أدلة لمساحة العمل إلى التباس في المصادقة أو انحراف في الحالة، لأن مساحة عمل واحدة فقط تكون نشطة في كل مرة.
|
||||
|
||||
<Note>
|
||||
**التوصية:** احتفظ بمساحة عمل نشطة واحدة. إذا لم تعد تستخدم المجلدات الإضافية، فأرشفها أو انقلها إلى سلة المهملات (مثل `trash ~/openclaw`). وإذا كنت تحتفظ عمدًا بعدة مساحات عمل، فتأكد من أن `agents.defaults.workspace` يشير إلى المساحة النشطة.
|
||||
**التوصية:** احتفظ بمساحة عمل نشطة واحدة. إذا لم تعد تستخدم المجلدات الإضافية، فأرشفها أو انقلها إلى سلة المهملات (مثلًا `trash ~/openclaw`). إذا كنت تحتفظ عمدًا بعدة مساحات عمل، فتأكد من أن `agents.defaults.workspace` يشير إلى المساحة النشطة.
|
||||
|
||||
يحذّر `openclaw doctor` عندما يكتشف أدلة إضافية لمساحة العمل.
|
||||
يحذر `openclaw doctor` عندما يكتشف أدلة مساحة عمل إضافية.
|
||||
</Note>
|
||||
|
||||
## خريطة ملفات مساحة العمل
|
||||
@ -68,68 +68,69 @@ x-i18n:
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="AGENTS.md — تعليمات التشغيل">
|
||||
تعليمات التشغيل الخاصة بالوكيل وكيفية استخدامه للذاكرة. تُحمَّل في بداية كل جلسة. وهو مكان جيد للقواعد، والأولويات، وتفاصيل "كيفية التصرف".
|
||||
تعليمات تشغيل الوكيل وكيف ينبغي له استخدام الذاكرة. تُحمّل عند بدء كل جلسة. مكان مناسب للقواعد والأولويات وتفاصيل "كيفية التصرف".
|
||||
</Accordion>
|
||||
<Accordion title="SOUL.md — الشخصية والنبرة">
|
||||
الشخصية، والنبرة، والحدود. يُحمَّل في كل جلسة. الدليل: [دليل شخصية SOUL.md](/ar/concepts/soul).
|
||||
الشخصية والنبرة والحدود. تُحمّل في كل جلسة. الدليل: [دليل شخصية SOUL.md](/ar/concepts/soul).
|
||||
</Accordion>
|
||||
<Accordion title="USER.md — من هو المستخدم">
|
||||
من هو المستخدم وكيفية مخاطبته. يُحمَّل في كل جلسة.
|
||||
من هو المستخدم وكيفية مخاطبته. يُحمّل في كل جلسة.
|
||||
</Accordion>
|
||||
<Accordion title="IDENTITY.md — الاسم، والطابع، والإيموجي">
|
||||
اسم الوكيل، وطابعه، والإيموجي الخاص به. يتم إنشاؤه/تحديثه أثناء طقس التهيئة الأولية.
|
||||
<Accordion title="IDENTITY.md — الاسم والطابع والرمز التعبيري">
|
||||
اسم الوكيل وطابعه ورمزه التعبيري. يُنشأ/يُحدّث أثناء طقس التمهيد.
|
||||
</Accordion>
|
||||
<Accordion title="TOOLS.md — اصطلاحات الأدوات المحلية">
|
||||
ملاحظات حول أدواتك المحلية والاصطلاحات. لا تتحكم في إتاحة الأدوات؛ فهي مجرد إرشادات.
|
||||
<Accordion title="TOOLS.md — أعراف الأدوات المحلية">
|
||||
ملاحظات حول أدواتك المحلية وأعرافها. لا تتحكم في إتاحة الأدوات؛ إنها إرشادات فقط.
|
||||
</Accordion>
|
||||
<Accordion title="HEARTBEAT.md — قائمة التحقق لـ Heartbeat">
|
||||
قائمة تحقق صغيرة اختيارية لتشغيلات Heartbeat. اجعلها قصيرة لتجنب استهلاك tokens.
|
||||
<Accordion title="HEARTBEAT.md — قائمة تحقق Heartbeat">
|
||||
قائمة تحقق صغيرة اختيارية لتشغيلات Heartbeat. اجعلها قصيرة لتجنب استهلاك الرموز.
|
||||
</Accordion>
|
||||
<Accordion title="BOOT.md — قائمة التحقق عند بدء التشغيل">
|
||||
قائمة تحقق اختيارية عند بدء التشغيل تُشغَّل تلقائيًا عند إعادة تشغيل gateway (عند تفعيل [الخطافات الداخلية](/ar/automation/hooks)). اجعلها قصيرة؛ واستخدم أداة message للإرسالات الصادرة.
|
||||
<Accordion title="BOOT.md — قائمة تحقق بدء التشغيل">
|
||||
قائمة تحقق اختيارية لبدء التشغيل تُشغّل تلقائيًا عند إعادة تشغيل Gateway (عند تفعيل [الخطافات الداخلية](/ar/automation/hooks)). اجعلها قصيرة؛ استخدم أداة الرسائل للإرسالات الصادرة.
|
||||
</Accordion>
|
||||
<Accordion title="BOOTSTRAP.md — طقس التشغيل الأول">
|
||||
طقس لمرة واحدة عند التشغيل الأول. لا يُنشأ إلا لمساحة عمل جديدة تمامًا. احذفه بعد اكتمال الطقس.
|
||||
طقس تشغيل أول لمرة واحدة. يُنشأ فقط لمساحة عمل جديدة تمامًا. احذفه بعد اكتمال الطقس.
|
||||
</Accordion>
|
||||
<Accordion title="memory/YYYY-MM-DD.md — سجل الذاكرة اليومي">
|
||||
سجل ذاكرة يومي (ملف واحد لكل يوم). يُنصح بقراءة ملف اليوم + الأمس عند بداية الجلسة.
|
||||
سجل ذاكرة يومي (ملف واحد لكل يوم). يُوصى بقراءة اليوم + أمس عند بدء الجلسة.
|
||||
</Accordion>
|
||||
<Accordion title="MEMORY.md — ذاكرة طويلة الأمد منسّقة (اختياري)">
|
||||
ذاكرة طويلة الأمد منسّقة. لا تُحمَّل إلا في الجلسة الرئيسية الخاصة (وليس في السياقات المشتركة/الجماعية). راجع [الذاكرة](/ar/concepts/memory) لسير العمل وتفريغ الذاكرة التلقائي.
|
||||
<Accordion title="MEMORY.md — ذاكرة طويلة الأمد منتقاة (اختياري)">
|
||||
ذاكرة طويلة الأمد منتقاة. لا تُحمّل إلا في الجلسة الرئيسية الخاصة (وليس في سياقات مشتركة/جماعية). راجع [الذاكرة](/ar/concepts/memory) لمعرفة سير العمل وتفريغ الذاكرة التلقائي.
|
||||
</Accordion>
|
||||
<Accordion title="skills/ — Skills مساحة العمل (اختياري)">
|
||||
Skills خاصة بمساحة العمل. وهي موقع Skills الأعلى أولوية لتلك المساحة. وتتجاوز Skills وكيل المشروع، وSkills الوكيل الشخصي، وSkills المُدارة، وSkills المضمّنة، و`skills.load.extraDirs` عند تعارض الأسماء.
|
||||
Skills خاصة بمساحة العمل. أعلى موقع أولوية للـ Skills في تلك المساحة. تتجاوز Skills وكيل المشروع، وSkills الوكيل الشخصية، وSkills المُدارة، وSkills المضمنة، و`skills.load.extraDirs` عند تعارض الأسماء.
|
||||
</Accordion>
|
||||
<Accordion title="canvas/ — ملفات واجهة Canvas (اختياري)">
|
||||
ملفات واجهة Canvas لعرض العقد (مثل `canvas/index.html`).
|
||||
ملفات واجهة Canvas لعروض العقد (مثل `canvas/index.html`).
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
<Note>
|
||||
إذا كان أي ملف من ملفات التهيئة الأولية مفقودًا، يحقن OpenClaw علامة "ملف مفقود" في الجلسة ويتابع. وتُقتطع ملفات التهيئة الأولية الكبيرة عند حقنها؛ عدّل الحدود عبر `agents.defaults.bootstrapMaxChars` (الافتراضي: 12000) و`agents.defaults.bootstrapTotalMaxChars` (الافتراضي: 60000). ويمكن لـ `openclaw setup` إعادة إنشاء القيم الافتراضية المفقودة من دون الكتابة فوق الملفات الموجودة.
|
||||
إذا كان أي ملف تمهيد مفقودًا، يحقن OpenClaw علامة "ملف مفقود" في الجلسة ويواصل. تُقتطع ملفات التمهيد الكبيرة عند حقنها؛ اضبط الحدود باستخدام `agents.defaults.bootstrapMaxChars` (الافتراضي: 12000) و`agents.defaults.bootstrapTotalMaxChars` (الافتراضي: 60000). يستطيع `openclaw setup` إعادة إنشاء الافتراضيات المفقودة دون الكتابة فوق الملفات الموجودة.
|
||||
</Note>
|
||||
|
||||
## ما الذي لا يوجد في مساحة العمل
|
||||
## ما ليس موجودًا في مساحة العمل
|
||||
|
||||
توجد هذه العناصر تحت `~/.openclaw/` ويجب **ألا** تُدرج في مستودع مساحة العمل:
|
||||
توجد هذه تحت `~/.openclaw/` ويجب ألا تُلتزم إلى مستودع مساحة العمل:
|
||||
|
||||
- `~/.openclaw/openclaw.json` (الإعدادات)
|
||||
- `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (ملفات تعريف مصادقة model: OAuth + API keys)
|
||||
- `~/.openclaw/credentials/` (حالة القناة/provider بالإضافة إلى بيانات استيراد OAuth القديمة)
|
||||
- `~/.openclaw/agents/<agentId>/agent/auth-profiles.json` (ملفات تعريف مصادقة النماذج: OAuth + مفاتيح API)
|
||||
- `~/.openclaw/agents/<agentId>/agent/codex-home/` (حساب تشغيل Codex لكل وكيل، والإعدادات، وSkills، وplugins، وحالة السلاسل الأصلية)
|
||||
- `~/.openclaw/credentials/` (حالة القناة/المزوّد بالإضافة إلى بيانات استيراد OAuth القديمة)
|
||||
- `~/.openclaw/agents/<agentId>/sessions/` (نصوص الجلسات + البيانات الوصفية)
|
||||
- `~/.openclaw/skills/` (Skills المُدارة)
|
||||
- `~/.openclaw/skills/` (Skills مُدارة)
|
||||
|
||||
إذا كنت بحاجة إلى ترحيل الجلسات أو الإعدادات، فانسخها بشكل منفصل وأبقها خارج التحكم في الإصدارات.
|
||||
إذا كنت تحتاج إلى ترحيل الجلسات أو الإعدادات، فانسخها بشكل منفصل وأبقها خارج التحكم في الإصدارات.
|
||||
|
||||
## النسخ الاحتياطي عبر Git (موصى به، خاص)
|
||||
## نسخ احتياطي عبر Git (موصى به، خاص)
|
||||
|
||||
تعامل مع مساحة العمل على أنها ذاكرة خاصة. ضعها في مستودع git **خاص** حتى تكون منسوخة احتياطيًا وقابلة للاستعادة.
|
||||
تعامل مع مساحة العمل كذاكرة خاصة. ضعها في مستودع git **خاص** لكي تكون منسوخة احتياطيًا وقابلة للاستعادة.
|
||||
|
||||
نفّذ هذه الخطوات على الجهاز الذي يعمل عليه Gateway (فهناك توجد مساحة العمل).
|
||||
شغّل هذه الخطوات على الجهاز الذي يعمل عليه Gateway (وهو مكان وجود مساحة العمل).
|
||||
|
||||
<Steps>
|
||||
<Step title="تهيئة المستودع">
|
||||
إذا كان git مثبتًا، تتم تهيئة مساحات العمل الجديدة تلقائيًا. وإذا لم تكن مساحة العمل هذه مستودعًا بالفعل، فشغّل:
|
||||
إذا كان git مثبتًا، تُهيّأ مساحات العمل الجديدة تمامًا تلقائيًا. إذا لم تكن مساحة العمل هذه مستودعًا بالفعل، فشغّل:
|
||||
|
||||
```bash
|
||||
cd ~/.openclaw/workspace
|
||||
@ -139,13 +140,13 @@ x-i18n:
|
||||
```
|
||||
|
||||
</Step>
|
||||
<Step title="أضف remote خاصًا">
|
||||
<Step title="إضافة مستودع بعيد خاص">
|
||||
<Tabs>
|
||||
<Tab title="واجهة GitHub web">
|
||||
1. أنشئ مستودعًا جديدًا **خاصًا** على GitHub.
|
||||
<Tab title="واجهة GitHub على الويب">
|
||||
1. أنشئ مستودعًا **خاصًا** جديدًا على GitHub.
|
||||
2. لا تهيئه بملف README (لتجنب تعارضات الدمج).
|
||||
3. انسخ عنوان URL الخاص بـ HTTPS remote.
|
||||
4. أضف الـ remote وادفع:
|
||||
3. انسخ عنوان URL البعيد بصيغة HTTPS.
|
||||
4. أضف المستودع البعيد وادفع:
|
||||
|
||||
```bash
|
||||
git branch -M main
|
||||
@ -159,11 +160,11 @@ x-i18n:
|
||||
gh repo create openclaw-workspace --private --source . --remote origin --push
|
||||
```
|
||||
</Tab>
|
||||
<Tab title="واجهة GitLab web">
|
||||
1. أنشئ مستودعًا جديدًا **خاصًا** على GitLab.
|
||||
<Tab title="واجهة GitLab على الويب">
|
||||
1. أنشئ مستودعًا **خاصًا** جديدًا على GitLab.
|
||||
2. لا تهيئه بملف README (لتجنب تعارضات الدمج).
|
||||
3. انسخ عنوان URL الخاص بـ HTTPS remote.
|
||||
4. أضف الـ remote وادفع:
|
||||
3. انسخ عنوان URL البعيد بصيغة HTTPS.
|
||||
4. أضف المستودع البعيد وادفع:
|
||||
|
||||
```bash
|
||||
git branch -M main
|
||||
@ -184,19 +185,19 @@ x-i18n:
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## لا تُدرج الأسرار في commit
|
||||
## لا تلتزم الأسرار
|
||||
|
||||
<Warning>
|
||||
حتى في مستودع خاص، تجنب تخزين الأسرار في مساحة العمل:
|
||||
|
||||
- API keys أو OAuth tokens أو كلمات المرور أو بيانات الاعتماد الخاصة.
|
||||
- مفاتيح API أو رموز OAuth أو كلمات المرور أو بيانات الاعتماد الخاصة.
|
||||
- أي شيء تحت `~/.openclaw/`.
|
||||
- التفريغات الخام للمحادثات أو المرفقات الحساسة.
|
||||
|
||||
إذا كان لا بد من تخزين مراجع حساسة، فاستخدم عناصر نائبة واحتفظ بالسر الحقيقي في مكان آخر (مدير كلمات المرور، أو متغيرات البيئة، أو `~/.openclaw/`).
|
||||
إذا كان لا بد من تخزين مراجع حساسة، فاستخدم عناصر نائبة واحتفظ بالسر الحقيقي في مكان آخر (مدير كلمات المرور أو متغيرات البيئة أو `~/.openclaw/`).
|
||||
</Warning>
|
||||
|
||||
بداية مقترحة لملف `.gitignore`:
|
||||
بادئ `.gitignore` مقترح:
|
||||
|
||||
```gitignore
|
||||
.DS_Store
|
||||
@ -209,28 +210,28 @@ x-i18n:
|
||||
## نقل مساحة العمل إلى جهاز جديد
|
||||
|
||||
<Steps>
|
||||
<Step title="استنسخ المستودع">
|
||||
<Step title="استنساخ المستودع">
|
||||
استنسخ المستودع إلى المسار المطلوب (الافتراضي `~/.openclaw/workspace`).
|
||||
</Step>
|
||||
<Step title="حدّث الإعدادات">
|
||||
<Step title="تحديث الإعدادات">
|
||||
اضبط `agents.defaults.workspace` على ذلك المسار في `~/.openclaw/openclaw.json`.
|
||||
</Step>
|
||||
<Step title="املأ الملفات المفقودة">
|
||||
شغّل `openclaw setup --workspace <path>` لملء أي ملفات مفقودة.
|
||||
<Step title="زرع الملفات المفقودة">
|
||||
شغّل `openclaw setup --workspace <path>` لزرع أي ملفات مفقودة.
|
||||
</Step>
|
||||
<Step title="انسخ الجلسات (اختياري)">
|
||||
<Step title="نسخ الجلسات (اختياري)">
|
||||
إذا كنت تحتاج إلى الجلسات، فانسخ `~/.openclaw/agents/<agentId>/sessions/` من الجهاز القديم بشكل منفصل.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## ملاحظات متقدمة
|
||||
|
||||
- يمكن أن يستخدم التوجيه متعدد الوكلاء مساحات عمل مختلفة لكل وكيل. راجع [توجيه القنوات](/ar/channels/channel-routing) لإعدادات التوجيه.
|
||||
- إذا كان `agents.defaults.sandbox` مفعّلًا، فقد تستخدم الجلسات غير الرئيسية مساحات عمل sandbox لكل جلسة تحت `agents.defaults.sandbox.workspaceRoot`.
|
||||
- يمكن لتوجيه عدة وكلاء استخدام مساحات عمل مختلفة لكل وكيل. راجع [توجيه القنوات](/ar/channels/channel-routing) لمعرفة إعدادات التوجيه.
|
||||
- إذا كان `agents.defaults.sandbox` مفعّلًا، يمكن للجلسات غير الرئيسية استخدام مساحات عمل عزل لكل جلسة تحت `agents.defaults.sandbox.workspaceRoot`.
|
||||
|
||||
## ذو صلة
|
||||
## ذات صلة
|
||||
|
||||
- [Heartbeat](/ar/gateway/heartbeat) — ملف مساحة العمل HEARTBEAT.md
|
||||
- [Sandboxing](/ar/gateway/sandboxing) — وصول مساحة العمل في البيئات المعزولة
|
||||
- [العزل](/ar/gateway/sandboxing) — الوصول إلى مساحة العمل في البيئات المعزولة
|
||||
- [الجلسة](/ar/concepts/session) — مسارات تخزين الجلسات
|
||||
- [الأوامر الدائمة](/ar/automation/standing-orders) — التعليمات المستمرة في ملفات مساحة العمل
|
||||
- [الأوامر الدائمة](/ar/automation/standing-orders) — تعليمات مستمرة في ملفات مساحة العمل
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,62 +1,56 @@
|
||||
---
|
||||
read_when:
|
||||
- إضافة Skills أو تعديلها
|
||||
- تغيير شروط إتاحة Skills أو قوائم السماح أو قواعد التحميل
|
||||
- فهم أسبقية المهارات وسلوك اللقطات
|
||||
- إضافة أو تعديل Skills
|
||||
- تغيير ضوابط إتاحة Skills أو قوائم السماح أو قواعد التحميل
|
||||
- فهم أسبقية Skills وسلوك اللقطات
|
||||
sidebarTitle: Skills
|
||||
summary: 'Skills: المُدارة مقابل مساحة العمل، وقواعد البوابات، وقوائم السماح للوكلاء، وربط التكوين'
|
||||
summary: 'Skills: المُدارة مقابل مساحة العمل، وقواعد التقييد، وقوائم السماح للوكلاء، وربط الإعدادات'
|
||||
title: Skills
|
||||
x-i18n:
|
||||
generated_at: "2026-04-30T08:32:12Z"
|
||||
generated_at: "2026-04-30T20:05:46Z"
|
||||
model: gpt-5.5
|
||||
provider: openai
|
||||
source_hash: d7dd17f52119bf0a0bb197025070abb68f7667a7d22c3d5fa6ef2f666110a45a
|
||||
source_hash: b58d690786756bd3539940aae9f2abcb8a497798ed7b6afeb5e6d6e255fcf257
|
||||
source_path: tools/skills.md
|
||||
workflow: 16
|
||||
---
|
||||
|
||||
يستخدم OpenClaw مجلدات مهارات **متوافقة مع [AgentSkills](https://agentskills.io)**
|
||||
لتعليم الوكيل كيفية استخدام الأدوات. كل مهارة هي دليل يحتوي على
|
||||
`SKILL.md` مع مقدمة YAML وتعليمات. يحمّل OpenClaw المهارات المضمّنة
|
||||
إضافة إلى التجاوزات المحلية الاختيارية، ويرشّحها وقت التحميل بناءً على
|
||||
البيئة، والإعدادات، ووجود الملفات التنفيذية.
|
||||
يستخدم OpenClaw مجلدات Skills **متوافقة مع [AgentSkills](https://agentskills.io)** لتعليم الوكيل كيفية استخدام الأدوات. كل Skill هو دليل يحتوي على `SKILL.md` مع frontmatter بصيغة YAML وتعليمات. يحمّل OpenClaw الـ Skills المضمّنة بالإضافة إلى التجاوزات المحلية الاختيارية، ويرشحها وقت التحميل بناءً على البيئة، والإعداد، ووجود الملفات التنفيذية.
|
||||
|
||||
## المواقع والأسبقية
|
||||
|
||||
يحمّل OpenClaw المهارات من هذه المصادر، **الأعلى أسبقية أولاً**:
|
||||
يحمّل OpenClaw الـ Skills من هذه المصادر، **بالترتيب من أعلى أسبقية إلى أدناها**:
|
||||
|
||||
| # | المصدر | المسار |
|
||||
| # | المصدر | المسار |
|
||||
| --- | --------------------- | -------------------------------- |
|
||||
| 1 | مهارات مساحة العمل | `<workspace>/skills` |
|
||||
| 2 | مهارات وكيل المشروع | `<workspace>/.agents/skills` |
|
||||
| 3 | مهارات الوكيل الشخصية | `~/.agents/skills` |
|
||||
| 4 | مهارات مُدارة/محلية | `~/.openclaw/skills` |
|
||||
| 5 | مهارات مضمّنة | تُشحن مع التثبيت |
|
||||
| 6 | مجلدات مهارات إضافية | `skills.load.extraDirs` (config) |
|
||||
| 1 | Skills مساحة العمل | `<workspace>/skills` |
|
||||
| 2 | Skills وكيل المشروع | `<workspace>/.agents/skills` |
|
||||
| 3 | Skills الوكيل الشخصية | `~/.agents/skills` |
|
||||
| 4 | Skills مُدارة/محلية | `~/.openclaw/skills` |
|
||||
| 5 | Skills مضمّنة | مرفقة مع التثبيت |
|
||||
| 6 | مجلدات Skills إضافية | `skills.load.extraDirs` (الإعداد) |
|
||||
|
||||
إذا تعارض اسم مهارة، يفوز المصدر الأعلى.
|
||||
إذا تعارض اسم Skill، يفوز المصدر الأعلى.
|
||||
|
||||
## المهارات الخاصة بكل وكيل مقابل المهارات المشتركة
|
||||
دليل `$CODEX_HOME/skills` الأصلي في Codex CLI ليس أحد جذور Skills في OpenClaw. في وضع Codex harness، تستخدم عمليات تشغيل خادم التطبيق المحلي منازل Codex معزولة لكل وكيل، لذلك لا تُحمّل Skills الشخصية في Codex CLI ضمنيًا. استخدم `openclaw migrate codex --dry-run` لجردها، و`openclaw migrate codex` لاختيار أدلة Skills عبر مطالبة مربعات اختيار تفاعلية قبل نسخها إلى مساحة عمل وكيل OpenClaw الحالية. للتشغيل غير التفاعلي، كرر `--skill <name>` لكل Skill تريد نسخها بالضبط.
|
||||
|
||||
في إعدادات **وكلاء متعددين**، يمتلك كل وكيل مساحة عمل خاصة به:
|
||||
## Skills لكل وكيل مقابل Skills المشتركة
|
||||
|
||||
| النطاق | المسار | مرئي لـ |
|
||||
| -------------------- | ------------------------------------------- | -------------------------- |
|
||||
| خاص بكل وكيل | `<workspace>/skills` | ذلك الوكيل فقط |
|
||||
| وكيل المشروع | `<workspace>/.agents/skills` | وكيل مساحة العمل تلك فقط |
|
||||
| الوكيل الشخصي | `~/.agents/skills` | كل الوكلاء على ذلك الجهاز |
|
||||
| مشترك مُدار/محلي | `~/.openclaw/skills` | كل الوكلاء على ذلك الجهاز |
|
||||
| أدلة إضافية مشتركة | `skills.load.extraDirs` (الأدنى أسبقية) | كل الوكلاء على ذلك الجهاز |
|
||||
في إعدادات **الوكلاء المتعددين** يكون لكل وكيل مساحة العمل الخاصة به:
|
||||
|
||||
الاسم نفسه في مواضع متعددة → يفوز المصدر الأعلى. مساحة العمل تتفوق على
|
||||
وكيل المشروع، ويتفوق ذلك على الوكيل الشخصي، ثم المُدار/المحلي، ثم المضمّن،
|
||||
ثم الأدلة الإضافية.
|
||||
| النطاق | المسار | مرئي إلى |
|
||||
| -------------------- | ------------------------------------------- | --------------------------- |
|
||||
| لكل وكيل | `<workspace>/skills` | ذلك الوكيل فقط |
|
||||
| وكيل المشروع | `<workspace>/.agents/skills` | وكيل مساحة العمل تلك فقط |
|
||||
| الوكيل الشخصي | `~/.agents/skills` | كل الوكلاء على ذلك الجهاز |
|
||||
| مُدارة/محلية مشتركة | `~/.openclaw/skills` | كل الوكلاء على ذلك الجهاز |
|
||||
| أدلة إضافية مشتركة | `skills.load.extraDirs` (الأدنى أسبقية) | كل الوكلاء على ذلك الجهاز |
|
||||
|
||||
## قوائم السماح لمهارات الوكيل
|
||||
الاسم نفسه في عدة أماكن ← يفوز المصدر الأعلى. مساحة العمل تتفوق على وكيل المشروع، ثم الوكيل الشخصي، ثم المُدارة/المحلية، ثم المضمّنة، ثم الأدلة الإضافية.
|
||||
|
||||
**موقع** المهارة و**مرئية** المهارة عنصران تحكميان منفصلان.
|
||||
يحدد الموقع/الأسبقية أي نسخة من مهارة لها الاسم نفسه تفوز؛ وتحدد قوائم
|
||||
السماح للوكيل أي مهارات يستطيع الوكيل استخدامها فعلياً.
|
||||
## قوائم السماح بـ Skills للوكيل
|
||||
|
||||
**موقع** Skill و**رؤية** Skill عنصران منفصلان للتحكم. يحدد الموقع/الأسبقية أي نسخة من Skill تحمل الاسم نفسه تفوز؛ وتحدد قوائم السماح للوكيل أي Skills يمكن للوكيل استخدامها فعليًا.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -74,91 +68,60 @@ x-i18n:
|
||||
```
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Allowlist rules">
|
||||
- احذف `agents.defaults.skills` للسماح بمهارات غير مقيدة افتراضياً.
|
||||
<Accordion title="قواعد قائمة السماح">
|
||||
- احذف `agents.defaults.skills` لجعل Skills غير مقيدة افتراضيًا.
|
||||
- احذف `agents.list[].skills` لوراثة `agents.defaults.skills`.
|
||||
- اضبط `agents.list[].skills: []` لعدم توفير أي مهارات.
|
||||
- اضبط `agents.list[].skills: []` لعدم إتاحة أي Skills.
|
||||
- قائمة `agents.list[].skills` غير الفارغة هي المجموعة **النهائية** لذلك
|
||||
الوكيل؛ ولا تُدمج مع الإعدادات الافتراضية.
|
||||
- تُطبّق قائمة السماح الفعالة عبر بناء الموجّه، واكتشاف أوامر المهارات
|
||||
ذات الشرطة المائلة، ومزامنة العزل، ولقطات المهارات.
|
||||
الوكيل — ولا تُدمج مع الافتراضيات.
|
||||
- تنطبق قائمة السماح الفعلية عبر بناء الموجه، واكتشاف أوامر
|
||||
الشرطة المائلة لـ Skill، ومزامنة sandbox، ولقطات Skill.
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Plugins والمهارات
|
||||
## Plugins و Skills
|
||||
|
||||
يمكن لـ Plugins شحن مهاراتها الخاصة عبر سرد أدلة `skills` في
|
||||
`openclaw.plugin.json` (المسارات نسبية إلى جذر Plugin). تُحمّل مهارات Plugin
|
||||
عند تمكين Plugin. هذا هو المكان الصحيح لأدلة التشغيل الخاصة بالأداة التي
|
||||
تكون طويلة جداً لوصف الأداة لكنها يجب أن تكون متاحة كلما ثُبّت Plugin؛
|
||||
على سبيل المثال، يشحن Plugin المتصفح مهارة `browser-automation` للتحكم
|
||||
متعدد الخطوات في المتصفح.
|
||||
يمكن لـ Plugins إرفاق Skills الخاصة بها عبر إدراج أدلة `skills` في `openclaw.plugin.json` (بمسارات نسبية إلى جذر Plugin). تُحمّل Skills الخاصة بـ Plugin عندما يكون Plugin مفعّلًا. هذا هو المكان المناسب لأدلة التشغيل الخاصة بالأدوات التي تكون أطول من أن توضع في وصف الأداة لكنها يجب أن تكون متاحة كلما كان Plugin مثبتًا — مثلًا، يرفق Plugin المتصفح Skill باسم `browser-automation` للتحكم متعدد الخطوات في المتصفح.
|
||||
|
||||
تُدمج أدلة مهارات Plugin في مسار منخفض الأسبقية نفسه مثل
|
||||
`skills.load.extraDirs`، لذلك تتجاوزها أي مهارة مضمّنة، أو مُدارة، أو خاصة
|
||||
بوكيل، أو خاصة بمساحة العمل تحمل الاسم نفسه. يمكنك تقييدها عبر
|
||||
`metadata.openclaw.requires.config` في إدخال إعدادات Plugin.
|
||||
تُدمج أدلة Skills الخاصة بـ Plugin في مسار منخفض الأسبقية نفسه مثل `skills.load.extraDirs`، لذلك تتجاوزها أي Skill مضمّنة أو مُدارة أو خاصة بوكيل أو بمساحة عمل تحمل الاسم نفسه. يمكنك تقييدها عبر `metadata.openclaw.requires.config` في مدخلة إعداد Plugin.
|
||||
|
||||
راجع [Plugins](/ar/tools/plugin) للاكتشاف/الإعدادات و[الأدوات](/ar/tools) لواجهة
|
||||
الأدوات التي تعلّمها تلك المهارات.
|
||||
راجع [Plugins](/ar/tools/plugin) للاكتشاف/الإعداد و[الأدوات](/ar/tools) لسطح الأدوات الذي تعلّمه تلك Skills.
|
||||
|
||||
## Skill Workshop
|
||||
|
||||
يمكن لـ Plugin **Skill Workshop** الاختياري والتجريبي إنشاء مهارات مساحة
|
||||
العمل أو تحديثها من إجراءات قابلة لإعادة الاستخدام تمت ملاحظتها أثناء عمل
|
||||
الوكيل. وهو معطّل افتراضياً ويجب تمكينه صراحة عبر
|
||||
`plugins.entries.skill-workshop`.
|
||||
يمكن لـ Plugin **Skill Workshop** الاختياري والتجريبي إنشاء Skills لمساحة العمل أو تحديثها من إجراءات قابلة لإعادة الاستخدام لوحظت أثناء عمل الوكيل. يكون معطلًا افتراضيًا ويجب تفعيله صراحةً عبر `plugins.entries.skill-workshop`.
|
||||
|
||||
يكتب Skill Workshop فقط إلى `<workspace>/skills`، ويفحص المحتوى المُنشأ،
|
||||
ويدعم الموافقة المعلّقة أو عمليات الكتابة الآمنة التلقائية، ويعزل
|
||||
المقترحات غير الآمنة، ويحدّث لقطة المهارات بعد عمليات الكتابة الناجحة بحيث
|
||||
تصبح المهارات الجديدة متاحة دون إعادة تشغيل Gateway.
|
||||
يكتب Skill Workshop فقط إلى `<workspace>/skills`، ويفحص المحتوى المُنشأ، ويدعم انتظار الموافقة أو عمليات الكتابة الآمنة التلقائية، ويعزل المقترحات غير الآمنة، ويحدّث لقطة Skill بعد عمليات الكتابة الناجحة حتى تصبح Skills الجديدة متاحة دون إعادة تشغيل Gateway.
|
||||
|
||||
استخدمه لتصحيحات مثل _"في المرة القادمة، تحقق من إسناد GIF"_ أو لسير عمل
|
||||
اكتُسب بصعوبة مثل قوائم تحقق ضمان جودة الوسائط. ابدأ بالموافقة المعلّقة؛
|
||||
واستخدم الكتابات التلقائية فقط في مساحات العمل الموثوقة بعد مراجعة
|
||||
مقترحاته. الدليل الكامل: [Plugin Skill Workshop](/ar/plugins/skill-workshop).
|
||||
استخدمه للتصحيحات مثل _"في المرة القادمة، تحقق من إسناد GIF"_ أو لسير العمل المكتسب بصعوبة مثل قوائم تحقق ضمان جودة الوسائط. ابدأ بالموافقة المعلقة؛ واستخدم عمليات الكتابة التلقائية فقط في مساحات العمل الموثوقة بعد مراجعة مقترحاته. الدليل الكامل: [Plugin Skill Workshop](/ar/plugins/skill-workshop).
|
||||
|
||||
## ClawHub (التثبيت والمزامنة)
|
||||
|
||||
[ClawHub](https://clawhub.ai) هو سجل المهارات العام لـ OpenClaw.
|
||||
استخدم أوامر `openclaw skills` الأصلية للاكتشاف/التثبيت/التحديث، أو
|
||||
CLI المنفصل `clawhub` لسير عمل النشر/المزامنة. الدليل الكامل:
|
||||
[ClawHub](/ar/tools/clawhub).
|
||||
[ClawHub](https://clawhub.ai) هو سجل Skills العام لـ OpenClaw. استخدم أوامر `openclaw skills` الأصلية للاكتشاف/التثبيت/التحديث، أو CLI المنفصل `clawhub` لسير عمل النشر/المزامنة. الدليل الكامل: [ClawHub](/ar/tools/clawhub).
|
||||
|
||||
| الإجراء | الأمر |
|
||||
| --------------------------------- | -------------------------------------- |
|
||||
| تثبيت مهارة في مساحة العمل | `openclaw skills install <skill-slug>` |
|
||||
| تحديث كل المهارات المثبتة | `openclaw skills update --all` |
|
||||
| مزامنة (فحص + نشر تحديثات) | `clawhub sync --all` |
|
||||
| الإجراء | الأمر |
|
||||
| ---------------------------------- | -------------------------------------- |
|
||||
| تثبيت Skill في مساحة العمل | `openclaw skills install <skill-slug>` |
|
||||
| تحديث كل Skills المثبتة | `openclaw skills update --all` |
|
||||
| المزامنة (فحص + نشر التحديثات) | `clawhub sync --all` |
|
||||
|
||||
يثبّت `openclaw skills install` الأصلي داخل دليل `skills/` في مساحة العمل
|
||||
النشطة. كذلك يثبّت CLI المنفصل `clawhub` داخل `./skills` ضمن دليل العمل
|
||||
الحالي لديك (أو يعود إلى مساحة عمل OpenClaw المكوّنة). يلتقط OpenClaw ذلك
|
||||
بصفته `<workspace>/skills` في الجلسة التالية.
|
||||
تدعم جذور المهارات المكوّنة أيضاً مستوى تجميع واحداً، مثل
|
||||
`skills/<group>/<skill>/SKILL.md`، بحيث يمكن إبقاء المهارات الخارجية
|
||||
ذات الصلة ضمن مجلد مشترك دون فحص تكراري واسع.
|
||||
يثبّت `openclaw skills install` الأصلي في دليل `skills/` الخاص بمساحة العمل النشطة. كما يثبّت CLI المنفصل `clawhub` في `./skills` ضمن دليل العمل الحالي لديك (أو يعود إلى مساحة عمل OpenClaw المهيأة). يلتقط OpenClaw ذلك كـ `<workspace>/skills` في الجلسة التالية.
|
||||
تدعم جذور Skills المهيأة أيضًا مستوى تجميع واحدًا، مثل `skills/<group>/<skill>/SKILL.md`، بحيث يمكن الاحتفاظ بـ Skills الخارجية ذات الصلة ضمن مجلد مشترك دون فحص عودي واسع.
|
||||
|
||||
تعرض صفحات مهارات ClawHub أحدث حالة فحص أمني قبل التثبيت، مع صفحات تفاصيل
|
||||
للمفحّصين VirusTotal وClawScan والتحليل الساكن. يظل
|
||||
`openclaw skills install <slug>` مسار التثبيت فقط؛ ويستعيد الناشرون
|
||||
الإيجابيات الكاذبة عبر لوحة تحكم ClawHub أو
|
||||
`clawhub skill rescan <slug>`.
|
||||
تعرض صفحات Skills في ClawHub أحدث حالة فحص أمني قبل التثبيت، مع صفحات تفاصيل للفاحصين VirusTotal وClawScan والتحليل الثابت. يبقى `openclaw skills install <slug>` مسار التثبيت فقط؛ ويستعيد الناشرون الإيجابيات الكاذبة عبر لوحة تحكم ClawHub أو `clawhub skill rescan <slug>`.
|
||||
|
||||
## الأمان
|
||||
|
||||
<Warning>
|
||||
تعامل مع مهارات الجهات الخارجية باعتبارها **شفرة غير موثوقة**. اقرأها قبل
|
||||
تمكينها. فضّل عمليات التشغيل المعزولة للمدخلات غير الموثوقة والأدوات
|
||||
عالية المخاطر. راجع [العزل](/ar/gateway/sandboxing) لعناصر التحكم الخاصة
|
||||
بجانب الوكيل.
|
||||
تعامل مع Skills الخارجية كـ **تعليمات برمجية غير موثوقة**. اقرأها قبل التفعيل.
|
||||
فضّل التشغيل ضمن sandbox للمدخلات غير الموثوقة والأدوات الخطرة. راجع
|
||||
[Sandboxing](/ar/gateway/sandboxing) لعناصر التحكم من جهة الوكيل.
|
||||
</Warning>
|
||||
|
||||
- يقبل اكتشاف مهارات مساحة العمل والأدلة الإضافية فقط جذور المهارات وملفات `SKILL.md` التي يبقى مسارها الحقيقي المحلول داخل الجذر المكوّن.
|
||||
- عمليات تثبيت اعتماديات المهارات المدعومة من Gateway (`skills.install`، والتجهيز، وواجهة إعدادات Skills) تشغّل مفحّص الشفرة الخطرة المدمج قبل تنفيذ بيانات تعريف المثبّت. تمنع نتائج `critical` افتراضياً ما لم يضبط المستدعي تجاوز الخطر صراحة؛ أما النتائج المريبة فلا تزال تعرض تحذيراً فقط.
|
||||
- يختلف `openclaw skills install <slug>`؛ فهو ينزّل مجلد مهارة ClawHub إلى مساحة العمل ولا يستخدم مسار بيانات تعريف المثبّت أعلاه.
|
||||
- يحقن `skills.entries.*.env` و`skills.entries.*.apiKey` الأسرار في عملية **المضيف** لدورة ذلك الوكيل (وليس في العزل). أبقِ الأسرار خارج الموجّهات والسجلات.
|
||||
- لا يقبل اكتشاف Skills في مساحة العمل والأدلة الإضافية إلا جذور Skills وملفات `SKILL.md` التي يبقى `realpath` المحلول لها داخل الجذر المهيأ.
|
||||
- عمليات تثبيت اعتماديات Skills المدعومة من Gateway (`skills.install`، والإعداد الأولي، وواجهة إعدادات Skills) تشغل فاحص التعليمات البرمجية الخطرة المدمج قبل تنفيذ بيانات تعريف المثبّت. تحظر نتائج `critical` افتراضيًا ما لم يضبط المستدعي التجاوز الخطر صراحةً؛ أما النتائج المريبة فلا تزال تحذر فقط.
|
||||
- يختلف `openclaw skills install <slug>` — فهو ينزّل مجلد Skill من ClawHub إلى مساحة العمل ولا يستخدم مسار بيانات تعريف المثبّت أعلاه.
|
||||
- يحقن `skills.entries.*.env` و`skills.entries.*.apiKey` الأسرار في عملية **المضيف** لتلك دورة الوكيل (وليس sandbox). أبقِ الأسرار خارج الموجهات والسجلات.
|
||||
|
||||
لنموذج تهديد أوسع وقوائم تحقق، راجع [الأمان](/ar/gateway/security).
|
||||
|
||||
@ -173,35 +136,32 @@ description: Generate or edit images via a provider-backed image workflow
|
||||
---
|
||||
```
|
||||
|
||||
يتبع OpenClaw مواصفة AgentSkills للتخطيط/القصد. يدعم المحلّل المستخدم
|
||||
بواسطة الوكيل المضمّن مفاتيح مقدمة **أحادية السطر** فقط؛ وينبغي أن تكون
|
||||
`metadata` **كائن JSON أحادي السطر**. استخدم `{baseDir}` في التعليمات
|
||||
للإشارة إلى مسار مجلد المهارة.
|
||||
يتبع OpenClaw مواصفة AgentSkills للتخطيط/النية. يدعم المحلل المستخدم بواسطة الوكيل المضمّن مفاتيح frontmatter **أحادية السطر** فقط؛ ويجب أن تكون `metadata` **كائن JSON أحادي السطر**. استخدم `{baseDir}` في التعليمات للإشارة إلى مسار مجلد Skill.
|
||||
|
||||
### مفاتيح المقدمة الاختيارية
|
||||
### مفاتيح frontmatter الاختيارية
|
||||
|
||||
<ParamField path="homepage" type="string">
|
||||
عنوان URL يُعرض باسم "موقع الويب" في واجهة Skills على macOS. مدعوم أيضاً عبر `metadata.openclaw.homepage`.
|
||||
عنوان URL يظهر باسم "موقع الويب" في واجهة Skills على macOS. مدعوم أيضًا عبر `metadata.openclaw.homepage`.
|
||||
</ParamField>
|
||||
<ParamField path="user-invocable" type="boolean" default="true">
|
||||
عندما تكون `true`، تُعرض المهارة كأمر مستخدم يبدأ بشرطة مائلة.
|
||||
عندما تكون `true`، تظهر Skill كأمر شرطة مائلة للمستخدم.
|
||||
</ParamField>
|
||||
<ParamField path="disable-model-invocation" type="boolean" default="false">
|
||||
عندما تكون `true`، تُستبعد المهارة من موجّه النموذج (وتظل متاحة عبر استدعاء المستخدم).
|
||||
عندما تكون `true`، تُستبعد Skill من موجه النموذج (وتظل متاحة عبر استدعاء المستخدم).
|
||||
</ParamField>
|
||||
<ParamField path="command-dispatch" type='"tool"'>
|
||||
عند ضبطها إلى `tool`، يتجاوز الأمر ذو الشرطة المائلة النموذج ويُرسل مباشرة إلى أداة.
|
||||
عند ضبطها على `tool`، يتجاوز أمر الشرطة المائلة النموذج ويرسل مباشرةً إلى أداة.
|
||||
</ParamField>
|
||||
<ParamField path="command-tool" type="string">
|
||||
اسم الأداة المراد استدعاؤها عند ضبط `command-dispatch: tool`.
|
||||
</ParamField>
|
||||
<ParamField path="command-arg-mode" type='"raw"' default="raw">
|
||||
لإرسال الأداة، يمرر سلسلة الوسيطات الخام إلى الأداة (دون تحليل من النواة). تُستدعى الأداة باستخدام `{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }`.
|
||||
لإرسال الأداة، يمرر سلسلة الوسائط الخام إلى الأداة (دون تحليل من النواة). تُستدعى الأداة مع `{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }`.
|
||||
</ParamField>
|
||||
|
||||
## التقييد (مرشحات وقت التحميل)
|
||||
|
||||
يرشّح OpenClaw المهارات وقت التحميل باستخدام `metadata` (JSON أحادي السطر):
|
||||
يرشح OpenClaw الـ Skills وقت التحميل باستخدام `metadata` (JSON أحادي السطر):
|
||||
|
||||
```markdown
|
||||
---
|
||||
@ -221,28 +181,28 @@ metadata:
|
||||
الحقول ضمن `metadata.openclaw`:
|
||||
|
||||
<ParamField path="always" type="boolean">
|
||||
عندما تكون `true`، أدرج المهارة دائماً (وتجاوز القيود الأخرى).
|
||||
عندما تكون `true`، أدرج Skill دائمًا (وتجاوز القيود الأخرى).
|
||||
</ParamField>
|
||||
<ParamField path="emoji" type="string">
|
||||
رمز تعبيري اختياري تستخدمه واجهة Skills على macOS.
|
||||
</ParamField>
|
||||
<ParamField path="homepage" type="string">
|
||||
عنوان URL اختياري يظهر باسم "موقع الويب" في واجهة Skills على macOS.
|
||||
عنوان URL اختياري يُعرض باسم "موقع الويب" في واجهة Skills على macOS.
|
||||
</ParamField>
|
||||
<ParamField path="os" type='"darwin" | "linux" | "win32"' >
|
||||
قائمة اختيارية بالمنصات. إذا ضُبطت، تكون المهارة مؤهلة فقط على أنظمة التشغيل تلك.
|
||||
قائمة اختيارية بالمنصات. إذا ضُبطت، تكون Skill مؤهلة فقط على أنظمة التشغيل تلك.
|
||||
</ParamField>
|
||||
<ParamField path="requires.bins" type="string[]">
|
||||
يجب أن يوجد كل واحد منها على `PATH`.
|
||||
يجب أن يوجد كل عنصر على `PATH`.
|
||||
</ParamField>
|
||||
<ParamField path="requires.anyBins" type="string[]">
|
||||
يجب أن يوجد واحد منها على الأقل على `PATH`.
|
||||
يجب أن يوجد عنصر واحد على الأقل على `PATH`.
|
||||
</ParamField>
|
||||
<ParamField path="requires.env" type="string[]">
|
||||
يجب أن يوجد متغير البيئة أو أن يُوفّر في الإعدادات.
|
||||
يجب أن يوجد متغير البيئة أو أن يُوفَّر في الإعداد.
|
||||
</ParamField>
|
||||
<ParamField path="requires.config" type="string[]">
|
||||
قائمة بمسارات `openclaw.json` التي يجب أن تكون صادقة.
|
||||
قائمة بمسارات `openclaw.json` التي يجب أن تكون truthy.
|
||||
</ParamField>
|
||||
<ParamField path="primaryEnv" type="string">
|
||||
اسم متغير البيئة المرتبط بـ `skills.entries.<name>.apiKey`.
|
||||
@ -251,21 +211,20 @@ metadata:
|
||||
مواصفات مثبّت اختيارية تستخدمها واجهة Skills على macOS (brew/node/go/uv/download).
|
||||
</ParamField>
|
||||
|
||||
إذا لم تكن `metadata.openclaw` موجودة، تكون المهارة مؤهلة دائماً (ما لم
|
||||
تُعطّل في الإعدادات أو تُحظر بواسطة `skills.allowBundled` للمهارات المضمّنة).
|
||||
إذا لم تكن `metadata.openclaw` موجودة، تكون Skill مؤهلة دائمًا (ما لم تكن معطلة في الإعداد أو محظورة بواسطة `skills.allowBundled` بالنسبة إلى Skills المضمّنة).
|
||||
|
||||
<Note>
|
||||
لا تزال كتل `metadata.clawdbot` القديمة مقبولة عندما تكون
|
||||
`metadata.openclaw` غائبة، بحيث تحتفظ المهارات المثبتة الأقدم بقيود
|
||||
الاعتماديات وتلميحات المثبّت. ينبغي للمهارات الجديدة والمحدّثة استخدام
|
||||
`metadata.openclaw` غائبة، بحيث تحتفظ Skills المثبتة القديمة بقيود
|
||||
اعتمادياتها وتلميحات المثبّت. يجب أن تستخدم Skills الجديدة والمحدّثة
|
||||
`metadata.openclaw`.
|
||||
</Note>
|
||||
|
||||
### ملاحظات العزل
|
||||
### ملاحظات Sandboxing
|
||||
|
||||
- يُفحص `requires.bins` على **المضيف** وقت تحميل المهارة.
|
||||
- إذا كان الوكيل معزولاً، يجب أن يوجد الملف التنفيذي أيضاً **داخل الحاوية**. ثبّته عبر `agents.defaults.sandbox.docker.setupCommand` (أو صورة مخصصة). يعمل `setupCommand` مرة واحدة بعد إنشاء الحاوية. تتطلب عمليات تثبيت الحزم أيضاً خروجاً للشبكة، ونظام ملفات جذر قابل للكتابة، ومستخدم root داخل العزل.
|
||||
- مثال: تحتاج مهارة `summarize` (`skills/summarize/SKILL.md`) إلى CLI الخاص بـ `summarize` داخل حاوية العزل لكي تعمل هناك.
|
||||
- يُفحص `requires.bins` على **المضيف** وقت تحميل Skill.
|
||||
- إذا كان الوكيل يعمل ضمن sandbox، يجب أن يوجد الملف التنفيذي أيضًا **داخل الحاوية**. ثبّته عبر `agents.defaults.sandbox.docker.setupCommand` (أو صورة مخصصة). يعمل `setupCommand` مرة واحدة بعد إنشاء الحاوية. تتطلب عمليات تثبيت الحزم أيضًا خروجًا إلى الشبكة، ونظام ملفات جذريًا قابلًا للكتابة، ومستخدم root في sandbox.
|
||||
- مثال: تحتاج Skill `summarize` (`skills/summarize/SKILL.md`) إلى CLI باسم `summarize` داخل حاوية sandbox لتعمل هناك.
|
||||
|
||||
### مواصفات المثبّت
|
||||
|
||||
@ -296,24 +255,24 @@ metadata:
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="قواعد اختيار المثبّت">
|
||||
- إذا كانت هناك عدة مثبّتات مدرجة، يختار Gateway خيارًا مفضّلًا واحدًا (brew عند توفره، وإلا node).
|
||||
- إذا كانت كل المثبّتات هي `download`، يعرض OpenClaw كل إدخال حتى تتمكن من رؤية المصنوعات المتاحة.
|
||||
- إذا أُدرجت عدة مثبّتات، يختار Gateway خيارًا مفضلًا واحدًا (brew عند توفره، وإلا node).
|
||||
- إذا كانت كل المثبّتات `download`، يعرض OpenClaw كل إدخال حتى تتمكن من رؤية الملفات المتاحة.
|
||||
- يمكن أن تتضمن مواصفات المثبّت `os: ["darwin"|"linux"|"win32"]` لتصفية الخيارات حسب المنصة.
|
||||
- تحترم تثبيتات Node الإعداد `skills.install.nodeManager` في `openclaw.json` (الافتراضي: npm؛ الخيارات: npm/pnpm/yarn/bun). يؤثر هذا فقط في تثبيتات Skills؛ يجب أن يظل وقت تشغيل Gateway هو Node — لا يُوصى باستخدام Bun مع WhatsApp/Telegram.
|
||||
- يعتمد اختيار المثبّت المدعوم من Gateway على التفضيلات: عندما تمزج مواصفات التثبيت بين الأنواع، يفضّل OpenClaw Homebrew عندما يكون `skills.install.preferBrew` مفعّلًا ويكون `brew` موجودًا، ثم `uv`، ثم مدير node المكوّن، ثم البدائل الأخرى مثل `go` أو `download`.
|
||||
- إذا كانت كل مواصفات التثبيت هي `download`، يعرض OpenClaw كل خيارات التنزيل بدلًا من اختزالها إلى مثبّت مفضّل واحد.
|
||||
- تراعي عمليات تثبيت Node القيمة `skills.install.nodeManager` في `openclaw.json` (الافتراضي: npm؛ الخيارات: npm/pnpm/yarn/bun). يؤثر هذا فقط في تثبيت Skills؛ أما وقت تشغيل Gateway فيجب أن يظل Node — لا يُوصى باستخدام Bun مع WhatsApp/Telegram.
|
||||
- اختيار المثبّت المدعوم من Gateway موجّه بالتفضيلات: عندما تخلط مواصفات التثبيت بين الأنواع، يفضّل OpenClaw Homebrew عندما يكون `skills.install.preferBrew` مفعّلًا ويكون `brew` موجودًا، ثم `uv`، ثم مدير node المضبوط، ثم البدائل الأخرى مثل `go` أو `download`.
|
||||
- إذا كانت كل مواصفات التثبيت `download`، يعرض OpenClaw كل خيارات التنزيل بدلًا من اختزالها في مثبّت مفضل واحد.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="تفاصيل كل مثبّت">
|
||||
- **تثبيتات Go:** إذا كان `go` مفقودًا وكان `brew` متاحًا، يثبّت Gateway أداة Go عبر Homebrew أولًا ويضبط `GOBIN` على `bin` الخاص بـ Homebrew عندما يكون ذلك ممكنًا.
|
||||
- **تثبيتات التنزيل:** `url` (مطلوب)، `archive` (`tar.gz` | `tar.bz2` | `zip`)، `extract` (الافتراضي: تلقائي عند اكتشاف الأرشيف)، `stripComponents`، `targetDir` (الافتراضي: `~/.openclaw/tools/<skillKey>`).
|
||||
- **تثبيت Go:** إذا كان `go` مفقودًا وكان `brew` متاحًا، يثبّت Gateway لغة Go عبر Homebrew أولًا ويضبط `GOBIN` على مجلد `bin` الخاص بـ Homebrew عندما يكون ذلك ممكنًا.
|
||||
- **تثبيت التنزيلات:** `url` (مطلوب)، `archive` (`tar.gz` | `tar.bz2` | `zip`)، `extract` (الافتراضي: تلقائي عند اكتشاف أرشيف)، `stripComponents`، `targetDir` (الافتراضي: `~/.openclaw/tools/<skillKey>`).
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## تجاوزات التكوين
|
||||
## تجاوزات الإعدادات
|
||||
|
||||
يمكن تفعيل Skills المضمّنة والمُدارة أو تعطيلها وتزويدها بقيم البيئة
|
||||
يمكن تبديل Skills المضمّنة والمُدارة وتزويدها بقيم البيئة
|
||||
ضمن `skills.entries` في `~/.openclaw/openclaw.json`:
|
||||
|
||||
```json5
|
||||
@ -339,36 +298,37 @@ metadata:
|
||||
```
|
||||
|
||||
<ParamField path="enabled" type="boolean">
|
||||
يعطّل `false` الـ skill حتى إذا كانت مضمّنة أو مثبّتة.
|
||||
تكون skill المضمّنة `coding-agent` اختيارية التفعيل: اضبط
|
||||
يعطّل `false` الـ skill حتى إذا كانت مضمّنة أو مثبتة.
|
||||
مهارة `coding-agent` المضمّنة اختيارية: اضبط
|
||||
`skills.entries.coding-agent.enabled: true` قبل إتاحتها للوكلاء،
|
||||
ثم تأكد من تثبيت أحد `claude` أو `codex` أو `opencode` أو `pi` ومصادقته
|
||||
لواجهة CLI الخاصة به.
|
||||
ثم تأكد من تثبيت أحد `claude` أو `codex` أو `opencode` أو `pi` ومن أنه
|
||||
مصادق عليه لواجهة CLI الخاصة به.
|
||||
</ParamField>
|
||||
<ParamField path="apiKey" type='string | { source, provider, id }'>
|
||||
وسيلة ملائمة لـ Skills التي تعلن `metadata.openclaw.primaryEnv`. يدعم النص الصريح أو SecretRef.
|
||||
اختصار للمهارات التي تعلن `metadata.openclaw.primaryEnv`. يدعم النص الصريح أو SecretRef.
|
||||
</ParamField>
|
||||
<ParamField path="env" type="Record<string, string>">
|
||||
يُحقن فقط إذا لم يكن المتغير مضبوطًا بالفعل في العملية.
|
||||
تُحقن فقط إذا لم يكن المتغير مضبوطًا مسبقًا في العملية.
|
||||
</ParamField>
|
||||
<ParamField path="config" type="object">
|
||||
حاوية اختيارية لحقول مخصصة لكل skill. يجب أن تعيش المفاتيح المخصصة هنا.
|
||||
حاوية اختيارية لحقول مخصصة لكل skill. يجب أن تكون المفاتيح المخصصة هنا.
|
||||
</ParamField>
|
||||
<ParamField path="allowBundled" type="string[]">
|
||||
قائمة سماح اختيارية لـ Skills **المضمّنة** فقط. إذا ضُبطت، فلن تكون إلا Skills المضمّنة في القائمة مؤهلة (لا تتأثر Skills المُدارة/الخاصة بمساحة العمل).
|
||||
قائمة سماح اختيارية للـ Skills **المضمّنة** فقط. إذا ضُبطت، فلن تكون مؤهلة إلا Skills المضمّنة الموجودة في القائمة (لا تتأثر Skills المُدارة/الخاصة بمساحة العمل).
|
||||
</ParamField>
|
||||
|
||||
إذا كان اسم الـ skill يحتوي على واصلات، فضع المفتاح بين علامات اقتباس (يسمح JSON5
|
||||
بالمفاتيح المقتبسة). تطابق مفاتيح التكوين **اسم الـ skill** افتراضيًا — إذا كانت skill
|
||||
إذا كان اسم الـ skill يحتوي على واصلات، فضع المفتاح بين علامتي اقتباس (يسمح JSON5
|
||||
بالمفاتيح المقتبسة). تطابق مفاتيح الإعدادات **اسم الـ skill** افتراضيًا — إذا كانت skill
|
||||
تعرّف `metadata.openclaw.skillKey`، فاستخدم ذلك المفتاح ضمن `skills.entries`.
|
||||
|
||||
<Note>
|
||||
لتوليد/تحرير الصور الجاهزة داخل OpenClaw، استخدم أداة النواة
|
||||
`image_generate` مع `agents.defaults.imageGenerationModel` بدلًا من
|
||||
skill مضمّنة. أمثلة Skills هنا مخصصة لسير العمل المخصص أو الخاص بجهات خارجية.
|
||||
لإنشاء/تحرير الصور الجاهزة داخل OpenClaw، استخدم أداة
|
||||
`image_generate` الأساسية مع `agents.defaults.imageGenerationModel` بدلًا
|
||||
من skill مضمّنة. أمثلة Skills هنا مخصصة لسير العمل المخصص أو التابع لجهات خارجية.
|
||||
لتحليل الصور الأصلي استخدم أداة `image` مع
|
||||
`agents.defaults.imageModel`. إذا اخترت `openai/*` أو `google/*` أو
|
||||
`fal/*` أو نموذج صور آخر خاصًا بموفّر، فأضف مفتاح المصادقة/API الخاص بذلك الموفّر أيضًا.
|
||||
`agents.defaults.imageModel`. إذا اخترت `openai/*` أو `google/*`
|
||||
أو `fal/*` أو نموذج صور آخر خاص بمزوّد، فأضف أيضًا مفتاح
|
||||
المصادقة/API الخاص بذلك المزوّد.
|
||||
</Note>
|
||||
|
||||
## حقن البيئة
|
||||
@ -377,38 +337,38 @@ skill مضمّنة. أمثلة Skills هنا مخصصة لسير العمل ال
|
||||
|
||||
1. يقرأ بيانات skill الوصفية.
|
||||
2. يطبّق `skills.entries.<key>.env` و`skills.entries.<key>.apiKey` على `process.env`.
|
||||
3. يبني موجه النظام باستخدام Skills **المؤهلة**.
|
||||
3. يبني موجّه النظام باستخدام Skills **المؤهلة**.
|
||||
4. يستعيد البيئة الأصلية بعد انتهاء التشغيل.
|
||||
|
||||
حقن البيئة **محدود بنطاق تشغيل الوكيل**، وليس بيئة shell عامة.
|
||||
حقن البيئة **محدّد بنطاق تشغيل الوكيل**، وليس بيئة shell عامة.
|
||||
|
||||
بالنسبة إلى الواجهة الخلفية المضمّنة `claude-cli`، يجسّد OpenClaw أيضًا اللقطة المؤهلة نفسها
|
||||
بصفتها Plugin مؤقتًا لـ Claude Code ويمررها باستخدام
|
||||
`--plugin-dir`. يمكن لـ Claude Code بعد ذلك استخدام محلل Skills الأصلي الخاص به بينما
|
||||
يظل OpenClaw مالكًا للأسبقية، وقوائم السماح لكل وكيل، والبوابات، وحقن مفاتيح البيئة/API عبر
|
||||
`skills.entries.*`. تستخدم واجهات CLI الخلفية الأخرى
|
||||
فهرس الموجه فقط.
|
||||
بالنسبة إلى واجهة `claude-cli` الخلفية المضمّنة، ينشئ OpenClaw أيضًا نفس
|
||||
اللقطة المؤهلة كـ Plugin مؤقت لـ Claude Code ويمررها باستخدام
|
||||
`--plugin-dir`. عندها يمكن لـ Claude Code استخدام محلّل Skills الأصلي لديه، بينما
|
||||
يظل OpenClaw يملك أسبقية الترتيب، وقوائم السماح لكل وكيل، والبوابات، وحقن
|
||||
مفاتيح البيئة/API عبر `skills.entries.*`. تستخدم واجهات CLI الخلفية الأخرى
|
||||
فهرس الموجّه فقط.
|
||||
|
||||
## اللقطات والتحديث
|
||||
|
||||
يلتقط OpenClaw لقطة لـ Skills المؤهلة **عند بدء الجلسة**
|
||||
ويعيد استخدام تلك القائمة في الأدوار اللاحقة ضمن الجلسة نفسها. تسري التغييرات على
|
||||
Skills أو التكوين في الجلسة الجديدة التالية.
|
||||
يلتقط OpenClaw لقطة من Skills المؤهلة **عند بدء جلسة** ويعيد
|
||||
استخدام تلك القائمة في الأدوار اللاحقة ضمن الجلسة نفسها. تسري تغييرات
|
||||
Skills أو الإعدادات عند الجلسة الجديدة التالية.
|
||||
|
||||
يمكن تحديث Skills في منتصف الجلسة في حالتين:
|
||||
|
||||
- يكون مراقب Skills مفعّلًا.
|
||||
- مفعّل مراقب Skills.
|
||||
- تظهر عقدة بعيدة مؤهلة جديدة.
|
||||
|
||||
تعامل مع هذا كتحديث **ساخن**: تُستخدم القائمة المحدّثة في
|
||||
اعتبر هذا **إعادة تحميل ساخنة**: تُلتقط القائمة المحدّثة في
|
||||
دور الوكيل التالي. إذا تغيّرت قائمة سماح Skills الفعلية للوكيل في تلك
|
||||
الجلسة، يحدّث OpenClaw اللقطة حتى تبقى Skills المرئية متوافقة
|
||||
مع الوكيل الحالي.
|
||||
|
||||
### مراقب Skills
|
||||
|
||||
افتراضيًا، يراقب OpenClaw مجلدات Skills ويزيد لقطة Skills
|
||||
عند تغيّر ملفات `SKILL.md`. كوّن ذلك ضمن `skills.load`:
|
||||
افتراضيًا، يراقب OpenClaw مجلدات Skills ويرفع إصدار لقطة Skills
|
||||
عند تغير ملفات `SKILL.md`. اضبط ذلك ضمن `skills.load`:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -423,26 +383,26 @@ Skills أو التكوين في الجلسة الجديدة التالية.
|
||||
|
||||
### عقد macOS البعيدة (Gateway على Linux)
|
||||
|
||||
إذا كان Gateway يعمل على Linux لكن **عقدة macOS** متصلة مع السماح بـ
|
||||
`system.run` (عدم ضبط أمان موافقات Exec على `deny`)،
|
||||
يمكن لـ OpenClaw اعتبار Skills الخاصة بـ macOS فقط مؤهلة عندما تكون الثنائيات المطلوبة
|
||||
موجودة على تلك العقدة. ينبغي للوكيل تنفيذ تلك Skills
|
||||
إذا كان Gateway يعمل على Linux لكن توجد **عقدة macOS** متصلة مع
|
||||
السماح بـ `system.run` (أي أن أمان موافقات Exec غير مضبوط على `deny`)،
|
||||
يمكن لـ OpenClaw اعتبار Skills الخاصة بـ macOS فقط مؤهلة عندما تكون
|
||||
الثنائيات المطلوبة موجودة على تلك العقدة. يجب أن ينفذ الوكيل تلك Skills
|
||||
عبر أداة `exec` مع `host=node`.
|
||||
|
||||
يعتمد هذا على إبلاغ العقدة عن دعم الأوامر لديها وعلى فحص bin
|
||||
يعتمد هذا على إبلاغ العقدة عن دعمها للأوامر وعلى فحص ثنائي
|
||||
عبر `system.which` أو `system.run`. لا تجعل العقد غير المتصلة
|
||||
Skills البعيدة فقط مرئية. إذا توقفت عقدة متصلة عن الرد على فحوصات bin،
|
||||
يمسح OpenClaw مطابقات bin المخزنة مؤقتًا لديها حتى لا يرى الوكلاء بعد ذلك
|
||||
Skills البعيدة فقط مرئية. إذا توقفت عقدة متصلة عن الرد على فحوصات
|
||||
الثنائيات، يمسح OpenClaw مطابقات الثنائيات المخزنة مؤقتًا لديها حتى لا يرى الوكلاء
|
||||
Skills التي لا يمكن تشغيلها هناك حاليًا.
|
||||
|
||||
## أثر الرموز
|
||||
## تأثير الرموز
|
||||
|
||||
عندما تكون Skills مؤهلة، يحقن OpenClaw قائمة XML مضغوطة من Skills المتاحة
|
||||
في موجه النظام (عبر `formatSkillsForPrompt` في
|
||||
عندما تكون Skills مؤهلة، يحقن OpenClaw قائمة XML مضغوطة بالـ Skills المتاحة
|
||||
في موجّه النظام (عبر `formatSkillsForPrompt` في
|
||||
`pi-coding-agent`). التكلفة حتمية:
|
||||
|
||||
- **الحمل الأساسي** (فقط عند وجود skill واحدة أو أكثر): 195 حرفًا.
|
||||
- **لكل skill:** 97 حرفًا + طول قيم XML المهربة `<name>` و`<description>` و`<location>`.
|
||||
- **الكلفة الأساسية** (فقط عند وجود skill واحدة أو أكثر): 195 حرفًا.
|
||||
- **لكل skill:** 97 حرفًا + طول قيم `<name>` و`<description>` و`<location>` بعد تهريب XML.
|
||||
|
||||
الصيغة (بالأحرف):
|
||||
|
||||
@ -450,29 +410,29 @@ Skills التي لا يمكن تشغيلها هناك حاليًا.
|
||||
total = 195 + Σ (97 + len(name_escaped) + len(description_escaped) + len(location_escaped))
|
||||
```
|
||||
|
||||
يوسّع تهريب XML الرموز `& < > " '` إلى كيانات (`&` و`<`، إلخ)،
|
||||
مما يزيد الطول. تختلف أعداد الرموز حسب مقطّع النموذج. تقدير تقريبي
|
||||
بأسلوب OpenAI هو نحو 4 أحرف/رمز، لذا فإن **97 حرفًا ≈ 24 رمزًا** لكل
|
||||
skill إضافةً إلى أطوال الحقول الفعلية لديك.
|
||||
يوسّع تهريب XML الأحرف `& < > " '` إلى كيانات (`&`، `<`، إلخ)،
|
||||
ما يزيد الطول. تختلف أعداد الرموز حسب مقطّع الرموز في النموذج. تقدير تقريبي
|
||||
على نمط OpenAI هو نحو 4 أحرف/رمز، لذا فإن **97 حرفًا ≈ 24 رمزًا** لكل
|
||||
skill بالإضافة إلى أطوال الحقول الفعلية لديك.
|
||||
|
||||
## دورة حياة Skills المُدارة
|
||||
|
||||
يشحن OpenClaw مجموعة أساسية من Skills بصفتها **Skills مضمّنة** مع
|
||||
يشحن OpenClaw مجموعة أساسية من Skills كـ **Skills مضمّنة** مع
|
||||
التثبيت (حزمة npm أو OpenClaw.app). يوجد `~/.openclaw/skills` من أجل
|
||||
التجاوزات المحلية — مثلًا، تثبيت إصدار skill أو ترقيعها دون
|
||||
التجاوزات المحلية — مثل تثبيت إصدار محدد أو ترقيع skill دون
|
||||
تغيير النسخة المضمّنة. Skills الخاصة بمساحة العمل مملوكة للمستخدم وتتجاوز
|
||||
كليهما عند تعارض الأسماء.
|
||||
|
||||
## هل تبحث عن المزيد من Skills؟
|
||||
## هل تبحث عن مزيد من Skills؟
|
||||
|
||||
تصفح [https://clawhub.ai](https://clawhub.ai). مخطط التكوين الكامل:
|
||||
[تكوين Skills](/ar/tools/skills-config).
|
||||
تصفح [https://clawhub.ai](https://clawhub.ai). مخطط الإعداد الكامل:
|
||||
[إعدادات Skills](/ar/tools/skills-config).
|
||||
|
||||
## ذات صلة
|
||||
|
||||
- [ClawHub](/ar/tools/clawhub) — سجل Skills العام
|
||||
- [إنشاء Skills](/ar/tools/creating-skills) — بناء Skills مخصصة
|
||||
- [Plugins](/ar/tools/plugin) — نظرة عامة على نظام Plugin
|
||||
- [Plugin ورشة Skills](/ar/plugins/skill-workshop) — توليد Skills من عمل الوكيل
|
||||
- [تكوين Skills](/ar/tools/skills-config) — مرجع تكوين skill
|
||||
- [Plugin ورشة Skills](/ar/plugins/skill-workshop) — إنشاء Skills من عمل الوكيل
|
||||
- [إعدادات Skills](/ar/tools/skills-config) — مرجع إعدادات skill
|
||||
- [أوامر الشرطة المائلة](/ar/tools/slash-commands) — كل أوامر الشرطة المائلة المتاحة
|
||||
|
||||
Loading…
Reference in New Issue
Block a user