From d6ba46b643fee917924f9cda4121488ed27625cd Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Sun, 19 Apr 2026 07:25:15 +0000 Subject: [PATCH] chore(i18n): refresh ar translations --- docs/ar/help/faq.md | 2050 +++++++++++++++++----------------- docs/ar/install/index.md | 125 +-- docs/ar/platforms/windows.md | 122 +- docs/ar/start/setup.md | 126 ++- 4 files changed, 1220 insertions(+), 1203 deletions(-) diff --git a/docs/ar/help/faq.md b/docs/ar/help/faq.md index 1c952432f..42da9ac35 100644 --- a/docs/ar/help/faq.md +++ b/docs/ar/help/faq.md @@ -1,23 +1,23 @@ --- read_when: - - الإجابة عن الأسئلة الشائعة المتعلقة بالإعداد أو التثبيت أو التهيئة الأولية أو دعم وقت التشغيل - - فرز المشكلات التي يبلغ عنها المستخدمون قبل بدء تصحيح أعمق للأخطاء -summary: الأسئلة الشائعة حول إعداد OpenClaw وتهيئته واستخدامه + - الإجابة عن الأسئلة الشائعة المتعلقة بالإعداد أو التثبيت أو الإعداد الأولي أو دعم وقت التشغيل + - فرز المشكلات التي أبلغ عنها المستخدمون قبل إجراء تصحيح أعمق للأخطاء +summary: الأسئلة الشائعة حول إعداد OpenClaw وتكوينه واستخدامه title: الأسئلة الشائعة x-i18n: - generated_at: "2026-04-12T23:28:24Z" + generated_at: "2026-04-19T07:16:04Z" model: gpt-5.4 provider: openai - source_hash: d2a78d0fea9596625cc2753e6dc8cc42c2379a3a0c91729265eee0261fe53eaa + source_hash: f569fb0412797314a11c41a1bbfa14f5892d2d368544fa67800823a6457000e6 source_path: help/faq.md workflow: 15 --- # الأسئلة الشائعة -إجابات سريعة بالإضافة إلى استكشاف أخطاء أعمق لبيئات الاستخدام الواقعية (التطوير المحلي، VPS، إعدادات الوكلاء المتعددين، OAuth/مفاتيح API، والتبديل الاحتياطي للنماذج). لتشخيصات وقت التشغيل، راجع [استكشاف الأخطاء وإصلاحها](/ar/gateway/troubleshooting). وللمرجع الكامل للإعدادات، راجع [الإعدادات](/ar/gateway/configuration). +إجابات سريعة بالإضافة إلى استكشاف أخطاء أعمق لبيئات الإعداد الواقعية (التطوير المحلي، VPS، تعدد الوكلاء، OAuth/مفاتيح API، والتحويل التلقائي بين النماذج عند الفشل). لتشخيصات وقت التشغيل، راجع [استكشاف الأخطاء وإصلاحها](/ar/gateway/troubleshooting). وللاطلاع على مرجع التكوين الكامل، راجع [التكوين](/ar/gateway/configuration). -## أول 60 ثانية إذا كان هناك شيء معطّل +## أول 60 ثانية إذا كان هناك شيء معطل 1. **الحالة السريعة (أول فحص)** @@ -25,40 +25,40 @@ x-i18n: openclaw status ``` - ملخص محلي سريع: نظام التشغيل + التحديث، إمكانية الوصول إلى Gateway/الخدمة، الوكلاء/الجلسات، إعدادات المزوّد + مشكلات وقت التشغيل (عندما يكون Gateway قابلاً للوصول). + ملخص محلي سريع: نظام التشغيل + التحديث، إمكانية الوصول إلى Gateway/الخدمة، الوكلاء/الجلسات، تكوين المزوّد + مشكلات وقت التشغيل (عندما يكون Gateway قابلاً للوصول). -2. **تقرير قابل للمشاركة بأمان** +2. **تقرير قابل للمشاركة (آمن للمشاركة)** ```bash openclaw status --all ``` - تشخيص للقراءة فقط مع ذيل السجل (مع إخفاء الرموز المميّزة). + تشخيص للقراءة فقط مع ذيل السجل (مع إخفاء الرموز المميزة). -3. **حالة العملية الخلفية + المنفذ** +3. **حالة العملية الخدمية + المنفذ** ```bash openclaw gateway status ``` - يعرض حالة المشرف أثناء التشغيل مقابل إمكانية الوصول عبر RPC، وعنوان URL الهدف للفحص، وأي إعدادات يُرجّح أن الخدمة استخدمتها. + يعرض وقت تشغيل المشرف مقابل إمكانية الوصول إلى RPC، وعنوان URL المستهدف للفحص، وأي تكوين يُرجَّح أن الخدمة استخدمته. -4. **فحوصات عميقة** +4. **فحوصات متعمقة** ```bash openclaw status --deep ``` - يشغّل فحصًا مباشرًا لصحة Gateway، بما في ذلك فحوصات القنوات عند توفر الدعم + يُجري فحصًا حيًا لصحة Gateway، بما في ذلك فحوصات القنوات عندما تكون مدعومة (يتطلب Gateway قابلاً للوصول). راجع [الصحة](/ar/gateway/health). -5. **متابعة أحدث سجل** +5. **تتبّع أحدث سجل** ```bash openclaw logs --follow ``` - إذا كان RPC متوقفًا، فاستخدم البديل التالي: + إذا كان RPC متوقفًا، فارجع إلى: ```bash tail -f "$(ls -t /tmp/openclaw/openclaw-*.log | head -1)" @@ -66,50 +66,50 @@ x-i18n: سجلات الملفات منفصلة عن سجلات الخدمة؛ راجع [التسجيل](/ar/logging) و[استكشاف الأخطاء وإصلاحها](/ar/gateway/troubleshooting). -6. **تشغيل Doctor (الإصلاحات)** +6. **شغّل Doctor (الإصلاحات)** ```bash openclaw doctor ``` - يُصلح/يُرحّل الإعدادات والحالة + يشغّل فحوصات الصحة. راجع [Doctor](/ar/gateway/doctor). + يُصلح/يُرحّل التكوين/الحالة ويُجري فحوصات الصحة. راجع [Doctor](/ar/gateway/doctor). -7. **لقطة Gateway** +7. **لقطة لحالة Gateway** ```bash openclaw health --json - openclaw health --verbose # يعرض عنوان URL الهدف + مسار الإعدادات عند حدوث أخطاء + openclaw health --verbose # يعرض عنوان URL المستهدف + مسار التكوين عند حدوث أخطاء ``` - يطلب من Gateway العامل لقطة كاملة (عبر WS فقط). راجع [الصحة](/ar/gateway/health). + يطلب من Gateway قيد التشغيل لقطة كاملة للحالة (عبر WS فقط). راجع [الصحة](/ar/gateway/health). -## البدء السريع وإعداد التشغيل الأول +## البدء السريع والإعداد عند أول تشغيل - + استخدم وكيل AI محلي يمكنه **رؤية جهازك**. هذا أكثر فعالية بكثير من السؤال - في Discord، لأن معظم حالات "أنا عالق" تكون **مشكلات محلية في الإعدادات أو البيئة** - لا يمكن للمساعدين عن بُعد فحصها. + في Discord، لأن معظم حالات "أنا عالق" تكون **مشكلات تكوين أو بيئة محلية** + لا يستطيع المساعدون عن بُعد فحصها. - **Claude Code**: [https://www.anthropic.com/claude-code/](https://www.anthropic.com/claude-code/) - **OpenAI Codex**: [https://openai.com/codex/](https://openai.com/codex/) - يمكن لهذه الأدوات قراءة المستودع وتشغيل الأوامر وفحص السجلات والمساعدة في إصلاح - الإعداد على مستوى جهازك (PATH، الخدمات، الأذونات، ملفات المصادقة). امنحها - **نسخة المصدر الكاملة** عبر التثبيت القابل للتعديل (git): + تستطيع هذه الأدوات قراءة المستودع، وتشغيل الأوامر، وفحص السجلات، والمساعدة في إصلاح + الإعداد على مستوى جهازك (PATH، الخدمات، الأذونات، ملفات المصادقة). امنحها **النسخة المصدرية الكاملة** + عبر تثبيت hackable (git): ```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git ``` - يثبّت هذا OpenClaw **من نسخة git محلية**، حتى يتمكن الوكيل من قراءة الشيفرة + المستندات - والتعامل مع الإصدار الدقيق الذي تشغّله. ويمكنك دائمًا العودة إلى الإصدار المستقر لاحقًا - عبر إعادة تشغيل أداة التثبيت بدون `--install-method git`. + يثبّت هذا OpenClaw **من نسخة git محلية**، بحيث يمكن للوكيل قراءة الشيفرة + الوثائق + والاستدلال على الإصدار الدقيق الذي تستخدمه. يمكنك دائمًا العودة إلى الإصدار المستقر لاحقًا + عبر إعادة تشغيل المُثبّت من دون `--install-method git`. - نصيحة: اطلب من الوكيل **تخطيط الإصلاح والإشراف عليه** (خطوة بخطوة)، ثم تنفيذ + نصيحة: اطلب من الوكيل **التخطيط للإصلاح والإشراف عليه** (خطوة بخطوة)، ثم تنفيذ الأوامر الضرورية فقط. هذا يُبقي التغييرات صغيرة وأسهل للمراجعة. - إذا اكتشفت خطأً فعليًا أو إصلاحًا، فيُرجى فتح GitHub issue أو إرسال PR: + إذا اكتشفت خللًا حقيقيًا أو إصلاحًا، فيُرجى فتح issue على GitHub أو إرسال PR: [https://github.com/openclaw/openclaw/issues](https://github.com/openclaw/openclaw/issues) [https://github.com/openclaw/openclaw/pulls](https://github.com/openclaw/openclaw/pulls) @@ -123,42 +123,42 @@ x-i18n: ما الذي تفعله: - - `openclaw status`: لقطة سريعة لصحة Gateway/الوكيل + الإعدادات الأساسية. + - `openclaw status`: لقطة سريعة لصحة Gateway/الوكيل + التكوين الأساسي. - `openclaw models status`: يفحص مصادقة المزوّد + توفر النماذج. - - `openclaw doctor`: يتحقق من مشكلات الإعدادات/الحالة الشائعة ويصلحها. + - `openclaw doctor`: يتحقق من مشكلات التكوين/الحالة الشائعة ويُصلحها. - فحوصات CLI المفيدة الأخرى: `openclaw status --all`، `openclaw logs --follow`، - `openclaw gateway status`، `openclaw health --verbose`. + فحوصات CLI أخرى مفيدة: `openclaw status --all`, `openclaw logs --follow`, + `openclaw gateway status`, `openclaw health --verbose`. - حلقة التصحيح السريعة: [أول 60 ثانية إذا كان هناك شيء معطّل](#first-60-seconds-if-something-is-broken). - مستندات التثبيت: [التثبيت](/ar/install)، [علامات أداة التثبيت](/ar/install/installer)، [التحديث](/ar/install/updating). + حلقة تصحيح سريعة: [أول 60 ثانية إذا كان هناك شيء معطل](#أول-60-ثانية-إذا-كان-هناك-شيء-معطل). + وثائق التثبيت: [التثبيت](/ar/install)، [علامات المُثبّت](/ar/install/installer)، [التحديث](/ar/install/updating). - + أسباب تخطي Heartbeat الشائعة: - - `quiet-hours`: خارج نافذة الساعات النشطة المضبوطة - - `empty-heartbeat-file`: ملف `HEARTBEAT.md` موجود لكنه يحتوي فقط على هيكل فارغ/عناوين فقط - - `no-tasks-due`: وضع مهام `HEARTBEAT.md` نشط ولكن لم يحن موعد أي من فترات المهام بعد - - `alerts-disabled`: تم تعطيل كل إظهار Heartbeat (`showOk` و`showAlerts` و`useIndicator` كلها معطلة) + - `quiet-hours`: خارج نافذة الساعات النشطة المكوّنة + - `empty-heartbeat-file`: الملف `HEARTBEAT.md` موجود لكنه يحتوي فقط على هيكل فارغ/عناوين فقط + - `no-tasks-due`: وضع المهام في `HEARTBEAT.md` نشط ولكن لم يحن موعد أي من فترات المهام بعد + - `alerts-disabled`: كل إظهار Heartbeat معطّل (`showOk` و`showAlerts` و`useIndicator` كلها معطلة) - في وضع المهام، لا يتم تقديم الطوابع الزمنية المستحقة إلا بعد اكتمال - تشغيل Heartbeat فعلي. ولا تُعلّم عمليات التشغيل المتخطاة المهام على أنها مكتملة. + في وضع المهام، لا يتم تقديم الطوابع الزمنية للاستحقاق إلا بعد اكتمال + تشغيل Heartbeat فعلي. عمليات التشغيل المتخطاة لا تضع علامة على المهام على أنها مكتملة. - المستندات: [Heartbeat](/ar/gateway/heartbeat)، [الأتمتة والمهام](/ar/automation). + الوثائق: [Heartbeat](/ar/gateway/heartbeat)، [الأتمتة والمهام](/ar/automation). - - يوصي المستودع بالتشغيل من المصدر واستخدام التهيئة الأولية: + + يوصي المستودع بالتشغيل من المصدر واستخدام الإعداد الأولي: ```bash curl -fsSL https://openclaw.ai/install.sh | bash openclaw onboard --install-daemon ``` - يمكن للمعالج أيضًا بناء أصول واجهة المستخدم تلقائيًا. بعد التهيئة الأولية، عادةً ما تشغّل Gateway على المنفذ **18789**. + يمكن للمعالج أيضًا بناء أصول واجهة المستخدم تلقائيًا. بعد الإعداد الأولي، عادةً ما تقوم بتشغيل Gateway على المنفذ **18789**. من المصدر (للمساهمين/المطورين): @@ -167,7 +167,7 @@ x-i18n: cd openclaw pnpm install pnpm build - pnpm ui:build # يثبت تبعيات واجهة المستخدم تلقائيًا عند أول تشغيل + pnpm ui:build openclaw onboard ``` @@ -175,86 +175,85 @@ x-i18n: - - يفتح المعالج المتصفح لديك بعنوان URL نظيف للوحة المعلومات (من دون رموز مميّزة في العنوان) مباشرة بعد التهيئة الأولية، كما يطبع الرابط أيضًا في الملخص. أبقِ علامة التبويب تلك مفتوحة؛ وإذا لم تُفتح، فانسخ/ألصق عنوان URL المطبوع على الجهاز نفسه. + + يفتح المعالج متصفحك بعنوان URL نظيف للوحة التحكم (من دون رمز مميز) مباشرةً بعد الإعداد الأولي، كما يطبع الرابط أيضًا في الملخص. أبقِ علامة التبويب تلك مفتوحة؛ وإذا لم تُفتح تلقائيًا، فانسخ/ألصق عنوان URL المطبوع على الجهاز نفسه. - - **localhost (الجهاز نفسه):** + + **Localhost (الجهاز نفسه):** - افتح `http://127.0.0.1:18789/`. - - إذا طلبت مصادقة سر مشترك، فألصق الرمز المميّز أو كلمة المرور المضبوطة في إعدادات Control UI. - - مصدر الرمز المميّز: `gateway.auth.token` (أو `OPENCLAW_GATEWAY_TOKEN`). + - إذا طلبت مصادقة shared-secret، فألصق الرمز المميز أو كلمة المرور المكوّنة في إعدادات Control UI. + - مصدر الرمز المميز: `gateway.auth.token` (أو `OPENCLAW_GATEWAY_TOKEN`). - مصدر كلمة المرور: `gateway.auth.password` (أو `OPENCLAW_GATEWAY_PASSWORD`). - - إذا لم يتم إعداد سر مشترك بعد، فأنشئ رمزًا مميّزًا باستخدام `openclaw doctor --generate-gateway-token`. + - إذا لم يتم تكوين shared secret بعد، فأنشئ رمزًا مميزًا باستخدام `openclaw doctor --generate-gateway-token`. **ليس على localhost:** - - **Tailscale Serve** (مُوصى به): أبقِ الربط على loopback، وشغّل `openclaw gateway --tailscale serve`، ثم افتح `https:///`. إذا كانت `gateway.auth.allowTailscale` مضبوطة على `true`، فإن ترويسات الهوية تلبّي مصادقة Control UI/WebSocket (من دون لصق سر مشترك، مع افتراض موثوقية مضيف Gateway)؛ تظل HTTP APIs تتطلب مصادقة السر المشترك إلا إذا استخدمت عمدًا `none` للدخول الخاص أو مصادقة HTTP عبر trusted-proxy. - تتم جدولة محاولات مصادقة Serve السيئة المتزامنة من العميل نفسه تسلسليًا قبل أن يسجل محدد المصادقة الفاشلة هذه المحاولات، لذا قد يظهر بالفعل في إعادة المحاولة السيئة الثانية `retry later`. - - **ربط Tailnet**: شغّل `openclaw gateway --bind tailnet --token ""` (أو اضبط مصادقة كلمة المرور)، وافتح `http://:18789/`، ثم ألصق السر المشترك المطابق في إعدادات لوحة المعلومات. - - **وكيل عكسي مدرك للهوية**: أبقِ Gateway خلف trusted-proxy غير مربوط بـ loopback، واضبط `gateway.auth.mode: "trusted-proxy"`، ثم افتح عنوان URL الخاص بالوكيل. - - **نفق SSH**: `ssh -N -L 18789:127.0.0.1:18789 user@host` ثم افتح `http://127.0.0.1:18789/`. تظل مصادقة السر المشترك مطبقة عبر النفق؛ ألصق الرمز المميّز أو كلمة المرور المضبوطة إذا طُلب منك ذلك. + - **Tailscale Serve** (موصى به): أبقِ الربط على loopback، وشغّل `openclaw gateway --tailscale serve`، ثم افتح `https:///`. إذا كانت `gateway.auth.allowTailscale` تساوي `true`، فإن ترويسات الهوية تفي بمصادقة Control UI/WebSocket (من دون لصق shared secret، مع افتراض موثوقية مضيف Gateway)؛ أما واجهات HTTP API فما تزال تتطلب مصادقة shared-secret إلا إذا استخدمت عمدًا `none` لإدخال خاص أو مصادقة HTTP عبر trusted-proxy. تتم مَسْلسلة محاولات مصادقة Serve المتزامنة السيئة من العميل نفسه قبل أن يسجل محدِّد المصادقة الفاشلة هذه المحاولات، لذلك قد تُظهر إعادة المحاولة السيئة الثانية بالفعل الرسالة `retry later`. + - **ربط Tailnet**: شغّل `openclaw gateway --bind tailnet --token ""` (أو كوّن مصادقة كلمة المرور)، وافتح `http://:18789/`، ثم ألصق shared secret المطابق في إعدادات لوحة التحكم. + - **وكيل عكسي مدرك للهوية**: أبقِ Gateway خلف trusted proxy غير مربوط بـ loopback، واضبط `gateway.auth.mode: "trusted-proxy"`، ثم افتح عنوان URL الخاص بالوكيل. + - **نفق SSH**: `ssh -N -L 18789:127.0.0.1:18789 user@host` ثم افتح `http://127.0.0.1:18789/`. تظل مصادقة shared-secret مطبقة عبر النفق؛ ألصق الرمز المميز أو كلمة المرور المكوّنة إذا طُلِب منك ذلك. - راجع [لوحة المعلومات](/web/dashboard) و[أسطح الويب](/web) لمعرفة أوضاع الربط وتفاصيل المصادقة. + راجع [لوحة التحكم](/web/dashboard) و[أسطح الويب](/web) لمعرفة أوضاع الربط وتفاصيل المصادقة. - - هما تتحكمان في طبقتين مختلفتين: + + إنهما يتحكمان في طبقتين مختلفتين: - - `approvals.exec`: يمرّر مطالبات الموافقة إلى وجهات الدردشة + - `approvals.exec`: يمرر مطالبات الموافقة إلى وجهات الدردشة - `channels..execApprovals`: يجعل تلك القناة تعمل كعميل موافقة أصلي لموافقات exec - تظل سياسة exec على المضيف هي بوابة الموافقة الفعلية. تتحكم إعدادات الدردشة فقط في المكان - الذي تظهر فيه مطالبات الموافقة وكيف يمكن للناس الرد عليها. + ما تزال سياسة exec الخاصة بالمضيف هي بوابة الموافقة الفعلية. يتحكم تكوين الدردشة فقط في مكان ظهور + مطالبات الموافقة وكيفية تمكّن الأشخاص من الرد عليها. - في معظم البيئات **لا** تحتاج إلى كليهما: + في معظم الإعدادات **لا** تحتاج إلى كليهما: - إذا كانت الدردشة تدعم الأوامر والردود بالفعل، فإن `/approve` في الدردشة نفسها يعمل عبر المسار المشترك. - - إذا كانت قناة أصلية مدعومة قادرة على استنتاج الموافقين بأمان، فإن OpenClaw يفعّل الآن تلقائيًا الموافقات الأصلية المعتمدة على الرسائل الخاصة أولًا عندما تكون `channels..execApprovals.enabled` غير مضبوطة أو مضبوطة على `"auto"`. - - عند توفر بطاقات/أزرار الموافقة الأصلية، تكون واجهة المستخدم الأصلية تلك هي المسار الأساسي؛ ويجب على الوكيل تضمين أمر `/approve` يدوي فقط إذا كانت نتيجة الأداة تشير إلى أن موافقات الدردشة غير متاحة أو أن الموافقة اليدوية هي المسار الوحيد. + - إذا كانت هناك قناة أصلية مدعومة تستطيع استنتاج الموافقين بأمان، فإن OpenClaw يفعّل الآن تلقائيًا الموافقات الأصلية المعتمدة على الرسائل الخاصة أولًا عندما تكون `channels..execApprovals.enabled` غير معيّنة أو تساوي `"auto"`. + - عندما تتوفر بطاقات/أزرار الموافقة الأصلية، تكون واجهة المستخدم الأصلية تلك هي المسار الأساسي؛ ويجب ألا يضمّن الوكيل أمر `/approve` يدويًا إلا إذا كانت نتيجة الأداة تشير إلى أن موافقات الدردشة غير متاحة أو أن الموافقة اليدوية هي المسار الوحيد. - استخدم `approvals.exec` فقط عندما يجب أيضًا تمرير المطالبات إلى دردشات أخرى أو غرف عمليات صريحة. - استخدم `channels..execApprovals.target: "channel"` أو `"both"` فقط عندما تريد صراحةً نشر مطالبات الموافقة مرة أخرى في الغرفة/الموضوع الأصلي. - - موافقات Plugin منفصلة أيضًا: فهي تستخدم `/approve` في الدردشة نفسها افتراضيًا، مع تمرير اختياري عبر `approvals.plugin`، ولا تحتفظ إلا بعض القنوات الأصلية بمعالجة أصلية إضافية لموافقات Plugin. + - موافقات Plugin منفصلة مرة أخرى: فهي تستخدم `/approve` في الدردشة نفسها افتراضيًا، مع تمرير اختياري عبر `approvals.plugin`، وفقط بعض القنوات الأصلية تُبقي معالجة الموافقة الأصلية الخاصة بـ plugin فوق ذلك. - باختصار: التمرير مخصص للتوجيه، أما إعدادات العميل الأصلي فهي مخصصة لتجربة مستخدم أغنى خاصة بالقناة. + النسخة المختصرة: التمرير مخصص للتوجيه، وتكوين العميل الأصلي مخصص لتجربة استخدام أغنى خاصة بالقناة. راجع [موافقات Exec](/ar/tools/exec-approvals). - + Node **>= 22** مطلوب. يُوصى باستخدام `pnpm`. لا يُوصى باستخدام Bun مع Gateway. - نعم. Gateway خفيف - وتذكر المستندات أن **512MB-1GB RAM** و**نواة واحدة** ونحو **500MB** - من مساحة القرص كافية للاستخدام الشخصي، كما تشير إلى أن **Raspberry Pi 4 يمكنه تشغيله**. + نعم. Gateway خفيف - تشير الوثائق إلى أن **512MB-1GB من الذاكرة RAM** و**نواة واحدة** ونحو **500MB** + من المساحة التخزينية تكفي للاستخدام الشخصي، كما تشير إلى أن **Raspberry Pi 4 يمكنه تشغيله**. - إذا كنت تريد هامشًا إضافيًا (للسجلات، والوسائط، والخدمات الأخرى)، فإن **2GB موصى بها**، لكنها + إذا كنت تريد هامشًا إضافيًا (للسجلات والوسائط والخدمات الأخرى)، فإن **2GB موصى بها**، لكنها ليست حدًا أدنى صارمًا. - نصيحة: يمكن لجهاز Pi/VPS صغير استضافة Gateway، ويمكنك إقران **Nodes** على الحاسوب المحمول/الهاتف من أجل - الشاشة/الكاميرا/Canvas المحلية أو تنفيذ الأوامر. راجع [Nodes](/ar/nodes). + نصيحة: يمكن لجهاز Pi/VPS صغير استضافة Gateway، ويمكنك إقران **nodes** على حاسوبك المحمول/هاتفك من أجل + الشاشة/الكاميرا/اللوحة المحلية أو تنفيذ الأوامر. راجع [Nodes](/ar/nodes). - - باختصار: يعمل، لكن توقّع بعض الجوانب غير المصقولة. + + باختصار: نعم، يعمل، لكن توقّع بعض الزوايا الخشنة. - - استخدم نظام تشغيل **64-bit** وأبقِ Node >= 22. - - فضّل **التثبيت القابل للتعديل (git)** حتى تتمكن من رؤية السجلات والتحديث بسرعة. + - استخدم نظام تشغيل **64-bit** واحتفظ بإصدار Node >= 22. + - فضّل تثبيت **hackable (git)** حتى تتمكن من رؤية السجلات والتحديث بسرعة. - ابدأ من دون قنوات/Skills، ثم أضفها واحدة تلو الأخرى. - - إذا واجهت مشكلات غريبة متعلقة بالملفات الثنائية، فعادةً ما تكون مشكلة **توافق ARM**. + - إذا واجهت مشكلات غريبة في الملفات الثنائية، فعادةً ما تكون مشكلة **توافق ARM**. - المستندات: [Linux](/ar/platforms/linux)، [التثبيت](/ar/install). + الوثائق: [Linux](/ar/platforms/linux)، [التثبيت](/ar/install). - - تعتمد هذه الشاشة على أن يكون Gateway قابلاً للوصول ومصادَقًا عليه. كما يرسل TUI أيضًا - "Wake up, my friend!" تلقائيًا عند أول اكتمال. إذا رأيت هذا السطر **من دون رد** - وبقيت الرموز عند 0، فهذا يعني أن الوكيل لم يعمل مطلقًا. + + تعتمد تلك الشاشة على إمكانية الوصول إلى Gateway ومصادقته. كما أن TUI يرسل أيضًا + "Wake up, my friend!" تلقائيًا عند أول اكتمال للإعداد. إذا رأيت هذا السطر **من دون رد** + وظلت الرموز المميزة عند 0، فهذا يعني أن الوكيل لم يعمل أبدًا. 1. أعد تشغيل Gateway: @@ -262,7 +261,7 @@ x-i18n: openclaw gateway restart ``` - 2. تحقق من الحالة + المصادقة: + 2. افحص الحالة + المصادقة: ```bash openclaw status @@ -276,27 +275,27 @@ x-i18n: openclaw doctor ``` - إذا كان Gateway بعيدًا، فتأكد من أن اتصال النفق/Tailscale يعمل وأن واجهة المستخدم - موجّهة إلى Gateway الصحيح. راجع [الوصول البعيد](/ar/gateway/remote). + إذا كان Gateway بعيدًا، فتأكد من أن اتصال النفق/Tailscale قائم وأن واجهة المستخدم + موجهة إلى Gateway الصحيح. راجع [الوصول عن بُعد](/ar/gateway/remote). - - نعم. انسخ **دليل الحالة** و**مساحة العمل**، ثم شغّل Doctor مرة واحدة. هذا - يُبقي البوت "كما هو تمامًا" (الذاكرة، وسجل الجلسات، والمصادقة، وحالة القناة) - ما دمت تنسخ **الموقعين** معًا: + + نعم. انسخ **دليل الحالة** و**مساحة العمل**، ثم شغّل Doctor مرة واحدة. يحافظ هذا + على الروبوت الخاص بك "كما هو تمامًا" (الذاكرة، وسجل الجلسات، والمصادقة، وحالة + القناة) طالما أنك تنسخ **كلا** الموقعين: 1. ثبّت OpenClaw على الجهاز الجديد. 2. انسخ `$OPENCLAW_STATE_DIR` (الافتراضي: `~/.openclaw`) من الجهاز القديم. 3. انسخ مساحة العمل الخاصة بك (الافتراضي: `~/.openclaw/workspace`). 4. شغّل `openclaw doctor` وأعد تشغيل خدمة Gateway. - هذا يحافظ على الإعدادات، وملفات تعريف المصادقة، وبيانات اعتماد WhatsApp، والجلسات، والذاكرة. إذا كنت تعمل في - الوضع البعيد، فتذكر أن مضيف Gateway هو الذي يملك مخزن الجلسات ومساحة العمل. + يحافظ ذلك على التكوين، وملفات تعريف المصادقة، وبيانات اعتماد WhatsApp، والجلسات، والذاكرة. إذا كنت في + الوضع البعيد، فتذكّر أن مضيف Gateway هو من يملك مخزن الجلسات ومساحة العمل. - **مهم:** إذا كنت تكتفي فقط بعمل commit/push لمساحة العمل الخاصة بك إلى GitHub، فأنت تنشئ - نسخة احتياطية من **الذاكرة + ملفات التمهيد**، لكن **ليس** من سجل الجلسات أو المصادقة. فهذه موجودة - ضمن `~/.openclaw/` (على سبيل المثال `~/.openclaw/agents//sessions/`). + **مهم:** إذا كنت تلتزم/تدفع مساحة العمل الخاصة بك فقط إلى GitHub، فأنت تنشئ نسخة + احتياطية من **الذاكرة + ملفات التمهيد**، ولكن **ليس** من سجل الجلسات أو المصادقة. هذه العناصر + موجودة ضمن `~/.openclaw/` (على سبيل المثال `~/.openclaw/agents//sessions/`). ذو صلة: [الترحيل](/ar/install/migrating)، [أين توجد الأشياء على القرص](#where-things-live-on-disk)، [مساحة عمل الوكيل](/ar/concepts/agent-workspace)، [Doctor](/ar/gateway/doctor)، @@ -304,47 +303,47 @@ x-i18n: - - راجع سجل التغييرات على GitHub: + + تحقق من سجل التغييرات على GitHub: [https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md](https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md) - أحدث الإدخالات تكون في الأعلى. إذا كان القسم العلوي موسومًا بـ **Unreleased**، فالقسم التالي المؤرخ - هو أحدث إصدار تم شحنه. تُجمع الإدخالات تحت **Highlights** و**Changes** و - **Fixes** (بالإضافة إلى أقسام المستندات/الأقسام الأخرى عند الحاجة). + أحدث الإدخالات تكون في الأعلى. إذا كان القسم العلوي مميزًا بأنه **Unreleased**، فالقسم التالي المؤرخ + هو أحدث إصدار تم شحنه. تُجمَّع الإدخالات ضمن **Highlights** و**Changes** و + **Fixes** (بالإضافة إلى أقسام الوثائق/الأقسام الأخرى عند الحاجة). - + تقوم بعض اتصالات Comcast/Xfinity بحظر `docs.openclaw.ai` بشكل غير صحيح عبر Xfinity Advanced Security. عطّلها أو أضف `docs.openclaw.ai` إلى قائمة السماح، ثم أعد المحاولة. - نرجو مساعدتنا في رفع الحظر عنه بالإبلاغ هنا: [https://spa.xfinity.com/check_url_status](https://spa.xfinity.com/check_url_status). + يُرجى مساعدتنا في رفع الحظر عنه عبر الإبلاغ هنا: [https://spa.xfinity.com/check_url_status](https://spa.xfinity.com/check_url_status). - إذا كنت لا تزال غير قادر على الوصول إلى الموقع، فالمستندات لها نسخة مرآة على GitHub: + إذا كنت لا تزال غير قادر على الوصول إلى الموقع، فالوثائق معكوسة على GitHub: [https://github.com/openclaw/openclaw/tree/main/docs](https://github.com/openclaw/openclaw/tree/main/docs) - إن **Stable** و**beta** هما **npm dist-tags**، وليسا سطرَي شيفرة منفصلين: + إن **Stable** و**beta** هما **npm dist-tags**، وليسا سطرين منفصلين من الشيفرة: - `latest` = stable - `beta` = إصدار مبكر للاختبار عادةً، يصل الإصدار المستقر إلى **beta** أولًا، ثم تنقل خطوة ترقية صريحة الإصدار نفسه إلى `latest`. ويمكن للمشرفين أيضًا - النشر مباشرة إلى `latest` عند الحاجة. ولهذا يمكن أن يشير beta وstable + النشر مباشرة إلى `latest` عند الحاجة. لهذا السبب يمكن أن يشير beta وstable إلى **الإصدار نفسه** بعد الترقية. لمعرفة ما الذي تغيّر: [https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md](https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md) - لمعرفة أوامر التثبيت المختصرة والفرق بين beta وdev، راجع الأكورديون أدناه. + للاطلاع على أوامر التثبيت المختصرة والفرق بين beta وdev، راجع الأكورديون أدناه. - + **Beta** هو npm dist-tag `beta` (وقد يطابق `latest` بعد الترقية). - أما **Dev** فهو الرأس المتحرك للفرع `main` (git)؛ وعند نشره، يستخدم npm dist-tag `dev`. + **Dev** هو الرأس المتحرك للفرع `main` (git)؛ وعند نشره يستخدم npm dist-tag `dev`. أوامر مختصرة (macOS/Linux): @@ -356,15 +355,15 @@ x-i18n: curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git ``` - أداة تثبيت Windows (PowerShell): + مُثبّت Windows (PowerShell): [https://openclaw.ai/install.ps1](https://openclaw.ai/install.ps1) - مزيد من التفاصيل: [قنوات التطوير](/ar/install/development-channels) و[علامات أداة التثبيت](/ar/install/installer). + مزيد من التفاصيل: [قنوات التطوير](/ar/install/development-channels) و[علامات المُثبّت](/ar/install/installer). - - هناك خياران: + + خياران: 1. **قناة Dev (نسخة git محلية):** @@ -372,17 +371,17 @@ x-i18n: openclaw update --channel dev ``` - يؤدي هذا إلى التبديل إلى الفرع `main` والتحديث من المصدر. + هذا يبدّل إلى الفرع `main` ويحدّث من المصدر. - 2. **تثبيت قابل للتعديل (من موقع أداة التثبيت):** + 2. **تثبيت Hackable (من موقع المُثبّت):** ```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git ``` - يمنحك هذا مستودعًا محليًا يمكنك تعديله، ثم تحديثه عبر git. + يمنحك ذلك مستودعًا محليًا يمكنك تعديله، ثم تحديثه عبر git. - إذا كنت تفضّل استنساخًا نظيفًا يدويًا، فاستخدم: + إذا كنت تفضل نسخة محلية نظيفة يدويًا، فاستخدم: ```bash git clone https://github.com/openclaw/openclaw.git @@ -391,36 +390,36 @@ x-i18n: pnpm build ``` - المستندات: [التحديث](/cli/update)، [قنوات التطوير](/ar/install/development-channels)، + الوثائق: [التحديث](/cli/update)، [قنوات التطوير](/ar/install/development-channels)، [التثبيت](/ar/install). - + دليل تقريبي: - **التثبيت:** من 2 إلى 5 دقائق - - **التهيئة الأولية:** من 5 إلى 15 دقيقة حسب عدد القنوات/النماذج التي تقوم بإعدادها + - **الإعداد الأولي:** من 5 إلى 15 دقيقة بحسب عدد القنوات/النماذج التي تكوّنها - إذا بدا أنه عالق، فاستخدم [تعطلت أداة التثبيت؟](#quick-start-and-first-run-setup) + إذا بدا أنه عالق، فاستخدم [المُثبّت عالق؟](#quick-start-and-first-run-setup) وحلقة التصحيح السريعة في [أنا عالق](#quick-start-and-first-run-setup). - - أعد تشغيل أداة التثبيت مع **مخرجات تفصيلية**: + + أعد تشغيل المُثبّت مع **مخرجات تفصيلية**: ```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --verbose ``` - تثبيت Beta مع الوضع التفصيلي: + تثبيت Beta مع مخرجات تفصيلية: ```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --beta --verbose ``` - لتثبيت قابل للتعديل (git): + لتثبيت hackable (git): ```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git --verbose @@ -435,44 +434,44 @@ x-i18n: Set-PSDebug -Trace 0 ``` - مزيد من الخيارات: [علامات أداة التثبيت](/ar/install/installer). + مزيد من الخيارات: [علامات المُثبّت](/ar/install/installer). هناك مشكلتان شائعتان في Windows: - **1) خطأ npm spawn git / git not found** + **1) خطأ npm spawn git / git غير موجود** - - ثبّت **Git for Windows** وتأكد من أن `git` موجود على PATH. - - أغلق PowerShell وأعد فتحه، ثم أعد تشغيل أداة التثبيت. + - ثبّت **Git for Windows** وتأكد من أن `git` موجود في PATH. + - أغلق PowerShell وأعد فتحه، ثم أعد تشغيل المُثبّت. - **2) openclaw is not recognized after install** + **2) openclaw غير معروف بعد التثبيت** - - مجلد npm global bin ليس موجودًا على PATH. - - تحقّق من المسار: + - مجلد npm global bin غير موجود في PATH. + - تحقق من المسار: ```powershell npm config get prefix ``` - - أضف ذلك الدليل إلى PATH الخاص بالمستخدم (لا حاجة إلى اللاحقة `\bin` في Windows؛ وفي معظم الأنظمة يكون `%AppData%\npm`). + - أضف ذلك الدليل إلى PATH الخاص بالمستخدم (لا حاجة إلى اللاحقة `\bin` في Windows؛ ففي معظم الأنظمة يكون `%AppData%\npm`). - أغلق PowerShell وأعد فتحه بعد تحديث PATH. - إذا كنت تريد إعداد Windows الأكثر سلاسة، فاستخدم **WSL2** بدلًا من Windows الأصلي. - المستندات: [Windows](/ar/platforms/windows). + إذا كنت تريد أكثر إعداد سلاسة على Windows، فاستخدم **WSL2** بدلًا من Windows الأصلي. + الوثائق: [Windows](/ar/platforms/windows). - - يكون السبب عادةً عدم تطابق صفحة ترميز وحدة التحكم في أصداف Windows الأصلية. + + يكون السبب عادةً عدم تطابق صفحة ترميز وحدة التحكم في بيئات Windows الأصلية. الأعراض: - - ناتج `system.run`/`exec` يعرض النص الصيني بشكل مشوّه - - الأمر نفسه يظهر بشكل صحيح في ملف تعريف طرفية آخر + - يُعرض خرج `system.run`/`exec` للنص الصيني على شكل محارف مشوهة + - يبدو الأمر نفسه صحيحًا في ملف تعريف طرفية آخر - حل سريع مؤقت في PowerShell: + حل بديل سريع في PowerShell: ```powershell chcp 65001 @@ -487,66 +486,66 @@ x-i18n: openclaw gateway restart ``` - إذا استمرت المشكلة على أحدث إصدار من OpenClaw، فتابعها/أبلغ عنها هنا: + إذا كنت لا تزال قادرًا على إعادة ظهور هذه المشكلة في أحدث OpenClaw، فتابعها/أبلِغ عنها في: - [Issue #30640](https://github.com/openclaw/openclaw/issues/30640) - - استخدم **التثبيت القابل للتعديل (git)** حتى تحصل على المصدر الكامل والمستندات محليًا، ثم اسأل - البوت الخاص بك (أو Claude/Codex) _من داخل ذلك المجلد_ حتى يتمكن من قراءة المستودع والإجابة بدقة. + + استخدم **تثبيت hackable (git)** حتى تكون لديك الشيفرة المصدرية الكاملة والوثائق محليًا، ثم اسأل + الروبوت الخاص بك (أو Claude/Codex) _من ذلك المجلد_ حتى يتمكن من قراءة المستودع والإجابة بدقة. ```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git ``` - مزيد من التفاصيل: [التثبيت](/ar/install) و[علامات أداة التثبيت](/ar/install/installer). + مزيد من التفاصيل: [التثبيت](/ar/install) و[علامات المُثبّت](/ar/install/installer). - - الإجابة القصيرة: اتبع دليل Linux، ثم شغّل التهيئة الأولية. + + الإجابة المختصرة: اتبع دليل Linux، ثم شغّل الإعداد الأولي. - المسار السريع لـ Linux + تثبيت الخدمة: [Linux](/ar/platforms/linux). - الشرح الكامل: [البدء](/ar/start/getting-started). - - أداة التثبيت + التحديثات: [التثبيت والتحديثات](/ar/install/updating). + - المُثبّت + التحديثات: [التثبيت والتحديثات](/ar/install/updating). - - أي VPS يعمل بنظام Linux مناسب. ثبّت البرنامج على الخادم، ثم استخدم SSH/Tailscale للوصول إلى Gateway. + + يعمل أي VPS بنظام Linux. ثبّت على الخادم، ثم استخدم SSH/Tailscale للوصول إلى Gateway. الأدلة: [exe.dev](/ar/install/exe-dev)، [Hetzner](/ar/install/hetzner)، [Fly.io](/ar/install/fly). - الوصول البعيد: [Gateway remote](/ar/gateway/remote). + الوصول عن بُعد: [Gateway البعيد](/ar/gateway/remote). - لدينا **مركز استضافة** يضم مزودي الخدمة الشائعين. اختر واحدًا واتبع الدليل: + نحتفظ **بمركز استضافة** يضم المزوّدين الشائعين. اختر أحدهم واتبع الدليل: - - [استضافة VPS](/ar/vps) (كل المزوّدين في مكان واحد) + - [استضافة VPS](/ar/vps) (جميع المزوّدين في مكان واحد) - [Fly.io](/ar/install/fly) - [Hetzner](/ar/install/hetzner) - [exe.dev](/ar/install/exe-dev) - طريقة العمل على السحابة: يتم تشغيل **Gateway على الخادم**، وتصل إليه - من حاسوبك المحمول/هاتفك عبر Control UI (أو Tailscale/SSH). وتعيش حالتك + مساحة العمل - على الخادم، لذا تعامل مع المضيف على أنه مصدر الحقيقة وقم بعمل نسخ احتياطي له. + كيفية عمله في السحابة: يتم تشغيل **Gateway على الخادم**، وتصل إليه + من حاسوبك المحمول/هاتفك عبر Control UI (أو Tailscale/SSH). وتوجد حالتك + مساحة عملك + على الخادم، لذا تعامل مع المضيف على أنه مصدر الحقيقة وخذ له نسخًا احتياطية. - يمكنك إقران **Nodes** (Mac/iOS/Android/headless) مع Gateway السحابي هذا للوصول إلى - الشاشة/الكاميرا/Canvas المحلية أو تشغيل الأوامر على حاسوبك المحمول مع الإبقاء على + يمكنك إقران **nodes** (Mac/iOS/Android/headless) مع Gateway السحابي هذا للوصول إلى + الشاشة/الكاميرا/اللوحة المحلية أو تشغيل الأوامر على حاسوبك المحمول مع الإبقاء على Gateway في السحابة. - المركز: [المنصات](/ar/platforms). الوصول البعيد: [Gateway remote](/ar/gateway/remote). - Nodes: [Nodes](/ar/nodes)، [Nodes CLI](/cli/nodes). + المركز: [المنصات](/ar/platforms). الوصول عن بُعد: [Gateway البعيد](/ar/gateway/remote). + Nodes: [Nodes](/ar/nodes)، [CLI لـ Nodes](/cli/nodes). - الإجابة القصيرة: **ممكن، لكنه غير مُوصى به**. قد تؤدي عملية التحديث إلى إعادة تشغيل - Gateway (مما يُسقط الجلسة النشطة)، وقد تحتاج إلى نسخة git نظيفة، كما - قد تطلب تأكيدًا. والأكثر أمانًا هو تشغيل التحديثات من سطر الأوامر بصفتك المشغّل. + الإجابة المختصرة: **ممكن، لكنه غير موصى به**. يمكن لتدفق التحديث أن يعيد تشغيل + Gateway (ما يؤدي إلى إسقاط الجلسة النشطة)، وقد يحتاج إلى نسخة git محلية نظيفة، + وقد يطلب تأكيدًا. والأكثر أمانًا: تشغيل التحديثات من صدفة الأوامر بصفتك المشغّل. استخدم CLI: @@ -558,52 +557,53 @@ x-i18n: openclaw update --no-restart ``` - إذا كان لا بد من أتمتة ذلك من وكيل: + إذا كان لا بد من الأتمتة من وكيل: ```bash openclaw update --yes --no-restart openclaw gateway restart ``` - المستندات: [التحديث](/cli/update)، [التحديث](/ar/install/updating). + الوثائق: [التحديث](/cli/update)، [التحديث](/ar/install/updating). - - `openclaw onboard` هو مسار الإعداد الموصى به. في **الوضع المحلي** يأخذك عبر: + + `openclaw onboard` هو مسار الإعداد الموصى به. في **الوضع المحلي**، يوجّهك خلال: - - **إعداد النموذج/المصادقة** (OAuth للمزوّد، ومفاتيح API، وsetup-token الخاصة بـ Anthropic، بالإضافة إلى خيارات النماذج المحلية مثل LM Studio) + - **إعداد النموذج/المصادقة** (OAuth للمزوّد، مفاتيح API، Anthropic setup-token، بالإضافة إلى خيارات النماذج المحلية مثل LM Studio) - موقع **مساحة العمل** + ملفات التمهيد - - **إعدادات Gateway** (الربط/المنفذ/المصادقة/Tailscale) - - **القنوات** (WhatsApp، وTelegram، وDiscord، وMattermost، وSignal، وiMessage، بالإضافة إلى Plugin قنوات مضمّنة مثل QQ Bot) - - **تثبيت العملية الخلفية** (LaunchAgent على macOS؛ ووحدة مستخدم systemd على Linux/WSL2) + - **إعدادات Gateway** (الربط/المنفذ/المصادقة/tailscale) + - **القنوات** (WhatsApp وTelegram وDiscord وMattermost وSignal وiMessage، بالإضافة إلى Plugins القنوات المضمّنة مثل QQ Bot) + - **تثبيت العملية الخدمية** (LaunchAgent على macOS؛ ووحدة مستخدم systemd على Linux/WSL2) - **فحوصات الصحة** واختيار **Skills** - كما أنه يحذّر أيضًا إذا كان النموذج الذي قمت بإعداده غير معروف أو تنقصه المصادقة. + كما أنه يحذّر أيضًا إذا كان النموذج الذي قمت بتكوينه غير معروف أو يفتقد المصادقة. لا. يمكنك تشغيل OpenClaw باستخدام **مفاتيح API** (Anthropic/OpenAI/وغيرها) أو باستخدام - **نماذج محلية فقط** حتى تبقى بياناتك على جهازك. الاشتراكات (Claude - Pro/Max أو OpenAI Codex) هي طرق اختيارية لمصادقة هؤلاء المزوّدين. + **نماذج محلية فقط** بحيث تبقى بياناتك على جهازك. الاشتراكات (Claude + Pro/Max أو OpenAI Codex) هي وسائل اختيارية لمصادقة هؤلاء المزوّدين. بالنسبة إلى Anthropic في OpenClaw، فالتقسيم العملي هو: - - **مفتاح Anthropic API**: فوترة عادية لـ Anthropic API + - **مفتاح Anthropic API**: فوترة Anthropic API العادية - **مصادقة Claude CLI / اشتراك Claude داخل OpenClaw**: أخبرنا موظفو Anthropic أن هذا الاستخدام مسموح به مرة أخرى، ويتعامل OpenClaw مع استخدام `claude -p` - على أنه معتمد لهذا التكامل ما لم تنشر Anthropic سياسة جديدة + على أنه معتمد لهذا التكامل ما لم تنشر Anthropic + سياسة جديدة - بالنسبة إلى مضيفي Gateway طويلة الأمد، تظل مفاتيح Anthropic API هي - الإعداد الأكثر قابلية للتنبؤ. كما أن OpenAI Codex OAuth مدعوم صراحةً للأدوات + بالنسبة إلى مضيفي Gateway طويلة العمر، تبقى مفاتيح Anthropic API الإعداد + الأكثر قابلية للتنبؤ. كما أن OpenAI Codex OAuth مدعوم صراحةً للأدوات الخارجية مثل OpenClaw. - يدعم OpenClaw أيضًا خيارات أخرى مستضافة على نمط الاشتراك، بما في ذلك - **Qwen Cloud Coding Plan**، و**MiniMax Coding Plan**، و + يدعم OpenClaw أيضًا خيارات أخرى مستضافة على نمط الاشتراك بما في ذلك + **Qwen Cloud Coding Plan** و**MiniMax Coding Plan** و **Z.AI / GLM Coding Plan**. - المستندات: [Anthropic](/ar/providers/anthropic)، [OpenAI](/ar/providers/openai)، + الوثائق: [Anthropic](/ar/providers/anthropic)، [OpenAI](/ar/providers/openai)، [Qwen Cloud](/ar/providers/qwen)، [MiniMax](/ar/providers/minimax)، [GLM Models](/ar/providers/glm)، [النماذج المحلية](/ar/gateway/local-models)، [النماذج](/ar/concepts/models). @@ -613,23 +613,23 @@ x-i18n: نعم. - أخبرنا موظفو Anthropic أن استخدام Claude CLI بأسلوب OpenClaw مسموح به مرة أخرى، لذلك + أخبرنا موظفو Anthropic أن استخدام Claude CLI على نمط OpenClaw مسموح به مرة أخرى، لذلك يتعامل OpenClaw مع مصادقة اشتراك Claude واستخدام `claude -p` على أنهما معتمدان لهذا التكامل ما لم تنشر Anthropic سياسة جديدة. وإذا كنت تريد - أكثر إعدادات جانب الخادم قابلية للتنبؤ، فاستخدم مفتاح Anthropic API بدلًا من ذلك. + الإعداد الأكثر قابلية للتنبؤ على جانب الخادم، فاستخدم مفتاح Anthropic API بدلًا من ذلك. نعم. - أخبرنا موظفو Anthropic أن هذا الاستخدام مسموح به مرة أخرى، لذلك يتعامل OpenClaw مع - إعادة استخدام Claude CLI واستخدام `claude -p` على أنهما معتمدان لهذا التكامل + أخبرنا موظفو Anthropic أن هذا الاستخدام مسموح به مرة أخرى، لذلك يتعامل OpenClaw + مع إعادة استخدام Claude CLI واستخدام `claude -p` على أنهما معتمدان لهذا التكامل ما لم تنشر Anthropic سياسة جديدة. - لا يزال Anthropic setup-token متاحًا كمسار رمز مدعوم في OpenClaw، لكن OpenClaw يفضّل الآن إعادة استخدام Claude CLI و`claude -p` عند توفرهما. - أما لأعباء العمل الإنتاجية أو متعددة المستخدمين، فما تزال مصادقة مفتاح Anthropic API هي - الخيار الأكثر أمانًا وقابلية للتنبؤ. وإذا كنت تريد خيارات أخرى مستضافة + ما يزال Anthropic setup-token متاحًا كمسار رمز مميز مدعوم في OpenClaw، لكن OpenClaw يفضّل الآن إعادة استخدام Claude CLI و`claude -p` عند توفرهما. + أما لأحمال العمل الإنتاجية أو متعددة المستخدمين، فتبقى + مصادقة مفتاح Anthropic API الخيار الأكثر أمانًا وقابلية للتنبؤ. وإذا كنت تريد خيارات أخرى مستضافة على نمط الاشتراك في OpenClaw، فراجع [OpenAI](/ar/providers/openai)، و[Qwen / Model Cloud](/ar/providers/qwen)، و[MiniMax](/ar/providers/minimax)، و[GLM Models](/ar/providers/glm). @@ -638,71 +638,71 @@ x-i18n: -هذا يعني أن **الحصة/حد المعدل الخاص بـ Anthropic** قد استُنفد في النافذة الحالية. إذا كنت +هذا يعني أن **حصة Anthropic / حد المعدل** لديك قد استُنفِد خلال النافذة الحالية. إذا كنت تستخدم **Claude CLI**، فانتظر حتى تُعاد تهيئة النافذة أو قم بترقية خطتك. وإذا كنت تستخدم **مفتاح Anthropic API**، فتحقق من Anthropic Console -من الاستخدام/الفوترة وارفع الحدود عند الحاجة. +لمعرفة الاستخدام/الفوترة وارفع الحدود عند الحاجة. إذا كانت الرسالة تحديدًا: `Extra usage is required for long context requests`، فهذا يعني أن الطلب يحاول استخدام - الإصدار التجريبي 1M context من Anthropic (`context1m: true`). ولا يعمل ذلك إلا عندما تكون - بيانات الاعتماد الخاصة بك مؤهلة لفوترة السياق الطويل (فوترة مفتاح API أو - مسار Claude-login الخاص بـ OpenClaw مع تمكين Extra Usage). + النسخة التجريبية من سياق Anthropic ذي 1M (`context1m: true`). ولا يعمل ذلك إلا عندما تكون + بيانات اعتمادك مؤهلة لفوترة السياق الطويل (فوترة مفتاح API أو + مسار Claude-login في OpenClaw مع تمكين Extra Usage). - نصيحة: اضبط **fallback model** حتى يتمكن OpenClaw من الاستمرار في الرد عندما يكون أحد المزوّدين مقيّدًا بالمعدل. - راجع [Models](/cli/models)، و[OAuth](/ar/concepts/oauth)، و + نصيحة: اضبط **نموذجًا احتياطيًا** حتى يتمكن OpenClaw من مواصلة الرد بينما يكون أحد المزوّدين مقيّدًا بالمعدل. + راجع [النماذج](/cli/models)، و[OAuth](/ar/concepts/oauth)، و [/gateway/troubleshooting#anthropic-429-extra-usage-required-for-long-context](/ar/gateway/troubleshooting#anthropic-429-extra-usage-required-for-long-context). - نعم. يحتوي OpenClaw على مزوّد **Amazon Bedrock (Converse)** مضمّن. عند وجود مؤشرات بيئة AWS، يمكن لـ OpenClaw اكتشاف كتالوج Bedrock للبث/النص تلقائيًا ودمجه كمزوّد ضمني `amazon-bedrock`؛ وإلا يمكنك تمكين `plugins.entries.amazon-bedrock.config.discovery.enabled` صراحةً أو إضافة إدخال مزوّد يدوي. راجع [Amazon Bedrock](/ar/providers/bedrock) و[مزوّدو النماذج](/ar/providers/models). وإذا كنت تفضّل تدفق مفاتيح مُدارًا، فإن وكيلًا متوافقًا مع OpenAI أمام Bedrock يظل خيارًا صالحًا. + نعم. يحتوي OpenClaw على مزوّد **Amazon Bedrock (Converse)** مضمّن. عند وجود مؤشرات بيئة AWS، يمكن لـ OpenClaw اكتشاف كتالوج Bedrock للبث/النص تلقائيًا ودمجه كمزوّد ضمني باسم `amazon-bedrock`؛ وإلا فيمكنك تمكين `plugins.entries.amazon-bedrock.config.discovery.enabled` صراحةً أو إضافة إدخال مزوّد يدوي. راجع [Amazon Bedrock](/ar/providers/bedrock) و[مزودو النماذج](/ar/providers/models). وإذا كنت تفضّل تدفقًا مُدارًا للمفاتيح، فما يزال الوكيل المتوافق مع OpenAI أمام Bedrock خيارًا صالحًا. - يدعم OpenClaw **OpenAI Code (Codex)** عبر OAuth (تسجيل دخول ChatGPT). يمكن للتهيئة الأولية تشغيل تدفق OAuth وستضبط النموذج الافتراضي على `openai-codex/gpt-5.4` عند الاقتضاء. راجع [مزوّدو النماذج](/ar/concepts/model-providers) و[التهيئة الأولية (CLI)](/ar/start/wizard). + يدعم OpenClaw **OpenAI Code (Codex)** عبر OAuth (تسجيل الدخول إلى ChatGPT). يمكن للإعداد الأولي تشغيل تدفق OAuth وسيضبط النموذج الافتراضي إلى `openai-codex/gpt-5.4` عند الاقتضاء. راجع [مزودو النماذج](/ar/concepts/model-providers) و[الإعداد الأولي (CLI)](/ar/start/wizard). - يتعامل OpenClaw مع المسارين بشكل منفصل: + يتعامل OpenClaw مع المسارين على نحو منفصل: - `openai-codex/gpt-5.4` = OAuth الخاص بـ ChatGPT/Codex - `openai/gpt-5.4` = OpenAI Platform API المباشر - في OpenClaw، يتم توصيل تسجيل دخول ChatGPT/Codex بالمسار `openai-codex/*`، - وليس بالمسار المباشر `openai/*`. إذا كنت تريد مسار API المباشر في - OpenClaw، فاضبط `OPENAI_API_KEY` (أو إعداد مزوّد OpenAI المكافئ). - وإذا كنت تريد تسجيل دخول ChatGPT/Codex في OpenClaw، فاستخدم `openai-codex/*`. + في OpenClaw، يتم توصيل تسجيل الدخول إلى ChatGPT/Codex بالمسار `openai-codex/*`، + وليس بمسار `openai/*` المباشر. إذا كنت تريد مسار API المباشر في + OpenClaw، فاضبط `OPENAI_API_KEY` (أو تكوين مزود OpenAI المكافئ). + وإذا كنت تريد تسجيل الدخول إلى ChatGPT/Codex في OpenClaw، فاستخدم `openai-codex/*`. - - يستخدم `openai-codex/*` مسار Codex OAuth، ونوافذ الحصة القابلة للاستخدام فيه - تُدار من OpenAI وتعتمد على الخطة. وعمليًا، قد تختلف هذه الحدود عن + + يستخدم `openai-codex/*` مسار Codex OAuth، وتدير OpenAI نوافذ الحصة القابلة للاستخدام فيه + وتعتمد على الخطة. وعمليًا، قد تختلف تلك الحدود عن تجربة موقع/تطبيق ChatGPT، حتى عندما يكون كلاهما مرتبطًا بالحساب نفسه. يمكن لـ OpenClaw عرض نوافذ الاستخدام/الحصة المرئية حاليًا للمزوّد في - `openclaw models status`، لكنه لا يخترع ولا يوحّد - استحقاقات ChatGPT web لتصبح وصولًا مباشرًا إلى API. وإذا كنت تريد مسار - الفوترة/الحدود المباشر في OpenAI Platform، فاستخدم `openai/*` مع مفتاح API. + `openclaw models status`، لكنه لا يخترع ولا يطبّع استحقاقات ChatGPT على الويب + إلى وصول مباشر لـ API. وإذا كنت تريد مسار الفوترة/الحدود المباشر في OpenAI Platform، + فاستخدم `openai/*` مع مفتاح API. - نعم. يدعم OpenClaw بالكامل **OpenAI Code (Codex) subscription OAuth**. - تسمح OpenAI صراحةً باستخدام subscription OAuth في الأدوات/سير العمل الخارجية - مثل OpenClaw. ويمكن للتهيئة الأولية تشغيل تدفق OAuth نيابةً عنك. + نعم. يدعم OpenClaw بالكامل **OAuth لاشتراك OpenAI Code (Codex)**. + تسمح OpenAI صراحةً باستخدام اشتراك OAuth في الأدوات/سير العمل الخارجية + مثل OpenClaw. ويمكن للإعداد الأولي تشغيل تدفق OAuth نيابةً عنك. - راجع [OAuth](/ar/concepts/oauth)، و[مزوّدو النماذج](/ar/concepts/model-providers)، و[التهيئة الأولية (CLI)](/ar/start/wizard). + راجع [OAuth](/ar/concepts/oauth)، و[مزودو النماذج](/ar/concepts/model-providers)، و[الإعداد الأولي (CLI)](/ar/start/wizard). - + يستخدم Gemini CLI **تدفق مصادقة Plugin**، وليس client id أو secret داخل `openclaw.json`. الخطوات: - 1. ثبّت Gemini CLI محليًا حتى يكون `gemini` موجودًا على `PATH` + 1. ثبّت Gemini CLI محليًا بحيث يكون `gemini` موجودًا في `PATH` - Homebrew: `brew install gemini-cli` - npm: `npm install -g @google/gemini-cli` 2. فعّل Plugin: `openclaw plugins enable google` @@ -710,72 +710,72 @@ x-i18n: 4. النموذج الافتراضي بعد تسجيل الدخول: `google-gemini-cli/gemini-3-flash-preview` 5. إذا فشلت الطلبات، فاضبط `GOOGLE_CLOUD_PROJECT` أو `GOOGLE_CLOUD_PROJECT_ID` على مضيف Gateway - يخزّن هذا رموز OAuth في ملفات تعريف المصادقة على مضيف Gateway. التفاصيل: [مزوّدو النماذج](/ar/concepts/model-providers). + يخزّن هذا رموز OAuth المميزة في ملفات تعريف المصادقة على مضيف Gateway. التفاصيل: [مزودو النماذج](/ar/concepts/model-providers). - - غالبًا لا. يحتاج OpenClaw إلى سياق كبير + أمان قوي؛ فالبطاقات الصغيرة تقوم بالاقتطاع والتسريب. وإذا كان لا بد من ذلك، فشغّل **أكبر** بنية نموذج يمكنك تشغيلها محليًا (LM Studio) وراجع [/gateway/local-models](/ar/gateway/local-models). تزيد النماذج الأصغر/المكمّمة من خطر حقن المطالبات - راجع [الأمان](/ar/gateway/security). + + عادةً لا. يحتاج OpenClaw إلى سياق كبير + أمان قوي؛ فالبطاقات الصغيرة تقطع المحتوى وتسرّب. وإذا كان لا بد، فشغّل **أكبر** بنية نموذج يمكنك تشغيلها محليًا (LM Studio) وراجع [/gateway/local-models](/ar/gateway/local-models). النماذج الأصغر/المكمّمة تزيد من خطر حقن المطالبات - راجع [الأمان](/ar/gateway/security). - - اختر نقاط نهاية مثبتة على منطقة محددة. يوفّر OpenRouter خيارات مستضافة في الولايات المتحدة لـ MiniMax وKimi وGLM؛ اختر النسخة المستضافة في الولايات المتحدة لإبقاء البيانات داخل المنطقة. ولا يزال بإمكانك إدراج Anthropic/OpenAI إلى جانب هذه الخيارات باستخدام `models.mode: "merge"` حتى تظل fallback متاحة مع احترام المزوّد المحدد حسب المنطقة الذي تختاره. + + اختر نقاط نهاية مثبتة على منطقة معينة. يوفّر OpenRouter خيارات مستضافة في الولايات المتحدة لـ MiniMax وKimi وGLM؛ اختر النسخة المستضافة في الولايات المتحدة للحفاظ على البيانات داخل المنطقة. ولا يزال بإمكانك إدراج Anthropic/OpenAI إلى جانب هذه الخيارات باستخدام `models.mode: "merge"` بحيث تبقى النماذج الاحتياطية متاحة مع احترام المزوّد المقيّد بالمنطقة الذي اخترته. - لا. يعمل OpenClaw على macOS أو Linux (وعلى Windows عبر WSL2). ويُعد Mac mini اختياريًا - فبعض الأشخاص - يشترونه كمضيف يعمل دائمًا، لكن VPS صغير أو خادم منزلي أو جهاز من فئة Raspberry Pi يعمل أيضًا. + لا. يعمل OpenClaw على macOS أو Linux (وWindows عبر WSL2). جهاز Mac mini اختياري - فبعض الأشخاص + يشترونه كمضيف يعمل دائمًا، لكن VPS صغيرًا أو خادمًا منزليًا أو جهازًا من فئة Raspberry Pi يعمل أيضًا. - أنت تحتاج إلى Mac **فقط لأدوات macOS-only**. وبالنسبة إلى iMessage، استخدم [BlueBubbles](/ar/channels/bluebubbles) (مُوصى به) - إذ يعمل خادم BlueBubbles على أي Mac، بينما يمكن أن يعمل Gateway على Linux أو في أي مكان آخر. وإذا كنت تريد أدوات أخرى خاصة بـ macOS، فشغّل Gateway على جهاز Mac أو قم بإقران Node يعمل بنظام macOS. + أنت تحتاج إلى Mac فقط **للأدوات الحصرية لـ macOS**. وبالنسبة إلى iMessage، استخدم [BlueBubbles](/ar/channels/bluebubbles) (موصى به) - يعمل خادم BlueBubbles على أي Mac، بينما يمكن أن يعمل Gateway على Linux أو في مكان آخر. وإذا كنت تريد أدوات أخرى حصرية لـ macOS، فشغّل Gateway على Mac أو اقترن مع Node لنظام macOS. - المستندات: [BlueBubbles](/ar/channels/bluebubbles)، [Nodes](/ar/nodes)، [Mac remote mode](/ar/platforms/mac/remote). + الوثائق: [BlueBubbles](/ar/channels/bluebubbles)، [Nodes](/ar/nodes)، [الوضع البعيد على Mac](/ar/platforms/mac/remote). - تحتاج إلى **جهاز macOS ما** مسجّل الدخول إلى Messages. ولا **يشترط** أن يكون Mac mini - - فأي Mac يكفي. **استخدم [BlueBubbles](/ar/channels/bluebubbles)** (مُوصى به) مع iMessage - إذ يعمل خادم BlueBubbles على macOS، بينما يمكن أن يعمل Gateway على Linux أو في أي مكان آخر. + تحتاج إلى **أي جهاز macOS** مسجّل الدخول إلى Messages. ولا **يلزم** أن يكون Mac mini - + فأي Mac يعمل. **استخدم [BlueBubbles](/ar/channels/bluebubbles)** (موصى به) مع iMessage - يعمل خادم BlueBubbles على macOS، بينما يمكن أن يعمل Gateway على Linux أو في مكان آخر. - الإعدادات الشائعة: + إعدادات شائعة: - شغّل Gateway على Linux/VPS، وشغّل خادم BlueBubbles على أي Mac مسجّل الدخول إلى Messages. - - شغّل كل شيء على جهاز Mac إذا كنت تريد أبسط إعداد أحادي الجهاز. + - شغّل كل شيء على جهاز Mac إذا كنت تريد أبسط إعداد على جهاز واحد. - المستندات: [BlueBubbles](/ar/channels/bluebubbles)، [Nodes](/ar/nodes)، - [Mac remote mode](/ar/platforms/mac/remote). + الوثائق: [BlueBubbles](/ar/channels/bluebubbles)، [Nodes](/ar/nodes)، + [الوضع البعيد على Mac](/ar/platforms/mac/remote). - - نعم. يمكن لـ **Mac mini تشغيل Gateway**، ويمكن لـ MacBook Pro الاتصال كـ - **Node** (جهاز مرافق). لا تقوم Nodes بتشغيل Gateway - بل توفّر - إمكانات إضافية مثل الشاشة/الكاميرا/Canvas و`system.run` على ذلك الجهاز. + + نعم. يمكن لـ **Mac mini تشغيل Gateway**، ويمكن لـ MacBook Pro الاتصال به بوصفه + **Node** (جهازًا مرافقًا). لا تقوم Nodes بتشغيل Gateway - بل توفّر + إمكانات إضافية مثل الشاشة/الكاميرا/اللوحة و`system.run` على ذلك الجهاز. - النمط الشائع: + نمط شائع: - - Gateway على Mac mini (يعمل دائمًا). + - Gateway على جهاز Mac mini (يعمل دائمًا). - يشغّل MacBook Pro تطبيق macOS أو مضيف Node ويقترن مع Gateway. - استخدم `openclaw nodes status` / `openclaw nodes list` لرؤيته. - المستندات: [Nodes](/ar/nodes)، [Nodes CLI](/cli/nodes). + الوثائق: [Nodes](/ar/nodes)، [CLI لـ Nodes](/cli/nodes). - استخدام Bun **غير مُوصى به**. نرى أخطاء وقت تشغيل، خصوصًا مع WhatsApp وTelegram. - استخدم **Node** للحصول على Gateways مستقرة. + لا يُوصى باستخدام Bun. نرى أخطاء وقت تشغيل، خاصةً مع WhatsApp وTelegram. + استخدم **Node** من أجل Gateways مستقرة. - وإذا كنت لا تزال تريد التجربة باستخدام Bun، فافعل ذلك على Gateway غير إنتاجية - من دون WhatsApp/Telegram. + إذا كنت لا تزال ترغب في التجربة مع Bun، فافعل ذلك على Gateway غير إنتاجية + ومن دون WhatsApp/Telegram. - - إن `channels.telegram.allowFrom` هو **Telegram user ID الخاص بالمرسل البشري** (رقمي). وليس اسم مستخدم البوت. + + `channels.telegram.allowFrom` هو **معرّف مستخدم Telegram البشري** (رقمي). وليس اسم مستخدم البوت. - تقبل التهيئة الأولية إدخال `@username` وتحوّله إلى معرّف رقمي، لكن تفويض OpenClaw يستخدم المعرّفات الرقمية فقط. + يقبل الإعداد الأولي إدخال `@username` ويحوّله إلى معرّف رقمي، لكن تفويض OpenClaw يستخدم المعرفات الرقمية فقط. - الأكثر أمانًا (من دون بوت تابع لجهة خارجية): + الطريقة الأكثر أمانًا (من دون بوت تابع لجهة خارجية): - أرسل رسالة خاصة إلى البوت، ثم شغّل `openclaw logs --follow` واقرأ `from.id`. @@ -783,7 +783,7 @@ x-i18n: - أرسل رسالة خاصة إلى البوت، ثم استدعِ `https://api.telegram.org/bot/getUpdates` واقرأ `message.from.id`. - طرف ثالث (خصوصية أقل): + جهة خارجية (خصوصية أقل): - أرسل رسالة خاصة إلى `@userinfobot` أو `@getidsbot`. @@ -791,12 +791,12 @@ x-i18n: - - نعم، عبر **توجيه الوكلاء المتعددين**. اربط **DM** الخاص بـ WhatsApp لكل مرسل (نظير `kind: "direct"`، مع رقم E.164 للمرسل مثل `+15551234567`) بـ `agentId` مختلف، حتى يحصل كل شخص على مساحة العمل ومخزن الجلسات الخاصين به. وستظل الردود صادرة من **حساب WhatsApp نفسه**، كما أن التحكم في الوصول إلى DM (`channels.whatsapp.dmPolicy` / `channels.whatsapp.allowFrom`) عام على مستوى حساب WhatsApp بأكمله. راجع [توجيه الوكلاء المتعددين](/ar/concepts/multi-agent) و[WhatsApp](/ar/channels/whatsapp). + + نعم، عبر **التوجيه متعدد الوكلاء**. اربط **الرسائل الخاصة** في WhatsApp لكل مرسل (النظير `kind: "direct"`، والمرسل E.164 مثل `+15551234567`) بـ `agentId` مختلف، بحيث يحصل كل شخص على مساحة العمل الخاصة به ومخزن الجلسات الخاص به. وتظل الردود صادرة من **حساب WhatsApp نفسه**، كما يبقى التحكم في الوصول إلى الرسائل الخاصة (`channels.whatsapp.dmPolicy` / `channels.whatsapp.allowFrom`) عامًا على مستوى حساب WhatsApp كله. راجع [التوجيه متعدد الوكلاء](/ar/concepts/multi-agent) و[WhatsApp](/ar/channels/whatsapp). - نعم. استخدم توجيه الوكلاء المتعددين: امنح كل وكيل نموذجه الافتراضي الخاص، ثم اربط المسارات الواردة (حساب المزوّد أو نظراء محددون) بكل وكيل. يوجد مثال للإعدادات في [توجيه الوكلاء المتعددين](/ar/concepts/multi-agent). راجع أيضًا [النماذج](/ar/concepts/models) و[الإعدادات](/ar/gateway/configuration). + نعم. استخدم التوجيه متعدد الوكلاء: امنح كل وكيل نموذجه الافتراضي الخاص، ثم اربط المسارات الواردة (حساب المزوّد أو نظراء محددون) بكل وكيل. يوجد مثال للتكوين في [التوجيه متعدد الوكلاء](/ar/concepts/multi-agent). راجع أيضًا [النماذج](/ar/concepts/models) و[التكوين](/ar/gateway/configuration). @@ -809,25 +809,25 @@ x-i18n: brew install ``` - إذا كنت تشغّل OpenClaw عبر systemd، فتأكد من أن PATH الخاص بالخدمة يتضمن `/home/linuxbrew/.linuxbrew/bin` (أو بادئة brew الخاصة بك) حتى يتم العثور على الأدوات المثبتة بواسطة `brew` في الأصداف غير التفاعلية. - كما أن البُنى الحديثة تضيف مسبقًا أدلة bin الشائعة للمستخدم على خدمات Linux systemd (على سبيل المثال `~/.local/bin` و`~/.npm-global/bin` و`~/.local/share/pnpm` و`~/.bun/bin`) وتحترم `PNPM_HOME` و`NPM_CONFIG_PREFIX` و`BUN_INSTALL` و`VOLTA_HOME` و`ASDF_DATA_DIR` و`NVM_DIR` و`FNM_DIR` عند ضبطها. + إذا كنت تشغّل OpenClaw عبر systemd، فتأكد من أن PATH الخاص بالخدمة يتضمن `/home/linuxbrew/.linuxbrew/bin` (أو بادئة brew الخاصة بك) حتى تُحل الأدوات المثبتة عبر `brew` في الصدف غير التفاعلية. + كما تُضيف الإصدارات الحديثة أيضًا أدلة صناديق المستخدم الشائعة مسبقًا في خدمات Linux systemd (على سبيل المثال `~/.local/bin` و`~/.npm-global/bin` و`~/.local/share/pnpm` و`~/.bun/bin`) وتحترم `PNPM_HOME` و`NPM_CONFIG_PREFIX` و`BUN_INSTALL` و`VOLTA_HOME` و`ASDF_DATA_DIR` و`NVM_DIR` و`FNM_DIR` عند ضبطها. - - - **التثبيت القابل للتعديل (git):** نسخة مصدر كاملة، قابلة للتعديل، وهي الأفضل للمساهمين. - تقوم أنت بتشغيل البُنى محليًا ويمكنك تعديل الشيفرة/المستندات. - - **npm install:** تثبيت CLI عام، من دون مستودع، وهو الأفضل لمن يريد "فقط تشغيله". + + - **تثبيت git القابل للتعديل:** نسخة مصدرية كاملة، قابلة للتعديل، وهي الأفضل للمساهمين. + تقوم بتشغيل عمليات البناء محليًا ويمكنك تعديل الشيفرة/الوثائق. + - **تثبيت npm:** تثبيت CLI عام، من دون مستودع، وهو الأفضل لمن يريد "تشغيله فقط". تأتي التحديثات من npm dist-tags. - المستندات: [البدء](/ar/start/getting-started)، [التحديث](/ar/install/updating). + الوثائق: [البدء](/ar/start/getting-started)، [التحديث](/ar/install/updating). - - نعم. ثبّت النسخة الأخرى، ثم شغّل Doctor حتى تشير خدمة Gateway إلى نقطة الدخول الجديدة. + + نعم. ثبّت النمط الآخر، ثم شغّل Doctor حتى تشير خدمة Gateway إلى نقطة الدخول الجديدة. هذا **لا يحذف بياناتك** - بل يغيّر فقط تثبيت شيفرة OpenClaw. وتبقى حالتك - (`~/.openclaw`) ومساحة عملك (`~/.openclaw/workspace`) كما هي من دون تغيير. + (`~/.openclaw`) ومساحة عملك (`~/.openclaw/workspace`) من دون تغيير. من npm إلى git: @@ -848,68 +848,68 @@ x-i18n: openclaw gateway restart ``` - يكتشف Doctor عدم تطابق نقطة دخول خدمة Gateway ويعرض إعادة كتابة إعدادات الخدمة لتتوافق مع التثبيت الحالي (استخدم `--repair` في الأتمتة). + يكتشف Doctor عدم تطابق نقطة دخول خدمة Gateway ويعرض إعادة كتابة تكوين الخدمة ليتطابق مع التثبيت الحالي (استخدم `--repair` في الأتمتة). نصائح النسخ الاحتياطي: راجع [استراتيجية النسخ الاحتياطي](#where-things-live-on-disk). - الإجابة المختصرة: **إذا كنت تريد موثوقية على مدار الساعة، فاستخدم VPS**. وإذا كنت تريد + الإجابة المختصرة: **إذا كنت تريد موثوقية على مدار الساعة طوال أيام الأسبوع، فاستخدم VPS**. وإذا كنت تريد أقل قدر من الاحتكاك وكنت موافقًا على السكون/إعادة التشغيل، فشغّله محليًا. - **الحاسوب المحمول (Gateway محلي)** + **الحاسوب المحمول (Gateway محلية)** - - **الإيجابيات:** لا توجد تكلفة خادم، وصول مباشر إلى الملفات المحلية، نافذة متصفح مرئية مباشرة. - - **السلبيات:** السكون/انقطاع الشبكة = انقطاعات، تحديثات/إعادات تشغيل نظام التشغيل تقاطع العمل، ويجب أن يبقى الجهاز مستيقظًا. + - **الإيجابيات:** لا توجد تكلفة خادم، وصول مباشر إلى الملفات المحلية، نافذة متصفح مرئية. + - **السلبيات:** السكون/انقطاع الشبكة = انقطاعات اتصال، تحديثات/إعادات تشغيل نظام التشغيل تسبب انقطاعًا، ويجب أن يبقى الجهاز مستيقظًا. **VPS / السحابة** - - **الإيجابيات:** يعمل دائمًا، شبكة مستقرة، لا توجد مشكلات سكون الحاسوب المحمول، وأسهل في الإبقاء عليه قيد التشغيل. - - **السلبيات:** غالبًا يعمل بدون واجهة مرئية (استخدم لقطات الشاشة)، وصول إلى الملفات عن بُعد فقط، ويجب أن تستخدم SSH لإجراء التحديثات. + - **الإيجابيات:** يعمل دائمًا، شبكة مستقرة، لا توجد مشكلات سكون الحاسوب المحمول، أسهل في الإبقاء عليه قيد التشغيل. + - **السلبيات:** غالبًا يعمل من دون واجهة (استخدم لقطات الشاشة)، وصول إلى الملفات عن بُعد فقط، ويجب عليك استخدام SSH للتحديثات. - **ملاحظة خاصة بـ OpenClaw:** تعمل WhatsApp/Telegram/Slack/Mattermost/Discord كلها جيدًا من VPS. والمقايضة الحقيقية الوحيدة هي **متصفح بدون واجهة مرئية** مقابل نافذة ظاهرة. راجع [Browser](/ar/tools/browser). + **ملاحظة خاصة بـ OpenClaw:** تعمل WhatsApp وTelegram وSlack وMattermost وDiscord جميعها بشكل جيد من VPS. والمفاضلة الحقيقية الوحيدة هي **متصفح headless** مقابل نافذة مرئية. راجع [المتصفح](/ar/tools/browser). - **الافتراضي الموصى به:** VPS إذا كنت قد واجهت سابقًا انقطاعات في Gateway. والتشغيل المحلي ممتاز عندما تكون تستخدم جهاز Mac بنشاط وتريد الوصول إلى الملفات المحلية أو أتمتة واجهة المستخدم عبر متصفح مرئي. + **الخيار الافتراضي الموصى به:** VPS إذا كنت قد واجهت سابقًا انقطاعات في Gateway. أما التشغيل المحلي فهو ممتاز عندما تكون تستخدم جهاز Mac بنشاط وتريد الوصول إلى الملفات المحلية أو أتمتة واجهة المستخدم مع متصفح مرئي. ليس مطلوبًا، لكنه **موصى به من أجل الموثوقية والعزل**. - - **مضيف مخصص (VPS/Mac mini/Pi):** يعمل دائمًا، مع انقطاعات أقل بسبب السكون/إعادة التشغيل، وأذونات أنظف، وأسهل في الإبقاء عليه قيد التشغيل. + - **مضيف مخصص (VPS/Mac mini/Pi):** يعمل دائمًا، انقطاعات أقل بسبب السكون/إعادة التشغيل، أذونات أنظف، وأسهل في الإبقاء عليه قيد التشغيل. - **حاسوب محمول/مكتبي مشترك:** مناسب تمامًا للاختبار والاستخدام النشط، لكن توقّع توقفات عندما يدخل الجهاز في السكون أو يتلقى تحديثات. - إذا كنت تريد أفضل ما في العالمين، فأبقِ Gateway على مضيف مخصص، وأقرن حاسوبك المحمول كـ **Node** لأدوات الشاشة/الكاميرا/exec المحلية. راجع [Nodes](/ar/nodes). - ولإرشادات الأمان، اقرأ [الأمان](/ar/gateway/security). + إذا كنت تريد أفضل ما في العالمين، فأبقِ Gateway على مضيف مخصص واقرن حاسوبك المحمول بوصفه **Node** من أجل أدوات الشاشة/الكاميرا/exec المحلية. راجع [Nodes](/ar/nodes). + وللاطلاع على إرشادات الأمان، اقرأ [الأمان](/ar/gateway/security). - OpenClaw خفيف. بالنسبة إلى Gateway أساسي + قناة دردشة واحدة: + OpenClaw خفيف. بالنسبة إلى Gateway أساسية + قناة دردشة واحدة: - - **الحد الأدنى المطلق:** 1 vCPU، و1GB RAM، وحوالي 500MB من مساحة القرص. - - **الموصى به:** 1-2 vCPU، و2GB RAM أو أكثر كهامش إضافي (للسجلات، والوسائط، والقنوات المتعددة). قد تكون أدوات Node وأتمتة المتصفح شرهة للموارد. + - **الحد الأدنى المطلق:** 1 vCPU، و1GB RAM، ونحو 500MB من مساحة القرص. + - **الموصى به:** 1-2 vCPU، و2GB RAM أو أكثر كهامش احتياطي (للسجلات، والوسائط، والقنوات المتعددة). يمكن أن تكون أدوات Node وأتمتة المتصفح شرهة للموارد. - نظام التشغيل: استخدم **Ubuntu LTS** (أو أي Debian/Ubuntu حديث). فهذا هو مسار التثبيت الأفضل اختبارًا على Linux. + نظام التشغيل: استخدم **Ubuntu LTS** (أو أي Debian/Ubuntu حديث). وقد جرى اختبار مسار التثبيت على Linux بشكل أفضل هناك. - المستندات: [Linux](/ar/platforms/linux)، [استضافة VPS](/ar/vps). + الوثائق: [Linux](/ar/platforms/linux)، [استضافة VPS](/ar/vps). - - نعم. تعامل مع VM بالطريقة نفسها التي تتعامل بها مع VPS: يجب أن يكون يعمل دائمًا، وقابلًا للوصول، ولديه + + نعم. تعامل مع الآلة الافتراضية كما تتعامل مع VPS: يجب أن تكون تعمل دائمًا، وقابلة للوصول، وأن تمتلك ذاكرة RAM كافية لـ Gateway وأي قنوات تقوم بتمكينها. إرشادات أساسية: - - **الحد الأدنى المطلق:** 1 vCPU، و1GB RAM. - - **الموصى به:** 2GB RAM أو أكثر إذا كنت تشغّل عدة قنوات، أو أتمتة متصفح، أو أدوات وسائط. - - **نظام التشغيل:** Ubuntu LTS أو أي Debian/Ubuntu حديث آخر. + - **الحد الأدنى المطلق:** 1 vCPU و1GB RAM. + - **الموصى به:** 2GB RAM أو أكثر إذا كنت تشغّل قنوات متعددة، أو أتمتة متصفح، أو أدوات وسائط. + - **نظام التشغيل:** Ubuntu LTS أو Debian/Ubuntu حديث آخر. - إذا كنت تستخدم Windows، فإن **WSL2 هو أسهل إعداد على نمط VM** ويتمتع بأفضل - توافق مع الأدوات. راجع [Windows](/ar/platforms/windows)، [استضافة VPS](/ar/vps). - وإذا كنت تشغّل macOS داخل VM، فراجع [macOS VM](/ar/install/macos-vm). + إذا كنت على Windows، فإن **WSL2 هو أسهل إعداد على نمط الآلات الافتراضية** ويتمتع بأفضل توافق + مع الأدوات. راجع [Windows](/ar/platforms/windows)، [استضافة VPS](/ar/vps). + وإذا كنت تشغّل macOS داخل آلة افتراضية، فراجع [آلة macOS الافتراضية](/ar/install/macos-vm). @@ -917,30 +917,30 @@ x-i18n: ## ما هو OpenClaw؟ - - OpenClaw هو مساعد AI شخصي تقوم بتشغيله على أجهزتك الخاصة. يرد على أسطح المراسلة التي تستخدمها بالفعل (WhatsApp وTelegram وSlack وMattermost وDiscord وGoogle Chat وSignal وiMessage وWebChat، بالإضافة إلى Plugin قنوات مضمّنة مثل QQ Bot)، ويمكنه أيضًا تنفيذ الصوت + Canvas مباشر على المنصات المدعومة. إن **Gateway** هو مستوى التحكم الذي يعمل دائمًا؛ أما المساعد فهو المنتج. + + OpenClaw هو مساعد AI شخصي تشغّله على أجهزتك الخاصة. يرد على أسطح المراسلة التي تستخدمها بالفعل (WhatsApp وTelegram وSlack وMattermost وDiscord وGoogle Chat وSignal وiMessage وWebChat وPlugins القنوات المضمّنة مثل QQ Bot) ويمكنه أيضًا تنفيذ الصوت + Canvas حي على المنصات المدعومة. ويمثل **Gateway** طبقة التحكم التي تعمل دائمًا؛ أما المساعد فهو المنتج. - - OpenClaw ليس "مجرد غلاف لـ Claude". بل هو **مستوى تحكم محلي أولًا** يتيح لك تشغيل مساعد - قوي على **أجهزتك الخاصة**، ويمكن الوصول إليه من تطبيقات الدردشة التي تستخدمها بالفعل، مع - جلسات حالية، وذاكرة، وأدوات - من دون تسليم التحكم في سير عملك إلى + + OpenClaw ليس "مجرد غلاف لـ Claude". بل هو **طبقة تحكم local-first** تتيح لك تشغيل + مساعد قادر على **أجهزتك الخاصة**، ويمكن الوصول إليه من تطبيقات الدردشة التي تستخدمها بالفعل، مع + جلسات ذات حالة، وذاكرة، وأدوات - من دون تسليم التحكم في سير عملك إلى SaaS مستضاف. - أبرز النقاط: + أبرز المزايا: - - **أجهزتك، بياناتك:** شغّل Gateway أينما تريد (Mac أو Linux أو VPS) واحتفظ + - **أجهزتك، بياناتك:** شغّل Gateway حيثما تريد (Mac أو Linux أو VPS) واحتفظ بمساحة العمل + سجل الجلسات محليًا. - - **قنوات حقيقية، لا صندوق رمل ويب:** WhatsApp/Telegram/Slack/Discord/Signal/iMessage/etc، + - **قنوات حقيقية، وليست صندوق رمل ويب:** WhatsApp/Telegram/Slack/Discord/Signal/iMessage/etc، بالإضافة إلى الصوت على الهاتف المحمول وCanvas على المنصات المدعومة. - - **غير مرتبط بمزوّد نموذج واحد:** استخدم Anthropic وOpenAI وMiniMax وOpenRouter وغيرها، مع توجيه - لكل وكيل وآليات failover. - - **خيار محلي فقط:** شغّل نماذج محلية حتى **تتمكن من إبقاء جميع البيانات على جهازك** إذا أردت. - - **توجيه الوكلاء المتعددين:** وكلاء منفصلون لكل قناة أو حساب أو مهمة، ولكل منهم - مساحة عمله وافتراضياته الخاصة. - - **مفتوح المصدر وقابل للتعديل:** افحصه، ووسّعه، واستضفه بنفسك من دون ارتهان لمزوّد. + - **محايد تجاه النماذج:** استخدم Anthropic وOpenAI وMiniMax وOpenRouter وغيرها، مع توجيه + لكل وكيل والتحويل التلقائي عند الفشل. + - **خيار محلي فقط:** شغّل نماذج محلية حتى **تبقى كل البيانات على جهازك** إذا أردت. + - **توجيه متعدد الوكلاء:** افصل الوكلاء حسب القناة أو الحساب أو المهمة، بحيث يكون لكل منهم + مساحة العمل والإعدادات الافتراضية الخاصة به. + - **مفتوح المصدر وقابل للتعديل:** افحصه، ووسّعه، واستضفه ذاتيًا من دون ارتهان لمورّد. - المستندات: [Gateway](/ar/gateway)، [القنوات](/ar/channels)، [الوكلاء المتعددون](/ar/concepts/multi-agent)، + الوثائق: [Gateway](/ar/gateway)، [القنوات](/ar/channels)، [متعدد الوكلاء](/ar/concepts/multi-agent)، [الذاكرة](/ar/concepts/memory). @@ -948,53 +948,53 @@ x-i18n: مشاريع أولى جيدة: - - بناء موقع ويب (WordPress أو Shopify أو موقع ثابت بسيط). - - إنشاء نموذج أولي لتطبيق جوال (مخطط، شاشات، خطة API). - - تنظيم الملفات والمجلدات (تنظيف، تسمية، وسم). - - ربط Gmail وأتمتة الملخصات أو المتابعات. + - أنشئ موقعًا إلكترونيًا (WordPress أو Shopify أو موقعًا ثابتًا بسيطًا). + - أنشئ نموذجًا أوليًا لتطبيق جوال (المخطط، الشاشات، خطة API). + - نظّم الملفات والمجلدات (التنظيف، التسمية، الوسم). + - اربط Gmail وأتمت الملخصات أو المتابعات. - يمكنه التعامل مع المهام الكبيرة، لكنه يعمل بأفضل صورة عندما تقسّمها إلى مراحل + يمكنه التعامل مع مهام كبيرة، لكنه يعمل بأفضل شكل عندما تقسّمها إلى مراحل وتستخدم وكلاء فرعيين للعمل المتوازي. - - تبدو المكاسب اليومية عادةً على هذا النحو: + + تبدو المكاسب اليومية عادةً على النحو التالي: - **إحاطات شخصية:** ملخصات للبريد الوارد، والتقويم، والأخبار التي تهمك. - - **البحث والصياغة:** بحث سريع، وملخصات، ومسودات أولى للرسائل الإلكترونية أو المستندات. - - **التذكيرات والمتابعات:** تنبيهات وقوائم تحقق تقودها Cron أو Heartbeat. - - **أتمتة المتصفح:** ملء النماذج، وجمع البيانات، وتكرار المهام على الويب. - - **التنسيق بين الأجهزة:** أرسل مهمة من هاتفك، ودع Gateway يشغّلها على خادم، ثم استلم النتيجة مرة أخرى في الدردشة. + - **البحث والصياغة:** بحث سريع، وملخصات، ومسودات أولية للرسائل الإلكترونية أو المستندات. + - **التذكيرات والمتابعات:** تنبيهات وقوائم تحقق مدفوعة بـ Cron أو Heartbeat. + - **أتمتة المتصفح:** ملء النماذج، وجمع البيانات، وتكرار مهام الويب. + - **التنسيق عبر الأجهزة:** أرسل مهمة من هاتفك، ودع Gateway تشغّلها على خادم، ثم استلم النتيجة مرة أخرى في الدردشة. - + نعم بالنسبة إلى **البحث، والتأهيل، والصياغة**. يمكنه فحص المواقع، وبناء قوائم مختصرة، - وتلخيص العملاء المحتملين، وكتابة مسودات للتواصل أو نصوص إعلانية. + وتلخيص العملاء المحتملين، وكتابة مسودات للتواصل أو نصوص الإعلانات. - أما بالنسبة إلى **حملات التواصل أو الإعلانات**، فأبقِ إنسانًا داخل الحلقة. تجنب الرسائل المزعجة، واتبع القوانين المحلية - وسياسات المنصات، وراجع أي شيء قبل إرساله. وأكثر الأنماط أمانًا هو أن - يقوم OpenClaw بالصياغة ثم توافق أنت عليها. + أما بالنسبة إلى **حملات التواصل أو تشغيل الإعلانات**، فأبقِ إنسانًا ضمن الحلقة. تجنب + الرسائل غير المرغوب فيها، واتبع القوانين المحلية وسياسات المنصات، وراجع أي شيء قبل إرساله. + وأكثر الأنماط أمانًا هو أن يدع OpenClaw يصوغ وأنت توافق. - المستندات: [الأمان](/ar/gateway/security). + الوثائق: [الأمان](/ar/gateway/security). - - OpenClaw هو **مساعد شخصي** وطبقة تنسيق، وليس بديلًا عن IDE. استخدم + + OpenClaw هو **مساعد شخصي** وطبقة تنسيق، وليس بديلًا عن بيئة التطوير المتكاملة. استخدم Claude Code أو Codex لأسرع حلقة برمجة مباشرة داخل مستودع. واستخدم OpenClaw عندما تريد ذاكرة دائمة، ووصولًا عبر الأجهزة، وتنسيقًا للأدوات. المزايا: - - **ذاكرة + مساحة عمل مستمرة** عبر الجلسات - - **وصول متعدد المنصات** (WhatsApp، Telegram، TUI، WebChat) - - **تنسيق الأدوات** (المتصفح، والملفات، والجدولة، والخطافات) - - **Gateway تعمل دائمًا** (شغّلها على VPS، وتفاعل معها من أي مكان) + - **ذاكرة + مساحة عمل دائمة** عبر الجلسات + - **وصول متعدد المنصات** (WhatsApp وTelegram وTUI وWebChat) + - **تنسيق الأدوات** (المتصفح، والملفات، والجدولة، وhooks) + - **Gateway تعمل دائمًا** (شغّلها على VPS وتفاعل معها من أي مكان) - **Nodes** للمتصفح/الشاشة/الكاميرا/exec المحلي - العرض: [https://openclaw.ai/showcase](https://openclaw.ai/showcase) + معرض: [https://openclaw.ai/showcase](https://openclaw.ai/showcase) @@ -1002,69 +1002,69 @@ x-i18n: ## Skills والأتمتة - - استخدم عمليات التجاوز المُدارة بدلًا من تعديل نسخة المستودع. ضع تغييراتك في `~/.openclaw/skills//SKILL.md` (أو أضف مجلدًا عبر `skills.load.extraDirs` في `~/.openclaw/openclaw.json`). ترتيب الأولوية هو `/skills` ← `/.agents/skills` ← `~/.agents/skills` ← `~/.openclaw/skills` ← المضمّنة ← `skills.load.extraDirs`، لذا تظل عمليات التجاوز المُدارة متقدمة على Skills المضمّنة من دون المساس بـ git. وإذا كنت تحتاج إلى تثبيت Skill على مستوى عام لكنك تريد أن تكون مرئية لبعض الوكلاء فقط، فاحتفظ بالنسخة المشتركة في `~/.openclaw/skills` وتحكّم في الرؤية عبر `agents.defaults.skills` و`agents.list[].skills`. أما التعديلات الجديرة بالرفع إلى الأصل فقط فينبغي أن تعيش في المستودع وتُرسل كـ PRs. + + استخدم التجاوزات المُدارة بدلًا من تعديل نسخة المستودع. ضع تغييراتك في `~/.openclaw/skills//SKILL.md` (أو أضف مجلدًا عبر `skills.load.extraDirs` في `~/.openclaw/openclaw.json`). ترتيب الأولوية هو `/skills` → `/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → المضمّنة → `skills.load.extraDirs`، لذلك تظل التجاوزات المُدارة متقدمة على Skills المضمّنة من دون لمس git. وإذا كنت تحتاج إلى تثبيت Skill على مستوى عام لكن لا تريد أن تكون مرئية إلا لبعض الوكلاء، فاحتفظ بالنسخة المشتركة في `~/.openclaw/skills` وتحكم في الرؤية عبر `agents.defaults.skills` و`agents.list[].skills`. ولا ينبغي أن تعيش التعديلات الجديرة بالرفع upstream إلا في المستودع وأن تخرج على شكل PRs. - نعم. أضف أدلة إضافية عبر `skills.load.extraDirs` في `~/.openclaw/openclaw.json` (أدنى أولوية). ترتيب الأولوية الافتراضي هو `/skills` ← `/.agents/skills` ← `~/.agents/skills` ← `~/.openclaw/skills` ← المضمّنة ← `skills.load.extraDirs`. يقوم `clawhub` بالتثبيت افتراضيًا في `./skills`، ويتعامل OpenClaw معها على أنها `/skills` في الجلسة التالية. وإذا كان ينبغي أن تكون Skill مرئية لبعض الوكلاء فقط، فاربط ذلك مع `agents.defaults.skills` أو `agents.list[].skills`. + نعم. أضف أدلة إضافية عبر `skills.load.extraDirs` في `~/.openclaw/openclaw.json` (أدنى أولوية). ترتيب الأولوية الافتراضي هو `/skills` → `/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → المضمّنة → `skills.load.extraDirs`. يقوم `clawhub` بالتثبيت في `./skills` افتراضيًا، ويتعامل OpenClaw معها على أنها `/skills` في الجلسة التالية. وإذا كان ينبغي أن تكون Skill مرئية لبعض الوكلاء فقط، فاقرن ذلك مع `agents.defaults.skills` أو `agents.list[].skills`. الأنماط المدعومة اليوم هي: - - **وظائف Cron**: يمكن للوظائف المعزولة تعيين تجاوز `model` لكل وظيفة. - - **الوكلاء الفرعيون**: وجّه المهام إلى وكلاء منفصلين لديهم نماذج افتراضية مختلفة. - - **التبديل عند الطلب**: استخدم `/model` لتبديل نموذج الجلسة الحالية في أي وقت. + - **وظائف Cron**: يمكن للوظائف المعزولة ضبط تجاوز `model` لكل وظيفة. + - **الوكلاء الفرعيون**: وجّه المهام إلى وكلاء منفصلين يملكون نماذج افتراضية مختلفة. + - **تبديل عند الطلب**: استخدم `/model` لتبديل نموذج الجلسة الحالية في أي وقت. - راجع [وظائف Cron](/ar/automation/cron-jobs)، و[توجيه الوكلاء المتعددين](/ar/concepts/multi-agent)، و[أوامر الشرطة المائلة](/ar/tools/slash-commands). + راجع [وظائف Cron](/ar/automation/cron-jobs)، [التوجيه متعدد الوكلاء](/ar/concepts/multi-agent)، و[أوامر الشرطة المائلة](/ar/tools/slash-commands). - - استخدم **الوكلاء الفرعيين** للمهام الطويلة أو المتوازية. تعمل الوكلاء الفرعيون في جلستهم الخاصة، - ويعيدون ملخصًا، ويحافظون على استجابة دردشتك الرئيسية. + + استخدم **الوكلاء الفرعيين** للمهام الطويلة أو المتوازية. يعمل الوكلاء الفرعيون في جلستهم الخاصة، + ويعيدون ملخصًا، ويحافظون على استجابة الدردشة الرئيسية. - اطلب من البوت "spawn a sub-agent for this task" أو استخدم `/subagents`. - واستخدم `/status` في الدردشة لمعرفة ما الذي يفعله Gateway الآن (وما إذا كان مشغولًا). + اطلب من الروبوت "spawn a sub-agent for this task" أو استخدم `/subagents`. + استخدم `/status` في الدردشة لمعرفة ما الذي تفعله Gateway الآن (وما إذا كانت مشغولة). - نصيحة حول الرموز: كل من المهام الطويلة والوكلاء الفرعيين يستهلكان الرموز. وإذا كانت التكلفة مصدر قلق، فاضبط + نصيحة تتعلق بالرموز: تستهلك المهام الطويلة والوكلاء الفرعيون كليهما الرموز. وإذا كانت التكلفة مصدر قلق، فاضبط نموذجًا أرخص للوكلاء الفرعيين عبر `agents.defaults.subagents.model`. - المستندات: [الوكلاء الفرعيون](/ar/tools/subagents)، [المهام الخلفية](/ar/automation/tasks). + الوثائق: [الوكلاء الفرعيون](/ar/tools/subagents)، [المهام الخلفية](/ar/automation/tasks). - - استخدم روابط الخيوط. يمكنك ربط خيط Discord بوكيل فرعي أو بهدف جلسة بحيث تبقى رسائل المتابعة في ذلك الخيط على الجلسة المرتبطة نفسها. + + استخدم ارتباطات السلاسل. يمكنك ربط سلسلة محادثة في Discord بوكيل فرعي أو هدف جلسة بحيث تبقى رسائل المتابعة في تلك السلسلة على الجلسة المرتبطة نفسها. التدفق الأساسي: - - أنشئه باستخدام `sessions_spawn` مع `thread: true` (واختياريًا `mode: "session"` للمتابعة المستمرة). - - أو اربطه يدويًا باستخدام `/focus `. - - استخدم `/agents` لفحص حالة الربط. + - أنشئها عبر `sessions_spawn` باستخدام `thread: true` (واختياريًا `mode: "session"` للمتابعة المستمرة). + - أو اربطها يدويًا باستخدام `/focus `. + - استخدم `/agents` لفحص حالة الارتباط. - استخدم `/session idle ` و`/session max-age ` للتحكم في إلغاء التركيز التلقائي. - - استخدم `/unfocus` لفصل الخيط. + - استخدم `/unfocus` لفصل السلسلة. - الإعدادات المطلوبة: + التكوين المطلوب: - - الافتراضيات العامة: `session.threadBindings.enabled` و`session.threadBindings.idleHours` و`session.threadBindings.maxAgeHours`. + - الإعدادات الافتراضية العامة: `session.threadBindings.enabled` و`session.threadBindings.idleHours` و`session.threadBindings.maxAgeHours`. - تجاوزات Discord: `channels.discord.threadBindings.enabled` و`channels.discord.threadBindings.idleHours` و`channels.discord.threadBindings.maxAgeHours`. - - الربط التلقائي عند الإنشاء: اضبط `channels.discord.threadBindings.spawnSubagentSessions: true`. + - الارتباط التلقائي عند الإنشاء: اضبط `channels.discord.threadBindings.spawnSubagentSessions: true`. - المستندات: [الوكلاء الفرعيون](/ar/tools/subagents)، [Discord](/ar/channels/discord)، [مرجع الإعدادات](/ar/gateway/configuration-reference)، [أوامر الشرطة المائلة](/ar/tools/slash-commands). + الوثائق: [الوكلاء الفرعيون](/ar/tools/subagents)، [Discord](/ar/channels/discord)، [مرجع التكوين](/ar/gateway/configuration-reference)، [أوامر الشرطة المائلة](/ar/tools/slash-commands). - - تحقّق أولًا من مسار الطالب الذي تم حسمه: + + تحقّق أولًا من مسار الطالب الذي تم حله: - - يفضّل تسليم الوكيل الفرعي في وضع الإكمال أي خيط أو مسار محادثة مرتبط عندما يكون موجودًا. - - إذا كان أصل الإكمال يحمل قناة فقط، فسيعود OpenClaw إلى المسار المخزّن لجلسة الطالب (`lastChannel` / `lastTo` / `lastAccountId`) حتى يظل التسليم المباشر ممكنًا. - - إذا لم يوجد لا مسار مرتبط ولا مسار مخزّن قابل للاستخدام، فقد يفشل التسليم المباشر وتعود النتيجة إلى التسليم عبر الجلسة في قائمة الانتظار بدلًا من النشر الفوري في الدردشة. - - لا تزال الأهداف غير الصالحة أو القديمة قادرة على فرض الرجوع إلى قائمة الانتظار أو التسبب في فشل التسليم النهائي. - - إذا كان آخر رد مرئي للمساعد من الوكيل الابن هو رمز الصمت المطابق تمامًا `NO_REPLY` / `no_reply`، أو كان بالضبط `ANNOUNCE_SKIP`، فإن OpenClaw يمنع الإعلان عمدًا بدلًا من نشر تقدم أقدم لم يعد صالحًا. - - إذا انتهت مهلة الوكيل الابن بعد مكالمات أدوات فقط، فقد يختزل الإعلان ذلك إلى ملخص قصير للتقدم الجزئي بدلًا من إعادة عرض ناتج الأدوات الخام. + - يفضّل تسليم الوكيل الفرعي في وضع الإكمال أي سلسلة محادثة أو مسار محادثة مرتبط عندما يكون أحدها موجودًا. + - إذا كان أصل الإكمال يحمل قناة فقط، يعود OpenClaw إلى المسار المخزن لجلسة الطالب (`lastChannel` / `lastTo` / `lastAccountId`) بحيث يظل التسليم المباشر ممكنًا. + - إذا لم يوجد لا مسار مرتبط ولا مسار مخزن قابل للاستخدام، فقد يفشل التسليم المباشر وتعود النتيجة بدلًا من ذلك إلى التسليم عبر الجلسة المدرجة في الطابور بدلًا من النشر الفوري في الدردشة. + - قد تستمر الأهداف غير الصالحة أو القديمة في فرض الرجوع إلى الطابور أو التسبب في فشل التسليم النهائي. + - إذا كان آخر رد مساعد مرئي للوكيل الابن هو الرمز الصامت الدقيق `NO_REPLY` / `no_reply`، أو `ANNOUNCE_SKIP` تمامًا، فإن OpenClaw يتعمد كتم الإعلان بدلًا من نشر تقدم أقدم غير صالح. + - إذا انتهت مهلة الوكيل الابن بعد استدعاءات أدوات فقط، فقد يختزل الإعلان ذلك إلى ملخص قصير للتقدم الجزئي بدلًا من إعادة تشغيل خرج الأدوات الخام. التصحيح: @@ -1072,7 +1072,7 @@ x-i18n: openclaw tasks show ``` - المستندات: [الوكلاء الفرعيون](/ar/tools/subagents)، [المهام الخلفية](/ar/automation/tasks)، [أدوات الجلسة](/ar/concepts/session-tool). + الوثائق: [الوكلاء الفرعيون](/ar/tools/subagents)، [المهام الخلفية](/ar/automation/tasks)، [أدوات الجلسة](/ar/concepts/session-tool). @@ -1080,11 +1080,11 @@ x-i18n: تعمل Cron داخل عملية Gateway. إذا لم تكن Gateway تعمل باستمرار، فلن تعمل الوظائف المجدولة. - قائمة التحقق: + قائمة تحقق: - - تأكد من أن Cron مفعّلة (`cron.enabled`) وأن `OPENCLAW_SKIP_CRON` غير مضبوط. - - تحقق من أن Gateway تعمل على مدار الساعة طوال أيام الأسبوع (من دون سكون/إعادة تشغيل). - - تحقق من إعدادات المنطقة الزمنية للوظيفة (`--tz` مقابل المنطقة الزمنية للمضيف). + - أكّد أن Cron مفعلة (`cron.enabled`) وأن `OPENCLAW_SKIP_CRON` غير مضبوط. + - تحقّق من أن Gateway تعمل على مدار الساعة طوال أيام الأسبوع (من دون سكون/إعادة تشغيل). + - تحقّق من إعدادات المنطقة الزمنية للوظيفة (`--tz` مقابل المنطقة الزمنية للمضيف). التصحيح: @@ -1093,21 +1093,21 @@ x-i18n: openclaw cron runs --id --limit 50 ``` - المستندات: [وظائف Cron](/ar/automation/cron-jobs)، [الأتمتة والمهام](/ar/automation). + الوثائق: [وظائف Cron](/ar/automation/cron-jobs)، [الأتمتة والمهام](/ar/automation). - - تحقّق أولًا من وضع التسليم: + + تحقّق من وضع التسليم أولًا: - - يعني `--no-deliver` / `delivery.mode: "none"` أنه لا يُتوقع إرسال أي رسالة خارجية. - - يعني غياب هدف إعلان (`channel` / `to`) أو عدم صلاحيته أن المشغّل تخطّى التسليم الصادر. - - تعني حالات فشل مصادقة القناة (`unauthorized`، `Forbidden`) أن المشغّل حاول التسليم ولكن بيانات الاعتماد منعته. - - تُعامل النتيجة المعزولة الصامتة (`NO_REPLY` / `no_reply` فقط) على أنها غير قابلة للتسليم عمدًا، لذلك يمنع المشغّل أيضًا الرجوع إلى التسليم عبر قائمة الانتظار. + - `--no-deliver` / `delivery.mode: "none"` يعني أنه لا يُتوقع وجود رسالة خارجية. + - غياب هدف إعلان (`channel` / `to`) أو عدم صحته يعني أن المشغل تخطّى التسليم الصادر. + - تعني إخفاقات مصادقة القناة (`unauthorized`, `Forbidden`) أن المشغل حاول التسليم لكن بيانات الاعتماد منعته. + - تُعامل النتيجة المعزولة الصامتة (`NO_REPLY` / `no_reply` فقط) على أنها غير قابلة للتسليم عمدًا، لذلك يكتم المشغل أيضًا تسليم الرجوع إلى الطابور. - بالنسبة إلى وظائف Cron المعزولة، يتولى المشغّل التسليم النهائي. ومن المتوقع - أن يعيد الوكيل ملخصًا نصيًا عاديًا ليرسله المشغّل. ويُبقي `--no-deliver` - هذه النتيجة داخلية؛ ولا يسمح للوكيل بالإرسال مباشرةً باستخدام + بالنسبة إلى وظائف Cron المعزولة، يملك المشغل التسليم النهائي. ومن المتوقع + أن يعيد الوكيل ملخصًا نصيًا عاديًا لكي يرسله المشغل. يُبقي `--no-deliver` + تلك النتيجة داخلية؛ ولا يسمح للوكيل بالإرسال مباشرةً باستخدام أداة الرسائل بدلًا من ذلك. التصحيح: @@ -1117,27 +1117,27 @@ x-i18n: openclaw tasks show ``` - المستندات: [وظائف Cron](/ar/automation/cron-jobs)، [المهام الخلفية](/ar/automation/tasks). + الوثائق: [وظائف Cron](/ar/automation/cron-jobs)، [المهام الخلفية](/ar/automation/tasks). - - يكون هذا عادةً مسار التبديل المباشر للنموذج، وليس جدولة مكررة. + + يكون هذا عادةً مسار تبديل النموذج الحي، وليس جدولة مكررة. - يمكن لـ Cron المعزولة أن تحتفظ بتحويل نموذج وقت التشغيل وتعيد المحاولة عندما يرمي التشغيل - النشط الخطأ `LiveSessionModelSwitchError`. وتحافظ إعادة المحاولة على - المزوّد/النموذج الذي تم التبديل إليه، وإذا كان التبديل قد حمل تجاوزًا جديدًا - لملف تعريف المصادقة، فإن Cron تحتفظ به أيضًا قبل إعادة المحاولة. + يمكن لـ Cron المعزولة حفظ عملية تسليم نموذج وقت التشغيل وإعادة المحاولة عندما + يطرح التشغيل النشط `LiveSessionModelSwitchError`. وتحافظ إعادة المحاولة على + المزوّد/النموذج الذي تم التبديل إليه، وإذا كان التبديل يحمل تجاوزًا جديدًا لملف تعريف المصادقة، + فإن Cron تحفظ ذلك أيضًا قبل إعادة المحاولة. قواعد الاختيار ذات الصلة: - - يتقدّم أولًا تجاوز نموذج Gmail hook عند انطباقه. - - ثم `model` الخاصة بكل وظيفة. - - ثم أي تجاوز نموذج مخزّن لجلسة Cron. + - يتقدم أولًا تجاوز نموذج Gmail hook عند انطباقه. + - ثم `model` لكل وظيفة. + - ثم أي تجاوز مخزن لنموذج جلسة Cron. - ثم اختيار النموذج العادي للوكيل/الافتراضي. - حلقة إعادة المحاولة محدودة. بعد المحاولة الأولية بالإضافة إلى محاولتي - تبديل، تُجهض Cron بدلًا من الاستمرار إلى ما لا نهاية. + حلقة إعادة المحاولة محدودة. فبعد المحاولة الأولية بالإضافة إلى محاولتَي تبديل، + تُجهض Cron بدلًا من التكرار إلى ما لا نهاية. التصحيح: @@ -1146,12 +1146,12 @@ x-i18n: openclaw tasks show ``` - المستندات: [وظائف Cron](/ar/automation/cron-jobs)، [Cron CLI](/cli/cron). + الوثائق: [وظائف Cron](/ar/automation/cron-jobs)، [CLI لـ cron](/cli/cron). - استخدم أوامر `openclaw skills` الأصلية أو ضع Skills داخل مساحة عملك. واجهة Skills في macOS غير متاحة على Linux. + استخدم أوامر `openclaw skills` الأصلية أو أسقط Skills داخل مساحة عملك. واجهة Skills على macOS غير متاحة على Linux. تصفح Skills على [https://clawhub.ai](https://clawhub.ai). ```bash @@ -1165,41 +1165,41 @@ x-i18n: openclaw skills check ``` - يكتب `openclaw skills install` الأصلي داخل دليل `skills/` - الخاص بمساحة العمل النشطة. ثبّت CLI المنفصل `clawhub` فقط إذا كنت تريد نشر - Skills الخاصة بك أو مزامنتها. وللتثبيتات المشتركة بين الوكلاء، ضع Skill تحت + تكتب عملية `openclaw skills install` الأصلية إلى دليل `skills/` + في مساحة العمل النشطة. ثبّت CLI المنفصل `clawhub` فقط إذا كنت تريد نشر + Skills الخاصة بك أو مزامنتها. ولعمليات التثبيت المشتركة عبر الوكلاء، ضع Skill تحت `~/.openclaw/skills` واستخدم `agents.defaults.skills` أو `agents.list[].skills` إذا كنت تريد تضييق نطاق الوكلاء الذين يمكنهم رؤيتها. - - نعم. استخدم مجدول Gateway: + + نعم. استخدم المجدول الخاص بـ Gateway: - - **وظائف Cron** للمهام المجدولة أو المتكررة (وتستمر عبر إعادة التشغيل). - - **Heartbeat** لعمليات الفحص الدورية الخاصة بـ "الجلسة الرئيسية". - - **الوظائف المعزولة** للوكلاء المستقلين الذين ينشرون ملخصات أو يسلّمون النتائج إلى الدردشات. + - **وظائف Cron** للمهام المجدولة أو المتكررة (تستمر عبر إعادة التشغيل). + - **Heartbeat** للفحوصات الدورية الخاصة بـ "الجلسة الرئيسية". + - **الوظائف المعزولة** للوكلاء المستقلين الذين ينشرون ملخصات أو يسلّمون إلى الدردشات. - المستندات: [وظائف Cron](/ar/automation/cron-jobs)، [الأتمتة والمهام](/ar/automation)، + الوثائق: [وظائف Cron](/ar/automation/cron-jobs)، [الأتمتة والمهام](/ar/automation)، [Heartbeat](/ar/gateway/heartbeat). - - ليس بشكل مباشر. يتم تقييد Skills الخاصة بـ macOS بواسطة `metadata.openclaw.os` بالإضافة إلى الملفات التنفيذية المطلوبة، ولا تظهر Skills في مطالبة النظام إلا عندما تكون مؤهلة على **مضيف Gateway**. على Linux، لن يتم تحميل Skills المخصّصة لـ `darwin` فقط (مثل `apple-notes` و`apple-reminders` و`things-mac`) ما لم تتجاوز هذا التقييد. + + ليس مباشرةً. تُقيد Skills الخاصة بـ macOS بواسطة `metadata.openclaw.os` بالإضافة إلى الملفات الثنائية المطلوبة، ولا تظهر Skills في مطالبة النظام إلا عندما تكون مؤهلة على **مضيف Gateway**. وعلى Linux، لن تُحمَّل Skills الخاصة بـ `darwin` فقط (مثل `apple-notes` و`apple-reminders` و`things-mac`) ما لم تتجاوز هذا التقييد. لديك ثلاثة أنماط مدعومة: - **الخيار A - شغّل Gateway على جهاز Mac (الأبسط).** - شغّل Gateway حيث توجد الملفات التنفيذية الخاصة بـ macOS، ثم اتصل من Linux في [الوضع البعيد](#gateway-ports-already-running-and-remote-mode) أو عبر Tailscale. تُحمَّل Skills بشكل طبيعي لأن مضيف Gateway هو macOS. + **الخيار A - تشغيل Gateway على جهاز Mac (الأبسط).** + شغّل Gateway حيث توجد الملفات الثنائية الخاصة بـ macOS، ثم اتصل من Linux في [الوضع البعيد](#gateway-ports-already-running-and-remote-mode) أو عبر Tailscale. تُحمَّل Skills بشكل طبيعي لأن مضيف Gateway هو macOS. - **الخيار B - استخدم Node يعمل بنظام macOS (من دون SSH).** - شغّل Gateway على Linux، ثم أقرن Node يعمل بنظام macOS (تطبيق شريط القوائم)، واضبط **Node Run Commands** على "Always Ask" أو "Always Allow" على جهاز Mac. يمكن لـ OpenClaw معاملة Skills الخاصة بـ macOS فقط على أنها مؤهلة عندما تكون الملفات التنفيذية المطلوبة موجودة على Node. يشغّل الوكيل تلك Skills عبر أداة `nodes`. وإذا اخترت "Always Ask"، فإن الموافقة على "Always Allow" في المطالبة تضيف ذلك الأمر إلى قائمة السماح. + **الخيار B - استخدام Node لنظام macOS (من دون SSH).** + شغّل Gateway على Linux، ثم اقترن مع Node لنظام macOS (تطبيق شريط القوائم)، واضبط **Node Run Commands** على "Always Ask" أو "Always Allow" على جهاز Mac. يمكن لـ OpenClaw اعتبار Skills الخاصة بـ macOS فقط مؤهلة عندما تكون الملفات الثنائية المطلوبة موجودة على الـ Node. ويشغّل الوكيل تلك Skills عبر أداة `nodes`. وإذا اخترت "Always Ask"، فإن الموافقة على "Always Allow" في المطالبة تضيف ذلك الأمر إلى قائمة السماح. - **الخيار C - مرّر الملفات التنفيذية الخاصة بـ macOS عبر SSH (متقدم).** - أبقِ Gateway على Linux، ولكن اجعل ملفات CLI التنفيذية المطلوبة تُحلّ إلى أغلفة SSH تعمل على جهاز Mac. ثم تجاوز Skill للسماح بـ Linux حتى تظل مؤهلة. + **الخيار C - تمرير الملفات الثنائية الخاصة بـ macOS عبر SSH (متقدم).** + أبقِ Gateway على Linux، لكن اجعل الملفات الثنائية CLI المطلوبة تُحل إلى أغلفة SSH تعمل على جهاز Mac. ثم تجاوز Skill للسماح بـ Linux حتى تظل مؤهلة. - 1. أنشئ غلاف SSH للملف التنفيذي (مثال: `memo` من أجل Apple Notes): + 1. أنشئ غلاف SSH للملف الثنائي (مثال: `memo` لـ Apple Notes): ```bash #!/usr/bin/env bash @@ -1207,13 +1207,13 @@ x-i18n: exec ssh -T user@mac-host /opt/homebrew/bin/memo "$@" ``` - 2. ضع الغلاف على `PATH` على مضيف Linux (على سبيل المثال `~/bin/memo`). - 3. تجاوز بيانات Skill الوصفية (في مساحة العمل أو `~/.openclaw/skills`) للسماح بـ Linux: + 2. ضع الغلاف في `PATH` على مضيف Linux (على سبيل المثال `~/bin/memo`). + 3. تجاوز بيانات Skill الوصفية (مساحة العمل أو `~/.openclaw/skills`) للسماح بـ Linux: ```markdown --- name: apple-notes - description: Manage Apple Notes via the memo CLI on macOS. + description: إدارة Apple Notes عبر CLI الخاص بـ memo على macOS. metadata: { "openclaw": { "os": ["darwin", "linux"], "requires": { "bins": ["memo"] } } } --- ``` @@ -1223,20 +1223,20 @@ x-i18n: - ليس مضمّنًا حاليًا. + ليس مضمّنًا اليوم. الخيارات: - **Skill / Plugin مخصص:** الأفضل للوصول الموثوق إلى API (لكل من Notion وHeyGen واجهات API). - **أتمتة المتصفح:** تعمل من دون شيفرة لكنها أبطأ وأكثر هشاشة. - إذا كنت تريد الاحتفاظ بالسياق لكل عميل (سير عمل الوكالات)، فهناك نمط بسيط: + إذا كنت تريد الاحتفاظ بالسياق لكل عميل (سير عمل الوكالات)، فنمط بسيط هو: - صفحة Notion واحدة لكل عميل (السياق + التفضيلات + العمل النشط). - اطلب من الوكيل جلب تلك الصفحة في بداية الجلسة. إذا كنت تريد تكاملًا أصليًا، فافتح طلب ميزة أو ابنِ Skill - تستهدف تلك الواجهات. + تستهدف تلك الواجهات API. تثبيت Skills: @@ -1245,12 +1245,12 @@ x-i18n: openclaw skills update --all ``` - تصل التثبيتات الأصلية إلى دليل `skills/` الخاص بمساحة العمل النشطة. وبالنسبة إلى Skills المشتركة بين الوكلاء، ضعها في `~/.openclaw/skills//SKILL.md`. وإذا كان ينبغي أن ترى بعض الوكلاء فقط تثبيتًا مشتركًا، فاضبط `agents.defaults.skills` أو `agents.list[].skills`. تتوقع بعض Skills وجود ملفات تنفيذية مثبّتة عبر Homebrew؛ وعلى Linux يعني ذلك Linuxbrew (راجع إدخال الأسئلة الشائعة عن Homebrew على Linux أعلاه). راجع [Skills](/ar/tools/skills)، و[إعدادات Skills](/ar/tools/skills-config)، و[ClawHub](/ar/tools/clawhub). + تصل عمليات التثبيت الأصلية إلى دليل `skills/` في مساحة العمل النشطة. وبالنسبة إلى Skills المشتركة عبر الوكلاء، ضعها في `~/.openclaw/skills//SKILL.md`. وإذا كان ينبغي أن ترى بعض الوكلاء فقط عملية تثبيت مشتركة، فاضبط `agents.defaults.skills` أو `agents.list[].skills`. وتتوقع بعض Skills وجود ملفات ثنائية مثبتة عبر Homebrew؛ وعلى Linux فهذا يعني Linuxbrew (راجع إدخال الأسئلة الشائعة عن Homebrew Linux أعلاه). راجع [Skills](/ar/tools/skills)، و[تكوين Skills](/ar/tools/skills-config)، و[ClawHub](/ar/tools/clawhub). - استخدم ملف تعريف المتصفح المضمّن `user`، الذي يتصل عبر Chrome DevTools MCP: + استخدم ملف تعريف المتصفح المضمّن `user`، الذي يرتبط عبر Chrome DevTools MCP: ```bash openclaw browser --browser-profile user tabs @@ -1264,13 +1264,13 @@ x-i18n: openclaw browser --browser-profile chrome-live tabs ``` - هذا المسار محلي على المضيف. وإذا كانت Gateway تعمل في مكان آخر، فإما أن تشغّل مضيف Node على جهاز المتصفح أو تستخدم CDP بعيدًا بدلًا من ذلك. + هذا المسار محلي بالنسبة إلى المضيف. وإذا كانت Gateway تعمل في مكان آخر، فإما أن تشغّل مضيف Node على الجهاز الذي يوجد عليه المتصفح أو أن تستخدم CDP عن بُعد بدلًا من ذلك. القيود الحالية على `existing-session` / `user`: - - تعتمد الإجراءات على `ref`، لا على محددات CSS + - الإجراءات تعتمد على `ref`، وليس على محددات CSS - تتطلب عمليات الرفع `ref` / `inputRef` وتدعم حاليًا ملفًا واحدًا في كل مرة - - ما زالت `responsebody`، وتصدير PDF، واعتراض التنزيلات، والإجراءات الدفعية تحتاج إلى متصفح مُدار أو ملف تعريف CDP خام + - ما تزال `responsebody` وتصدير PDF واعتراض التنزيلات والإجراءات المجمعة تتطلب متصفحًا مُدارًا أو ملف تعريف CDP خام @@ -1279,40 +1279,40 @@ x-i18n: - نعم. راجع [العزل](/ar/gateway/sandboxing). وبالنسبة إلى إعداد Docker تحديدًا (Gateway كامل داخل Docker أو صور العزل)، راجع [Docker](/ar/install/docker). + نعم. راجع [العزل](/ar/gateway/sandboxing). ولإعدادات Docker الخاصة (Gateway كاملة داخل Docker أو صور العزل)، راجع [Docker](/ar/install/docker). - - الصورة الافتراضية تضع الأمان أولًا وتعمل كمستخدم `node`، لذلك فهي لا - تتضمن حزم النظام، أو Homebrew، أو المتصفحات المضمّنة. ولإعداد أكثر اكتمالًا: + + الصورة الافتراضية تضع الأمان أولًا وتعمل بصفتها المستخدم `node`، لذلك فهي لا + تتضمن حزم النظام، أو Homebrew، أو المتصفحات المضمّنة. ومن أجل إعداد أكثر اكتمالًا: - اجعل `/home/node` دائمًا باستخدام `OPENCLAW_HOME_VOLUME` حتى تبقى الذاكرات المؤقتة. - - ضمّن تبعيات النظام داخل الصورة باستخدام `OPENCLAW_DOCKER_APT_PACKAGES`. - - ثبّت متصفحات Playwright عبر CLI المضمّن: + - ضمّن تبعيات النظام في الصورة باستخدام `OPENCLAW_DOCKER_APT_PACKAGES`. + - ثبّت متصفحات Playwright عبر CLI المضمّنة: `node /app/node_modules/playwright-core/cli.js install chromium` - - اضبط `PLAYWRIGHT_BROWSERS_PATH` وتأكد من استمرارية هذا المسار. + - اضبط `PLAYWRIGHT_BROWSERS_PATH` وتأكد من أن المسار محفوظ بشكل دائم. - المستندات: [Docker](/ar/install/docker)، [Browser](/ar/tools/browser). + الوثائق: [Docker](/ar/install/docker)، [المتصفح](/ar/tools/browser). - - نعم - إذا كانت الحركة الخاصة لديك هي **DMs** وكانت الحركة العامة لديك هي **groups**. + + نعم - إذا كانت الحركة الخاصة لديك هي **الرسائل الخاصة** وكانت الحركة العامة لديك هي **المجموعات**. - استخدم `agents.defaults.sandbox.mode: "non-main"` حتى تعمل جلسات المجموعات/القنوات (المفاتيح غير الرئيسية) داخل Docker، بينما تبقى جلسة DM الرئيسية على المضيف. ثم قيّد الأدوات المتاحة في الجلسات المعزولة عبر `tools.sandbox.tools`. + استخدم `agents.defaults.sandbox.mode: "non-main"` بحيث تعمل جلسات المجموعة/القناة (المفاتيح غير الرئيسية) داخل Docker، بينما تبقى جلسة الرسائل الخاصة الرئيسية على المضيف. ثم قيّد الأدوات المتاحة في الجلسات المعزولة عبر `tools.sandbox.tools`. - شرح الإعداد الكامل + مثال للإعدادات: [المجموعات: رسائل خاصة شخصية + مجموعات عامة](/ar/channels/groups#pattern-personal-dms-public-groups-single-agent) + شرح الإعداد + مثال التكوين: [المجموعات: رسائل خاصة شخصية + مجموعات عامة](/ar/channels/groups#pattern-personal-dms-public-groups-single-agent) - المرجع الأساسي للإعدادات: [إعدادات Gateway](/ar/gateway/configuration-reference#agentsdefaultssandbox) + مرجع التكوين الأساسي: [تكوين Gateway](/ar/gateway/configuration-reference#agentsdefaultssandbox) - - اضبط `agents.defaults.sandbox.docker.binds` على `["host:path:mode"]` (مثل `"/home/user/src:/src:ro"`). يتم دمج الروابط العامة وروابط كل وكيل؛ ويتم تجاهل الروابط الخاصة بكل وكيل عندما تكون `scope: "shared"`. استخدم `:ro` لأي شيء حساس وتذكّر أن الروابط تتجاوز جدران نظام ملفات العزل. + + اضبط `agents.defaults.sandbox.docker.binds` إلى `["host:path:mode"]` (مثل `"/home/user/src:/src:ro"`). تندمج الارتباطات العامة + ارتباطات كل وكيل؛ ويتم تجاهل ارتباطات كل وكيل عندما تكون `scope: "shared"`. استخدم `:ro` لأي شيء حساس وتذكّر أن الارتباطات تتجاوز جدران نظام ملفات sandbox. - يتحقق OpenClaw من صحة مصادر الربط مقارنةً بكل من المسار المُطبّع والمسار القانوني الذي يُحل عبر أعمق سلف موجود. وهذا يعني أن محاولات الهروب عبر والد symlink تظل محظورة افتراضيًا حتى عندما لا يكون مقطع المسار الأخير موجودًا بعد، كما أن فحوصات الجذر المسموح به تظل مطبقة بعد حل symlink. + يتحقق OpenClaw من مصادر الربط وفقًا لكل من المسار المُطبّع والمسار القانوني الذي يُحل عبر أعمق سلف موجود. وهذا يعني أن محاولات الهروب عبر والد رمزي ما تزال تُغلَق بشكل آمن حتى عندما لا يكون الجزء الأخير من المسار موجودًا بعد، كما أن فحوصات الجذر المسموح به تظل مطبقة بعد حل الروابط الرمزية. - راجع [العزل](/ar/gateway/sandboxing#custom-bind-mounts) و[Sandbox vs Tool Policy vs Elevated](/ar/gateway/sandbox-vs-tool-policy-vs-elevated#bind-mounts-security-quick-check) للاطلاع على الأمثلة وملاحظات الأمان. + راجع [العزل](/ar/gateway/sandboxing#custom-bind-mounts) و[Sandbox مقابل سياسة الأداة مقابل Elevated](/ar/gateway/sandbox-vs-tool-policy-vs-elevated#bind-mounts-security-quick-check) للاطلاع على أمثلة وملاحظات السلامة. @@ -1322,54 +1322,54 @@ x-i18n: - ملاحظات يومية في `memory/YYYY-MM-DD.md` - ملاحظات منسقة طويلة الأمد في `MEMORY.md` (للجلسات الرئيسية/الخاصة فقط) - كما يشغّل OpenClaw **تفريغ ذاكرة صامتًا قبل Compaction** لتذكير النموذج - بكتابة ملاحظات دائمة قبل Compaction التلقائي. ولا يعمل هذا إلا عندما تكون - مساحة العمل قابلة للكتابة (تتخطاه بيئات العزل للقراءة فقط). راجع [الذاكرة](/ar/concepts/memory). + يشغّل OpenClaw أيضًا **تفريغًا صامتًا للذاكرة قبل Compaction** لتذكير النموذج + بكتابة ملاحظات دائمة قبل Compaction التلقائي. ولا يعمل هذا إلا عندما تكون مساحة العمل + قابلة للكتابة (تتخطاه بيئات sandbox للقراءة فقط). راجع [الذاكرة](/ar/concepts/memory). - اطلب من البوت **كتابة المعلومة في الذاكرة**. تنتمي الملاحظات طويلة الأمد إلى `MEMORY.md`، + اطلب من الروبوت **أن يكتب الحقيقة في الذاكرة**. تنتمي الملاحظات طويلة الأمد إلى `MEMORY.md`، بينما يذهب السياق قصير الأمد إلى `memory/YYYY-MM-DD.md`. - ما زلنا نعمل على تحسين هذا المجال. ومن المفيد تذكير النموذج بتخزين الذكريات؛ - فهو سيعرف ما الذي ينبغي فعله. وإذا استمر في النسيان، فتحقق من أن Gateway تستخدم + ما يزال هذا مجالًا نعمل على تحسينه. ومن المفيد تذكير النموذج بتخزين الذكريات؛ + فهو سيعرف ما يجب فعله. وإذا استمر في النسيان، فتحقق من أن Gateway تستخدم مساحة العمل نفسها في كل تشغيل. - المستندات: [الذاكرة](/ar/concepts/memory)، [مساحة عمل الوكيل](/ar/concepts/agent-workspace). + الوثائق: [الذاكرة](/ar/concepts/memory)، [مساحة عمل الوكيل](/ar/concepts/agent-workspace). - - تعيش ملفات الذاكرة على القرص وتستمر حتى تحذفها. والحد هنا هو - مساحة التخزين لديك، لا النموذج. أما **سياق الجلسة** فلا يزال محدودًا بنافذة سياق - النموذج، لذا قد تُضغط المحادثات الطويلة أو تُقتطع. ولهذا السبب - يوجد بحث الذاكرة - فهو يعيد فقط الأجزاء ذات الصلة إلى السياق. + + تعيش ملفات الذاكرة على القرص وتستمر حتى تحذفها. الحد هنا هو + التخزين لديك، وليس النموذج. أما **سياق الجلسة** فما يزال محدودًا بنافذة سياق + النموذج، لذلك قد تخضع المحادثات الطويلة إلى Compaction أو الاقتطاع. ولهذا السبب + يوجد البحث في الذاكرة - إذ يعيد فقط الأجزاء ذات الصلة إلى السياق. - المستندات: [الذاكرة](/ar/concepts/memory)، [السياق](/ar/concepts/context). + الوثائق: [الذاكرة](/ar/concepts/memory)، [السياق](/ar/concepts/context). - نعم، ولكن فقط إذا كنت تستخدم **OpenAI embeddings**. تغطي Codex OAuth المحادثة/الإكمالات + فقط إذا كنت تستخدم **OpenAI embeddings**. تغطي مصادقة Codex OAuth الدردشة/الإكمالات ولا **تمنح** وصولًا إلى embeddings، لذلك فإن **تسجيل الدخول باستخدام Codex (OAuth أو - تسجيل دخول Codex CLI)** لا يفيد في البحث الدلالي في الذاكرة. وما تزال OpenAI embeddings + تسجيل دخول Codex CLI)** لا يساعد في البحث الدلالي في الذاكرة. وما تزال embeddings الخاصة بـ OpenAI تحتاج إلى مفتاح API حقيقي (`OPENAI_API_KEY` أو `models.providers.openai.apiKey`). إذا لم تضبط مزودًا صراحةً، فإن OpenClaw يختار مزودًا تلقائيًا عندما يتمكن من حل مفتاح API (ملفات تعريف المصادقة، أو `models.providers.*.apiKey`، أو متغيرات البيئة). - وهو يفضّل OpenAI إذا أمكن حل مفتاح OpenAI، ثم Gemini إذا أمكن حل مفتاح Gemini، - ثم Voyage، ثم Mistral. وإذا لم يكن هناك مفتاح بعيد متاح، فسيظل - البحث في الذاكرة معطّلًا حتى تقوم بإعداده. وإذا كان لديك مسار نموذج محلي + وهو يفضّل OpenAI إذا أمكن حل مفتاح OpenAI، وإلا Gemini إذا أمكن حل مفتاح Gemini، + ثم Voyage، ثم Mistral. وإذا لم يكن أي مفتاح بعيد متاحًا، فإن البحث في الذاكرة + يبقى معطلًا حتى تقوم بتكوينه. وإذا كان لديك مسار نموذج محلي مضبوط وموجود، فإن OpenClaw - يفضّل `local`. كما أن Ollama مدعوم عندما تضبط صراحةً + يفضّل `local`. ويدعم Ollama عندما تضبط صراحةً `memorySearch.provider = "ollama"`. وإذا كنت تفضّل البقاء محليًا، فاضبط `memorySearch.provider = "local"` (واختياريًا `memorySearch.fallback = "none"`). وإذا كنت تريد Gemini embeddings، فاضبط `memorySearch.provider = "gemini"` ووفّر `GEMINI_API_KEY` (أو - `memorySearch.remote.apiKey`). نحن ندعم نماذج embeddings من **OpenAI وGemini وVoyage وMistral وOllama أو local** - - راجع [الذاكرة](/ar/concepts/memory) للحصول على تفاصيل الإعداد. + `memorySearch.remote.apiKey`). نحن ندعم نماذج embedding الخاصة بـ **OpenAI وGemini وVoyage وMistral وOllama أو local** + - راجع [الذاكرة](/ar/concepts/memory) لتفاصيل الإعداد. @@ -1377,52 +1377,52 @@ x-i18n: ## أين توجد الأشياء على القرص - - لا - **حالة OpenClaw محلية**، لكن **الخدمات الخارجية لا تزال ترى ما ترسله إليها**. + + لا - **حالة OpenClaw محلية**، لكن **الخدمات الخارجية ما تزال ترى ما ترسله إليها**. - - **محلي افتراضيًا:** تعيش الجلسات، وملفات الذاكرة، والإعدادات، ومساحة العمل على مضيف Gateway - (`~/.openclaw` + دليل مساحة العمل الخاص بك). - - **بعيد بحكم الضرورة:** تذهب الرسائل التي ترسلها إلى مزودي النماذج (Anthropic/OpenAI/إلخ) إلى + - **محلي افتراضيًا:** تعيش الجلسات، وملفات الذاكرة، والتكوين، ومساحة العمل على مضيف Gateway + (`~/.openclaw` + دليل مساحة العمل لديك). + - **بعيد بحكم الضرورة:** تُرسَل الرسائل التي ترسلها إلى مزودي النماذج (Anthropic/OpenAI/إلخ) إلى واجهات API الخاصة بهم، كما تخزن منصات الدردشة (WhatsApp/Telegram/Slack/إلخ) بيانات الرسائل على خوادمها. - - **أنت تتحكم في الأثر:** يؤدي استخدام النماذج المحلية إلى إبقاء المطالبات على جهازك، لكن - حركة القنوات لا تزال تمر عبر خوادم القناة. + - **أنت تتحكم في النطاق:** يؤدي استخدام النماذج المحلية إلى إبقاء المطالبات على جهازك، لكن + حركة القنوات ما تزال تمر عبر خوادم القناة. ذو صلة: [مساحة عمل الوكيل](/ar/concepts/agent-workspace)، [الذاكرة](/ar/concepts/memory). - + كل شيء يعيش تحت `$OPENCLAW_STATE_DIR` (الافتراضي: `~/.openclaw`): - | Path | Purpose | + | المسار | الغرض | | --------------------------------------------------------------- | ------------------------------------------------------------------ | - | `$OPENCLAW_STATE_DIR/openclaw.json` | الإعدادات الرئيسية (JSON5) | - | `$OPENCLAW_STATE_DIR/credentials/oauth.json` | استيراد OAuth قديم (يُنسخ إلى ملفات تعريف المصادقة عند أول استخدام) | - | `$OPENCLAW_STATE_DIR/agents//agent/auth-profiles.json` | ملفات تعريف المصادقة (OAuth، ومفاتيح API، و`keyRef`/`tokenRef` الاختيارية) | - | `$OPENCLAW_STATE_DIR/secrets.json` | حمولة سرية اختيارية مدعومة بالملفات لمزودي `file` من SecretRef | - | `$OPENCLAW_STATE_DIR/agents//agent/auth.json` | ملف توافق قديم (تُنظَّف إدخالات `api_key` الثابتة) | - | `$OPENCLAW_STATE_DIR/credentials/` | حالة المزوّد (مثل `whatsapp//creds.json`) | - | `$OPENCLAW_STATE_DIR/agents/` | حالة كل وكيل على حدة (agentDir + sessions) | - | `$OPENCLAW_STATE_DIR/agents//sessions/` | سجل المحادثات والحالة (لكل وكيل) | - | `$OPENCLAW_STATE_DIR/agents//sessions/sessions.json` | البيانات الوصفية للجلسات (لكل وكيل) | + | `$OPENCLAW_STATE_DIR/openclaw.json` | التكوين الرئيسي (JSON5) | + | `$OPENCLAW_STATE_DIR/credentials/oauth.json` | استيراد OAuth القديم (يُنسخ إلى ملفات تعريف المصادقة عند أول استخدام) | + | `$OPENCLAW_STATE_DIR/agents//agent/auth-profiles.json` | ملفات تعريف المصادقة (OAuth، ومفاتيح API، و`keyRef`/`tokenRef` الاختيارية) | + | `$OPENCLAW_STATE_DIR/secrets.json` | حمولة سرية اختيارية مدعومة بملف لمزوّدي `file` من SecretRef | + | `$OPENCLAW_STATE_DIR/agents//agent/auth.json` | ملف توافق قديم (تُنظف منه إدخالات `api_key` الثابتة) | + | `$OPENCLAW_STATE_DIR/credentials/` | حالة المزوّد (مثل `whatsapp//creds.json`) | + | `$OPENCLAW_STATE_DIR/agents/` | حالة كل وكيل (agentDir + sessions) | + | `$OPENCLAW_STATE_DIR/agents//sessions/` | سجل المحادثات والحالة (لكل وكيل) | + | `$OPENCLAW_STATE_DIR/agents//sessions/sessions.json` | بيانات الجلسات الوصفية (لكل وكيل) | - المسار القديم لوكيل واحد: `~/.openclaw/agent/*` (يتم ترحيله بواسطة `openclaw doctor`). + المسار القديم لوكيل واحد: `~/.openclaw/agent/*` (يُرحَّل بواسطة `openclaw doctor`). - أما **مساحة العمل** الخاصة بك (`AGENTS.md`، وملفات الذاكرة، وSkills، وما إلى ذلك) فهي منفصلة وتُضبط عبر `agents.defaults.workspace` (الافتراضي: `~/.openclaw/workspace`). + أما **مساحة العمل** الخاصة بك (`AGENTS.md`، وملفات الذاكرة، وSkills، وغيرها) فهي منفصلة ويجري تكوينها عبر `agents.defaults.workspace` (الافتراضي: `~/.openclaw/workspace`). - + تعيش هذه الملفات في **مساحة عمل الوكيل**، وليس في `~/.openclaw`. - - **مساحة العمل (لكل وكيل):** `AGENTS.md` و`SOUL.md` و`IDENTITY.md` و`USER.md`، - و`MEMORY.md` (أو البديل القديم `memory.md` عند غياب `MEMORY.md`)، - و`memory/YYYY-MM-DD.md`، و`HEARTBEAT.md` اختياريًا. - - **دليل الحالة (`~/.openclaw`)**: الإعدادات، وحالة القناة/المزوّد، وملفات تعريف المصادقة، والجلسات، والسجلات، + - **مساحة العمل (لكل وكيل)**: `AGENTS.md` و`SOUL.md` و`IDENTITY.md` و`USER.md`، + و`MEMORY.md` (أو المسار الاحتياطي القديم `memory.md` عند غياب `MEMORY.md`)، + و`memory/YYYY-MM-DD.md`، و`HEARTBEAT.md` الاختياري. + - **دليل الحالة (`~/.openclaw`)**: التكوين، وحالة القناة/المزوّد، وملفات تعريف المصادقة، والجلسات، والسجلات، وSkills المشتركة (`~/.openclaw/skills`). - مساحة العمل الافتراضية هي `~/.openclaw/workspace`، ويمكن ضبطها عبر: + مساحة العمل الافتراضية هي `~/.openclaw/workspace`، ويمكن تكوينها عبر: ```json5 { @@ -1430,11 +1430,11 @@ x-i18n: } ``` - إذا كان البوت "ينسى" بعد إعادة التشغيل، فتأكد من أن Gateway تستخدم - مساحة العمل نفسها في كل تشغيل (وتذكّر: يستخدم الوضع البعيد **مساحة عمل مضيف Gateway**، + إذا كان الروبوت "ينسى" بعد إعادة التشغيل، فتأكد من أن Gateway تستخدم + مساحة العمل نفسها في كل تشغيل (وتذكر: يستخدم الوضع البعيد **مساحة عمل مضيف Gateway**، وليس حاسوبك المحمول المحلي). - نصيحة: إذا كنت تريد سلوكًا أو تفضيلًا دائمًا، فاطلب من البوت **كتابته في + نصيحة: إذا كنت تريد سلوكًا أو تفضيلًا دائمًا، فاطلب من الروبوت **كتابته في AGENTS.md أو MEMORY.md** بدلًا من الاعتماد على سجل الدردشة. راجع [مساحة عمل الوكيل](/ar/concepts/agent-workspace) و[الذاكرة](/ar/concepts/memory). @@ -1442,32 +1442,32 @@ x-i18n: - ضع **مساحة عمل الوكيل** الخاصة بك في مستودع git **خاص** وقم بعمل نسخة احتياطية له في مكان - خاص (مثل GitHub الخاص). يلتقط ذلك الذاكرة + ملفات AGENTS/SOUL/USER - ويتيح لك استعادة "عقل" المساعد لاحقًا. + ضع **مساحة عمل الوكيل** الخاصة بك في مستودع git **خاص** وخذ نسخة احتياطية منها في مكان + خاص (مثل GitHub الخاص). يلتقط هذا الذاكرة + ملفات AGENTS/SOUL/USER + ويسمح لك باستعادة "عقل" المساعد لاحقًا. - لا تقم **بعمل commit** لأي شيء ضمن `~/.openclaw` (بيانات الاعتماد، أو الجلسات، أو الرموز، أو حمولات الأسرار المشفرة). - وإذا كنت تحتاج إلى استعادة كاملة، فقم بنسخ كل من مساحة العمل ودليل الحالة احتياطيًا + **لا** تُدرج أي شيء تحت `~/.openclaw` في الالتزامات (بيانات الاعتماد، أو الجلسات، أو الرموز المميزة، أو الحمولات السرية المشفرة). + وإذا كنت تحتاج إلى استعادة كاملة، فخذ نسخة احتياطية من كل من مساحة العمل ودليل الحالة بشكل منفصل (راجع سؤال الترحيل أعلاه). - المستندات: [مساحة عمل الوكيل](/ar/concepts/agent-workspace). + الوثائق: [مساحة عمل الوكيل](/ar/concepts/agent-workspace). - راجع الدليل المخصص: [إلغاء التثبيت](/ar/install/uninstall). + راجع الدليل المخصص: [إزالة التثبيت](/ar/install/uninstall). - نعم. مساحة العمل هي **cwd الافتراضي** ومرساة الذاكرة، وليست عزلًا صارمًا. + نعم. مساحة العمل هي **cwd الافتراضي** ومرساة الذاكرة، وليست sandbox صلبة. تُحل المسارات النسبية داخل مساحة العمل، لكن يمكن للمسارات المطلقة الوصول إلى مواقع أخرى على المضيف ما لم يكن العزل مفعّلًا. وإذا كنت تحتاج إلى عزل، فاستخدم - [`agents.defaults.sandbox`](/ar/gateway/sandboxing) أو إعدادات العزل الخاصة بكل وكيل. وإذا - كنت تريد أن يكون المستودع هو دليل العمل الافتراضي، فوجّه - `workspace` الخاصة بذلك الوكيل إلى جذر المستودع. إن مستودع OpenClaw مجرد - شيفرة مصدر؛ فاحتفظ بمساحة العمل منفصلة ما لم تكن تريد عمدًا أن يعمل الوكيل داخله. + [`agents.defaults.sandbox`](/ar/gateway/sandboxing) أو إعدادات sandbox لكل وكيل. وإذا كنت + تريد أن يكون المستودع هو دليل العمل الافتراضي، فوجه `workspace` + الخاص بذلك الوكيل إلى جذر المستودع. ومستودع OpenClaw ليس سوى شيفرة مصدرية؛ أبقِ + مساحة العمل منفصلة ما لم تكن تريد عمدًا أن يعمل الوكيل داخلها. - مثال (المستودع كـ cwd افتراضي): + مثال (المستودع باعتباره cwd الافتراضي): ```json5 { @@ -1482,29 +1482,29 @@ x-i18n: - تملك حالة الجلسة **مضيف Gateway**. إذا كنت في الوضع البعيد، فإن مخزن الجلسات الذي يهمك يوجد على الجهاز البعيد، وليس على حاسوبك المحمول المحلي. راجع [إدارة الجلسات](/ar/concepts/session). + تعود ملكية حالة الجلسة إلى **مضيف Gateway**. وإذا كنت في الوضع البعيد، فإن مخزن الجلسات الذي يهمك يوجد على الجهاز البعيد، وليس على حاسوبك المحمول المحلي. راجع [إدارة الجلسات](/ar/concepts/session). -## أساسيات الإعدادات +## أساسيات التكوين - - يقرأ OpenClaw ملف إعدادات **JSON5** اختياريًا من `$OPENCLAW_CONFIG_PATH` (الافتراضي: `~/.openclaw/openclaw.json`): + + يقرأ OpenClaw تكوين **JSON5** اختياريًا من `$OPENCLAW_CONFIG_PATH` (الافتراضي: `~/.openclaw/openclaw.json`): ``` $OPENCLAW_CONFIG_PATH ``` - إذا كان الملف مفقودًا، فإنه يستخدم افتراضيات آمنة نسبيًا (بما في ذلك مساحة عمل افتراضية هي `~/.openclaw/workspace`). + إذا كان الملف مفقودًا، فإنه يستخدم إعدادات افتراضية آمنة إلى حد ما (بما في ذلك مساحة عمل افتراضية هي `~/.openclaw/workspace`). - + تتطلب عمليات الربط غير loopback **مسار مصادقة صالحًا لـ Gateway**. وعمليًا يعني ذلك: - - مصادقة السر المشترك: رمز مميز أو كلمة مرور - - `gateway.auth.mode: "trusted-proxy"` خلف وكيل عكسي مدرك للهوية غير loopback ومضبوط بشكل صحيح + - مصادقة shared-secret: رمز مميز أو كلمة مرور + - `gateway.auth.mode: "trusted-proxy"` خلف وكيل عكسي مدرك للهوية غير loopback ومكوّن على نحو صحيح ```json5 { @@ -1520,32 +1520,32 @@ x-i18n: ملاحظات: - - لا يؤدي `gateway.remote.token` / `.password` إلى تمكين مصادقة Gateway المحلية بمفردهما. - - يمكن للمسارات المحلية استدعاء `gateway.remote.*` كاحتياط فقط عندما تكون `gateway.auth.*` غير مضبوطة. - - بالنسبة إلى مصادقة كلمة المرور، اضبط `gateway.auth.mode: "password"` بالإضافة إلى `gateway.auth.password` (أو `OPENCLAW_GATEWAY_PASSWORD`) بدلًا من ذلك. - - إذا جرى ضبط `gateway.auth.token` / `gateway.auth.password` صراحةً عبر SecretRef وتعذر حلّه، فإن الحل يفشل على نحو مغلق افتراضيًا (ولا يوجد احتياط بعيد يحجب ذلك). - - تُصادق إعدادات Control UI ذات السر المشترك عبر `connect.params.auth.token` أو `connect.params.auth.password` (المخزنة في إعدادات التطبيق/واجهة المستخدم). أما الأوضاع الحاملة للهوية مثل Tailscale Serve أو `trusted-proxy` فتستخدم ترويسات الطلب بدلًا من ذلك. تجنّب وضع الأسرار المشتركة في عناوين URL. - - مع `gateway.auth.mode: "trusted-proxy"`، فإن الوكلاء العكسيين على loopback على المضيف نفسه ما زالوا **لا** يستوفون مصادقة trusted-proxy. يجب أن يكون trusted proxy مصدرًا غير loopback ومضبوطًا في الإعدادات. + - لا يقوم `gateway.remote.token` / `.password` **بمفردهما** بتمكين مصادقة Gateway المحلية. + - يمكن لمسارات الاستدعاء المحلية استخدام `gateway.remote.*` كاحتياطي فقط عندما لا يكون `gateway.auth.*` مضبوطًا. + - بالنسبة إلى مصادقة كلمة المرور، اضبط `gateway.auth.mode: "password"` مع `gateway.auth.password` (أو `OPENCLAW_GATEWAY_PASSWORD`) بدلًا من ذلك. + - إذا جرى تكوين `gateway.auth.token` / `gateway.auth.password` صراحةً عبر SecretRef وتعذر حله، فإن الحل يفشل بشكل مغلق (من دون تمويه احتياطي بعيد). + - تُصادق إعدادات shared-secret الخاصة بـ Control UI عبر `connect.params.auth.token` أو `connect.params.auth.password` (المخزَّنين في إعدادات التطبيق/واجهة المستخدم). أما الأوضاع الحاملة للهوية مثل Tailscale Serve أو `trusted-proxy` فتستخدم ترويسات الطلب بدلًا من ذلك. تجنب وضع shared secrets داخل عناوين URL. + - مع `gateway.auth.mode: "trusted-proxy"`، فإن الوكلاء العكسيين loopback على المضيف نفسه **لا** يلبون مصادقة trusted-proxy. يجب أن يكون trusted proxy مصدرًا غير loopback ومكوّنًا. - - يفرض OpenClaw مصادقة Gateway افتراضيًا، بما في ذلك loopback. وفي المسار الافتراضي العادي يعني ذلك مصادقة الرمز المميز: إذا لم يتم ضبط مسار مصادقة صريح، فإن بدء تشغيل Gateway يحسم إلى وضع الرمز المميز ويولّد واحدًا تلقائيًا، ثم يحفظه في `gateway.auth.token`، لذا **يجب على عملاء WS المحليين المصادقة**. وهذا يمنع العمليات المحلية الأخرى من استدعاء Gateway. + + يفرض OpenClaw مصادقة Gateway افتراضيًا، بما في ذلك loopback. وفي المسار الافتراضي المعتاد، يعني ذلك مصادقة الرمز المميز: إذا لم يُكوَّن مسار مصادقة صريح، فإن بدء تشغيل Gateway يحل إلى وضع الرمز المميز ويولّد واحدًا تلقائيًا، ويحفظه في `gateway.auth.token`، لذلك **يجب على عملاء WS المحليين المصادقة**. وهذا يمنع العمليات المحلية الأخرى من استدعاء Gateway. - وإذا كنت تفضّل مسار مصادقة مختلفًا، فيمكنك اختيار وضع كلمة المرور صراحةً (أو، بالنسبة إلى الوكلاء العكسيين غير loopback والمدركين للهوية، `trusted-proxy`). وإذا كنت **حقًا** تريد loopback مفتوحًا، فاضبط `gateway.auth.mode: "none"` صراحةً في إعداداتك. ويمكن لـ Doctor إنشاء رمز مميز لك في أي وقت: `openclaw doctor --generate-gateway-token`. + وإذا كنت تفضّل مسار مصادقة مختلفًا، فيمكنك اختيار وضع كلمة المرور صراحةً (أو `trusted-proxy` بالنسبة إلى الوكلاء العكسية غير loopback والمدركة للهوية). وإذا كنت **حقًا** تريد loopback مفتوحة، فاضبط `gateway.auth.mode: "none"` صراحةً في التكوين. ويمكن لـ Doctor إنشاء رمز مميز لك في أي وقت: `openclaw doctor --generate-gateway-token`. - - تراقب Gateway ملف الإعدادات وتدعم إعادة التحميل السريع: + + تراقب Gateway التكوين وتدعم إعادة التحميل السريع: - - `gateway.reload.mode: "hybrid"` (الافتراضي): يطبّق التغييرات الآمنة بسرعة، ويعيد التشغيل للتغييرات الحرجة + - `gateway.reload.mode: "hybrid"` (الافتراضي): تطبيق التغييرات الآمنة فورًا، وإعادة التشغيل للتغييرات الحرجة - كما أن `hot` و`restart` و`off` مدعومة أيضًا - اضبط `cli.banner.taglineMode` في الإعدادات: + اضبط `cli.banner.taglineMode` في التكوين: ```json5 { @@ -1557,21 +1557,21 @@ x-i18n: } ``` - - `off`: يُخفي نص العبارة مع الإبقاء على سطر عنوان الإصدار/الإصدار. + - `off`: يُخفي نص العبارة التعريفية لكنه يُبقي سطر عنوان الشعار/الإصدار. - `default`: يستخدم `All your chats, one OpenClaw.` في كل مرة. - - `random`: عبارات طريفة/موسمية متناوبة (السلوك الافتراضي). - - إذا كنت لا تريد أي بانر إطلاقًا، فاضبط متغير البيئة `OPENCLAW_HIDE_BANNER=1`. + - `random`: عبارات تعريفية طريفة/موسمية متناوبة (السلوك الافتراضي). + - إذا كنت لا تريد أي شعار إطلاقًا، فاضبط متغير البيئة `OPENCLAW_HIDE_BANNER=1`. - + يعمل `web_fetch` من دون مفتاح API. أما `web_search` فيعتمد على المزوّد الذي اخترته: - - تتطلب المزوّدات المعتمدة على API مثل Brave وExa وFirecrawl وGemini وGrok وKimi وMiniMax Search وPerplexity وTavily إعداد مفاتيح API المعتاد. - - بحث الويب في Ollama لا يحتاج إلى مفتاح، لكنه يستخدم مضيف Ollama الذي ضبطته ويتطلب `ollama signin`. + - يتطلب المزوّدون المدعومون بواجهات API مثل Brave وExa وFirecrawl وGemini وGrok وKimi وMiniMax Search وPerplexity وTavily إعداد مفتاح API المعتاد لديهم. + - لا يحتاج Ollama Web Search إلى مفتاح، لكنه يستخدم مضيف Ollama المكوّن لديك ويتطلب `ollama signin`. - لا يحتاج DuckDuckGo إلى مفتاح، لكنه تكامل غير رسمي قائم على HTML. - - SearXNG لا يحتاج إلى مفتاح/ويمكن استضافته ذاتيًا؛ اضبط `SEARXNG_BASE_URL` أو `plugins.entries.searxng.config.webSearch.baseUrl`. + - SearXNG مجاني الاستعمال/مستضاف ذاتيًا؛ اضبط `SEARXNG_BASE_URL` أو `plugins.entries.searxng.config.webSearch.baseUrl`. **الموصى به:** شغّل `openclaw configure --section web` واختر مزودًا. بدائل متغيرات البيئة: @@ -1609,48 +1609,48 @@ x-i18n: }, fetch: { enabled: true, - provider: "firecrawl", // اختياري؛ احذفه لاكتشافه تلقائيًا + provider: "firecrawl", // اختياري؛ احذفه للاكتشاف التلقائي }, }, }, } ``` - تعيش إعدادات web search الخاصة بكل مزوّد الآن تحت `plugins.entries..config.webSearch.*`. - وما زالت مسارات المزوّد القديمة `tools.web.search.*` تُحمّل مؤقتًا من أجل التوافق، لكن لا ينبغي استخدامها في الإعدادات الجديدة. - أما إعدادات fallback الخاصة بـ Firecrawl web-fetch فتوجد تحت `plugins.entries.firecrawl.config.webFetch.*`. + يوجد الآن التكوين الخاص بالبحث في الويب لكل مزود تحت `plugins.entries..config.webSearch.*`. + وما تزال مسارات المزوّد القديمة `tools.web.search.*` تُحمَّل مؤقتًا من أجل التوافق، لكن لا ينبغي استخدامها في التكوينات الجديدة. + يوجد تكوين الرجوع الاحتياطي الخاص بجلب الويب لـ Firecrawl تحت `plugins.entries.firecrawl.config.webFetch.*`. ملاحظات: - إذا كنت تستخدم قوائم السماح، فأضف `web_search`/`web_fetch`/`x_search` أو `group:web`. - يكون `web_fetch` مفعّلًا افتراضيًا (ما لم يُعطّل صراحةً). - - إذا لم يتم ضبط `tools.web.fetch.provider`، يكتشف OpenClaw تلقائيًا أول مزوّد fallback جاهز للجلب من بيانات الاعتماد المتاحة. والمزوّد المضمّن اليوم هو Firecrawl. - - تقرأ العمليات الخلفية متغيرات البيئة من `~/.openclaw/.env` (أو من بيئة الخدمة). + - إذا تم حذف `tools.web.fetch.provider`، يكتشف OpenClaw تلقائيًا أول مزود رجوع احتياطي جاهز للجلب من بيانات الاعتماد المتاحة. والمزوّد المضمّن اليوم هو Firecrawl. + - تقرأ العمليات الخدمية متغيرات البيئة من `~/.openclaw/.env` (أو من بيئة الخدمة). - المستندات: [أدوات الويب](/ar/tools/web). + الوثائق: [أدوات الويب](/ar/tools/web). - - يقوم `config.apply` باستبدال **الإعدادات بالكامل**. فإذا أرسلت كائنًا جزئيًا، فسيتم - حذف كل شيء آخر. + + يستبدل `config.apply` **التكوين بالكامل**. وإذا أرسلت كائنًا جزئيًا، فسيُزال + كل شيء آخر. الاستعادة: - - استعد من نسخة احتياطية (git أو نسخة من `~/.openclaw/openclaw.json`). - - إذا لم تكن لديك نسخة احتياطية، فأعد تشغيل `openclaw doctor` وأعد تهيئة القنوات/النماذج. - - إذا كان هذا غير متوقع، فافتح تقرير خطأ وأرفق آخر إعدادات معروفة لديك أو أي نسخة احتياطية. - - يمكن لوكيل برمجة محلي في كثير من الأحيان إعادة بناء إعدادات صالحة من السجلات أو السجل. + - استعده من نسخة احتياطية (git أو نسخة من `~/.openclaw/openclaw.json`). + - إذا لم تكن لديك نسخة احتياطية، فأعد تشغيل `openclaw doctor` ثم أعد تكوين القنوات/النماذج. + - إذا كان هذا غير متوقع، فافتح بلاغ خلل وضمّن آخر تكوين معروف لديك أو أي نسخة احتياطية. + - يمكن لوكيل برمجة محلي في كثير من الأحيان إعادة بناء تكوين عامل من السجلات أو السجل السابق. - تجنّب ذلك: + لتجنب ذلك: - استخدم `openclaw config set` للتغييرات الصغيرة. - - استخدم `openclaw configure` للتحرير التفاعلي. + - استخدم `openclaw configure` للتعديلات التفاعلية. - استخدم `config.schema.lookup` أولًا عندما لا تكون متأكدًا من المسار الدقيق أو شكل الحقل؛ فهو يعيد عقدة مخطط سطحية بالإضافة إلى ملخصات الأبناء المباشرين للتعمق. - - استخدم `config.patch` لتعديلات RPC الجزئية؛ واحتفظ بـ `config.apply` لاستبدال الإعدادات الكاملة فقط. - - إذا كنت تستخدم أداة `gateway` الخاصة بالمالك فقط من تشغيل وكيل، فستظل ترفض الكتابة إلى `tools.exec.ask` / `tools.exec.security` (بما في ذلك الأسماء البديلة القديمة `tools.bash.*` التي تُطبَّع إلى مسارات exec المحمية نفسها). + - استخدم `config.patch` لتعديلات RPC الجزئية؛ وأبقِ `config.apply` لاستبدال التكوين الكامل فقط. + - إذا كنت تستخدم أداة `gateway` المخصصة للمالك فقط من تشغيل وكيل، فستظل ترفض الكتابة إلى `tools.exec.ask` / `tools.exec.security` (بما في ذلك الأسماء المستعارة القديمة `tools.bash.*` التي تُطبّع إلى مسارات exec المحمية نفسها). - المستندات: [الإعدادات](/cli/config)، [التهيئة](/cli/configure)، [Doctor](/ar/gateway/doctor). + الوثائق: [التكوين](/cli/config)، [التهيئة](/cli/configure)، [Doctor](/ar/gateway/doctor). @@ -1658,17 +1658,17 @@ x-i18n: النمط الشائع هو **Gateway واحدة** (مثل Raspberry Pi) بالإضافة إلى **Nodes** و**وكلاء**: - **Gateway (مركزية):** تملك القنوات (Signal/WhatsApp)، والتوجيه، والجلسات. - - **Nodes (الأجهزة):** تتصل أجهزة Mac/iOS/Android كأجهزة طرفية وتعرض أدوات محلية (`system.run` و`canvas` و`camera`). - - **الوكلاء (العمال):** عقول/مساحات عمل منفصلة لأدوار متخصصة (مثل "عمليات Hetzner" و"البيانات الشخصية"). - - **الوكلاء الفرعيون:** أنشئ عملًا في الخلفية من وكيل رئيسي عندما تريد التوازي. - - **TUI:** اتصل بـ Gateway وبدّل بين الوكلاء/الجلسات. + - **Nodes (الأجهزة):** تتصل أجهزة Mac/iOS/Android كملحقات وتكشف الأدوات المحلية (`system.run` و`canvas` و`camera`). + - **الوكلاء (العمال):** عقول/مساحات عمل منفصلة لأدوار خاصة (مثل "عمليات Hetzner" و"البيانات الشخصية"). + - **الوكلاء الفرعيون:** ينشئون عملًا في الخلفية من وكيل رئيسي عندما تريد العمل المتوازي. + - **TUI:** يتصل بـ Gateway ويبدّل بين الوكلاء/الجلسات. - المستندات: [Nodes](/ar/nodes)، [الوصول البعيد](/ar/gateway/remote)، [توجيه الوكلاء المتعددين](/ar/concepts/multi-agent)، [الوكلاء الفرعيون](/ar/tools/subagents)، [TUI](/web/tui). + الوثائق: [Nodes](/ar/nodes)، [الوصول عن بُعد](/ar/gateway/remote)، [التوجيه متعدد الوكلاء](/ar/concepts/multi-agent)، [الوكلاء الفرعيون](/ar/tools/subagents)، [TUI](/web/tui). - - نعم. إنه خيار إعدادات: + + نعم. هذا خيار تكوين: ```json5 { @@ -1681,19 +1681,19 @@ x-i18n: } ``` - القيمة الافتراضية هي `false` (مع واجهة مرئية). ويكون وضع headless أكثر عرضة لإطلاق فحوصات مكافحة البوت في بعض المواقع. راجع [Browser](/ar/tools/browser). + القيمة الافتراضية هي `false` (مع واجهة مرئية). ويكون وضع headless أكثر عرضة لتفعيل فحوصات مكافحة الروبوتات في بعض المواقع. راجع [المتصفح](/ar/tools/browser). - يستخدم وضع headless **محرك Chromium نفسه** ويعمل لمعظم عمليات الأتمتة (النماذج، والنقرات، والاستخراج، وتسجيلات الدخول). والفروق الأساسية هي: + يستخدم وضع headless **محرك Chromium نفسه** ويعمل مع معظم الأتمتة (النماذج، والنقرات، والكشط، وتسجيلات الدخول). الفروق الرئيسية: - - لا توجد نافذة متصفح مرئية (استخدم لقطات الشاشة إذا كنت تحتاج إلى عناصر مرئية). - - بعض المواقع أكثر تشددًا تجاه الأتمتة في وضع headless (CAPTCHAs، ومكافحة البوت). - على سبيل المثال، كثيرًا ما يحظر X/Twitter جلسات headless. + - لا توجد نافذة متصفح مرئية (استخدم لقطات الشاشة إذا كنت بحاجة إلى عناصر مرئية). + - تكون بعض المواقع أكثر تشددًا تجاه الأتمتة في وضع headless (CAPTCHA، ومكافحة الروبوتات). + على سبيل المثال، غالبًا ما يحظر X/Twitter جلسات headless. - اضبط `browser.executablePath` على الملف التنفيذي الخاص بـ Brave (أو أي متصفح آخر مبني على Chromium) ثم أعد تشغيل Gateway. - راجع أمثلة الإعدادات الكاملة في [Browser](/ar/tools/browser#use-brave-or-another-chromium-based-browser). + اضبط `browser.executablePath` إلى الملف الثنائي الخاص بـ Brave لديك (أو أي متصفح قائم على Chromium) ثم أعد تشغيل Gateway. + راجع أمثلة التكوين الكاملة في [المتصفح](/ar/tools/browser#use-brave-or-another-chromium-based-browser). @@ -1701,26 +1701,26 @@ x-i18n: - تتعامل **Gateway** مع رسائل Telegram. تقوم Gateway بتشغيل الوكيل - وبعد ذلك فقط تستدعي Nodes عبر **Gateway WebSocket** عند الحاجة إلى أداة Node: + تتم معالجة رسائل Telegram بواسطة **Gateway**. تشغّل Gateway الوكيل + ثم تستدعي Nodes عبر **Gateway WebSocket** فقط عندما تكون هناك حاجة إلى أداة Node: Telegram → Gateway → Agent → `node.*` → Node → Gateway → Telegram - لا ترى Nodes حركة المزوّدات الواردة؛ فهي لا تتلقى إلا استدعاءات RPC الخاصة بـ Node. + لا ترى Nodes حركة المزوّد الواردة؛ فهي لا تتلقى إلا استدعاءات RPC الخاصة بـ Node. - - الإجابة المختصرة: **اقرن حاسوبك كـ Node**. تعمل Gateway في مكان آخر، لكنها تستطيع + + الإجابة المختصرة: **اقرن جهازك بوصفه Node**. تعمل Gateway في مكان آخر، لكنها تستطيع استدعاء أدوات `node.*` (الشاشة، والكاميرا، والنظام) على جهازك المحلي عبر Gateway WebSocket. إعداد نموذجي: 1. شغّل Gateway على المضيف الذي يعمل دائمًا (VPS/خادم منزلي). - 2. ضع مضيف Gateway + حاسوبك على tailnet نفسها. - 3. تأكد من أن WS الخاص بـ Gateway قابل للوصول (ربط tailnet أو نفق SSH). - 4. افتح تطبيق macOS محليًا واتصل في وضع **Remote over SSH** (أو tailnet مباشر) - حتى يتمكن من التسجيل كـ Node. + 2. ضع مضيف Gateway + جهازك على tailnet نفسها. + 3. تأكد من أن Gateway WS قابلة للوصول (ربط tailnet أو نفق SSH). + 4. افتح تطبيق macOS محليًا واتصل في وضع **Remote over SSH** + (أو tailnet مباشرةً) حتى يتمكن من التسجيل بوصفه Node. 5. وافق على Node في Gateway: ```bash @@ -1728,106 +1728,107 @@ x-i18n: openclaw devices approve ``` - لا حاجة إلى جسر TCP منفصل؛ تتصل Nodes عبر Gateway WebSocket. + لا حاجة إلى جسر TCP منفصل؛ إذ تتصل Nodes عبر Gateway WebSocket. - تذكير أمني: يتيح إقران Node يعمل بنظام macOS تنفيذ `system.run` على ذلك الجهاز. قم فقط - بإقران الأجهزة التي تثق بها، وراجع [الأمان](/ar/gateway/security). + تذكير أمني: يسمح إقران Node لنظام macOS بتنفيذ `system.run` على ذلك الجهاز. لا + تقرن إلا الأجهزة التي تثق بها، وراجع [الأمان](/ar/gateway/security). - المستندات: [Nodes](/ar/nodes)، [بروتوكول Gateway](/ar/gateway/protocol)، [وضع macOS البعيد](/ar/platforms/mac/remote)، [الأمان](/ar/gateway/security). + الوثائق: [Nodes](/ar/nodes)، [بروتوكول Gateway](/ar/gateway/protocol)، [الوضع البعيد على macOS](/ar/platforms/mac/remote)، [الأمان](/ar/gateway/security). - - تحقّق من الأساسيات: + + تحقق من الأساسيات: - - تعمل Gateway: `openclaw gateway status` + - Gateway تعمل: `openclaw gateway status` - صحة Gateway: `openclaw status` - صحة القناة: `openclaw channels status` - ثم تحقّق من المصادقة والتوجيه: + ثم تحقق من المصادقة والتوجيه: - إذا كنت تستخدم Tailscale Serve، فتأكد من ضبط `gateway.auth.allowTailscale` بشكل صحيح. - - إذا كنت تتصل عبر نفق SSH، فتأكد من أن النفق المحلي يعمل ويشير إلى المنفذ الصحيح. - - تأكد من أن قوائم السماح لديك (DM أو المجموعة) تتضمن حسابك. + - إذا كنت تتصل عبر نفق SSH، فأكّد أن النفق المحلي قائم ويشير إلى المنفذ الصحيح. + - أكّد أن قوائم السماح الخاصة بك (الرسائل الخاصة أو المجموعة) تتضمن حسابك. - المستندات: [Tailscale](/ar/gateway/tailscale)، [الوصول البعيد](/ar/gateway/remote)، [القنوات](/ar/channels). + الوثائق: [Tailscale](/ar/gateway/tailscale)، [الوصول عن بُعد](/ar/gateway/remote)، [القنوات](/ar/channels). - - نعم. لا يوجد جسر "بوت إلى بوت" مضمّن، لكن يمكنك توصيل ذلك ببضعة - أساليب موثوقة: + + نعم. لا يوجد جسر "روبوت إلى روبوت" مضمّن، لكن يمكنك توصيل ذلك بعدة + طرق موثوقة: - **الأبسط:** استخدم قناة دردشة عادية يمكن لكلا البوتين الوصول إليها (Telegram/Slack/WhatsApp). - اجعل البوت A يرسل رسالة إلى البوت B، ثم دع البوت B يرد كالمعتاد. + **الأبسط:** استخدم قناة دردشة عادية يمكن لكلا الروبوتين الوصول إليها (Telegram/Slack/WhatsApp). + اجعل الروبوت A يرسل رسالة إلى الروبوت B، ثم دع الروبوت B يرد كالمعتاد. - **جسر CLI (عام):** شغّل برنامجًا نصيًا يستدعي Gateway الأخرى باستخدام - `openclaw agent --message ... --deliver`، مع توجيهه إلى دردشة يستمع فيها البوت - الآخر. وإذا كان أحد البوتين على VPS بعيد، فاجعل CLI يشير إلى تلك Gateway البعيدة - عبر SSH/Tailscale (راجع [الوصول البعيد](/ar/gateway/remote)). + **جسر CLI (عام):** شغّل نصًا يستدعي Gateway الأخرى باستخدام + `openclaw agent --message ... --deliver`، مستهدفًا دردشة يستمع فيها الروبوت الآخر. + وإذا كان أحد الروبوتين موجودًا على VPS بعيدة، فوجه CLI لديك إلى تلك Gateway البعيدة + عبر SSH/Tailscale (راجع [الوصول عن بُعد](/ar/gateway/remote)). - نمط مثال (يُشغّل من جهاز يمكنه الوصول إلى Gateway المستهدفة): + نمط مثال (شغّله من جهاز يمكنه الوصول إلى Gateway المستهدفة): ```bash openclaw agent --message "Hello from local bot" --deliver --channel telegram --reply-to ``` - نصيحة: أضف وسيلة حماية حتى لا يدخل البوتان في حلقة لا نهائية (إشارة فقط، أو - قوائم سماح للقنوات، أو قاعدة "لا ترد على رسائل البوت"). + نصيحة: أضف حاجزًا وقائيًا حتى لا يدخل الروبوتان في حلقة لا نهائية (الرد عند الإشارة فقط، أو + قوائم سماح القنوات، أو قاعدة "لا ترد على رسائل الروبوتات"). - المستندات: [الوصول البعيد](/ar/gateway/remote)، [Agent CLI](/cli/agent)، [إرسال الوكيل](/ar/tools/agent-send). + الوثائق: [الوصول عن بُعد](/ar/gateway/remote)، [CLI الخاص بالوكيل](/cli/agent)، [إرسال الوكيل](/ar/tools/agent-send). - لا. يمكن لـ Gateway واحدة استضافة عدة وكلاء، لكل منهم مساحة عمله الخاصة، وافتراضيات النموذج، - والتوجيه. وهذا هو الإعداد المعتاد، وهو أرخص بكثير وأبسط من تشغيل + لا. يمكن لـ Gateway واحدة استضافة عدة وكلاء، لكل منهم مساحة عمله الخاصة، وإعداداته الافتراضية للنموذج، + وتوجيهه الخاص. هذا هو الإعداد المعتاد، وهو أرخص بكثير وأبسط من تشغيل VPS واحدة لكل وكيل. - استخدم VPS منفصلة فقط عندما تحتاج إلى عزل صارم (حدود أمان) أو إلى - إعدادات مختلفة جدًا لا تريد مشاركتها. وبخلاف ذلك، احتفظ بـ Gateway واحدة + استخدم VPS منفصلة فقط عندما تحتاج إلى عزل صارم (حدود أمان) أو + تكوينات مختلفة جدًا لا تريد مشاركتها. وإلا، فاحتفظ بـ Gateway واحدة واستخدم عدة وكلاء أو وكلاء فرعيين. - + نعم - تُعد Nodes الطريقة الأساسية للوصول إلى حاسوبك المحمول من Gateway بعيدة، وهي - تفتح أكثر من مجرد وصول إلى الصدفة. تعمل Gateway على macOS/Linux (وعلى Windows عبر WSL2) وهي - خفيفة، لذا فإن إعدادًا شائعًا هو مضيف يعمل دائمًا بالإضافة إلى حاسوبك المحمول كـ Node. + تفتح أكثر من مجرد وصول إلى الصدفة. تعمل Gateway على macOS/Linux (وWindows عبر WSL2) وهي + خفيفة، لذا فإن إعدادًا شائعًا هو + مضيف يعمل دائمًا بالإضافة إلى حاسوبك المحمول بوصفه Node. - **لا حاجة إلى SSH وارد.** تتصل Nodes خارجيًا بـ Gateway WebSocket وتستخدم إقران الأجهزة. - - **عناصر تحكم أكثر أمانًا في التنفيذ.** يتم تقييد `system.run` بواسطة قوائم السماح/الموافقات الخاصة بـ Node على ذلك الحاسوب المحمول. - - **مزيد من أدوات الأجهزة.** تعرض Nodes كلًا من `canvas` و`camera` و`screen` بالإضافة إلى `system.run`. + - **عناصر تحكم أكثر أمانًا في التنفيذ.** يُحاط `system.run` بقوائم سماح/موافقات Nodes على ذلك الحاسوب المحمول. + - **المزيد من أدوات الأجهزة.** تكشف Nodes عن `canvas` و`camera` و`screen` بالإضافة إلى `system.run`. - **أتمتة متصفح محلية.** أبقِ Gateway على VPS، لكن شغّل Chrome محليًا عبر مضيف Node على الحاسوب المحمول، أو اتصل بـ Chrome المحلي على المضيف عبر Chrome MCP. - لا بأس باستخدام SSH للوصول العرضي إلى الصدفة، لكن Nodes أبسط لسير عمل الوكلاء المستمر + لا بأس باستخدام SSH للوصول العارض إلى الصدفة، لكن Nodes أبسط لسير عمل الوكلاء المستمر وأتمتة الأجهزة. - المستندات: [Nodes](/ar/nodes)، [Nodes CLI](/cli/nodes)، [Browser](/ar/tools/browser). + الوثائق: [Nodes](/ar/nodes)، [CLI لـ Nodes](/cli/nodes)، [المتصفح](/ar/tools/browser). - لا. ينبغي أن تعمل **Gateway واحدة** فقط لكل مضيف ما لم تكن تشغّل عمدًا ملفات تعريف معزولة (راجع [Gateways متعددة](/ar/gateway/multiple-gateways)). تُعد Nodes أجهزة طرفية تتصل - بـ Gateway (Nodes الخاصة بـ iOS/Android، أو "وضع Node" في تطبيق شريط القوائم على macOS). وبالنسبة إلى - مضيفي Node بدون واجهة مرئية والتحكم عبر CLI، راجع [Node host CLI](/cli/node). + لا. يجب تشغيل **Gateway واحدة** فقط لكل مضيف ما لم تكن تشغّل عمدًا ملفات تعريف معزولة (راجع [Gateways متعددة](/ar/gateway/multiple-gateways)). تُعد Nodes أجهزة طرفية تتصل + بـ Gateway (Nodes لـ iOS/Android، أو "وضع Node" على macOS في تطبيق شريط القوائم). وبالنسبة إلى + مضيفي Nodes بلا واجهة والتحكم عبر CLI، راجع [CLI الخاص بمضيف Node](/cli/node). - يتطلب الأمر إعادة تشغيل كاملة لتغييرات `gateway` و`discovery` و`canvasHost`. + يلزم إجراء إعادة تشغيل كاملة عند تغيير `gateway` أو `discovery` أو `canvasHost`. - + نعم. - - `config.schema.lookup`: افحص شجرة فرعية واحدة من الإعدادات مع عقدة المخطط السطحية الخاصة بها، وتلميح واجهة المستخدم المطابق، وملخصات الأبناء المباشرين قبل الكتابة - - `config.get`: اجلب اللقطة الحالية + hash - - `config.patch`: تحديث جزئي آمن (المفضّل لمعظم تعديلات RPC)؛ يعيد التحميل سريعًا عند الإمكان ويعيد التشغيل عند الحاجة - - `config.apply`: يتحقق من الإعدادات الكاملة ويستبدلها؛ يعيد التحميل سريعًا عند الإمكان ويعيد التشغيل عند الحاجة - - لا تزال أداة وقت التشغيل `gateway` الخاصة بالمالك فقط ترفض إعادة كتابة `tools.exec.ask` / `tools.exec.security`؛ وتُطبَّع الأسماء البديلة القديمة `tools.bash.*` إلى مسارات exec المحمية نفسها + - `config.schema.lookup`: فحص شجرة فرعية واحدة من التكوين مع عقدة المخطط السطحية الخاصة بها، وتلميح واجهة المستخدم المطابق، وملخصات الأبناء المباشرين قبل الكتابة + - `config.get`: جلب اللقطة الحالية + hash + - `config.patch`: تحديث جزئي آمن (المفضل لمعظم تعديلات RPC)؛ يعيد التحميل السريع عند الإمكان ويعيد التشغيل عند الحاجة + - `config.apply`: يتحقق من الصحة + يستبدل التكوين الكامل؛ يعيد التحميل السريع عند الإمكان ويعيد التشغيل عند الحاجة + - ما تزال أداة وقت التشغيل `gateway` المخصصة للمالك فقط ترفض إعادة كتابة `tools.exec.ask` / `tools.exec.security`؛ وتُطبّع الأسماء المستعارة القديمة `tools.bash.*` إلى مسارات exec المحمية نفسها - + ```json5 { agents: { defaults: { workspace: "~/.openclaw/workspace" } }, @@ -1835,81 +1836,81 @@ x-i18n: } ``` - يضبط هذا مساحة عملك ويقيّد من يمكنه تشغيل البوت. + يضبط هذا مساحة العمل الخاصة بك ويقيّد من يمكنه تشغيل الروبوت. - - الحد الأدنى من الخطوات: + + الخطوات الدنيا: - 1. **ثبّت وسجّل الدخول على VPS** + 1. **ثبّت + سجّل الدخول على VPS** ```bash curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up ``` - 2. **ثبّت وسجّل الدخول على جهاز Mac** + 2. **ثبّت + سجّل الدخول على جهاز Mac** - استخدم تطبيق Tailscale وسجّل الدخول إلى tailnet نفسها. 3. **فعّل MagicDNS (موصى به)** - - في وحدة تحكم إدارة Tailscale، فعّل MagicDNS حتى يحصل VPS على اسم ثابت. + - في وحدة تحكم إدارة Tailscale، فعّل MagicDNS حتى يكون لـ VPS اسم ثابت. 4. **استخدم اسم مضيف tailnet** - SSH: `ssh user@your-vps.tailnet-xxxx.ts.net` - Gateway WS: `ws://your-vps.tailnet-xxxx.ts.net:18789` - إذا كنت تريد Control UI بدون SSH، فاستخدم Tailscale Serve على VPS: + إذا كنت تريد Control UI من دون SSH، فاستخدم Tailscale Serve على VPS: ```bash openclaw gateway --tailscale serve ``` - يُبقي هذا Gateway مربوطة بـ loopback ويعرّض HTTPS عبر Tailscale. راجع [Tailscale](/ar/gateway/tailscale). + هذا يُبقي Gateway مربوطة بـ loopback ويكشف HTTPS عبر Tailscale. راجع [Tailscale](/ar/gateway/tailscale). - - يعرّض Serve **Gateway Control UI + WS**. وتتصل Nodes عبر نقطة نهاية Gateway WS نفسها. + + يكشف Serve **Control UI + WS الخاصة بـ Gateway**. وتتصل Nodes عبر نقطة نهاية Gateway WS نفسها. الإعداد الموصى به: - 1. **تأكد من أن VPS وMac على tailnet نفسها**. + 1. **تأكد من أن VPS + جهاز Mac على tailnet نفسها**. 2. **استخدم تطبيق macOS في الوضع البعيد** (يمكن أن يكون هدف SSH هو اسم مضيف tailnet). - سيقوم التطبيق بعمل نفق لمنفذ Gateway والاتصال كـ Node. - 3. **وافق على Node** في Gateway: + سيقوم التطبيق بإنشاء نفق لمنفذ Gateway والاتصال بوصفه Node. + 3. **وافق على Node** على Gateway: ```bash openclaw devices list openclaw devices approve ``` - المستندات: [بروتوكول Gateway](/ar/gateway/protocol)، [Discovery](/ar/gateway/discovery)، [وضع macOS البعيد](/ar/platforms/mac/remote). + الوثائق: [بروتوكول Gateway](/ar/gateway/protocol)، [الاكتشاف](/ar/gateway/discovery)، [الوضع البعيد على macOS](/ar/platforms/mac/remote). - إذا كنت تحتاج فقط إلى **أدوات محلية** (screen/camera/exec) على الحاسوب المحمول الثاني، فأضفه كـ - **Node**. وهذا يُبقي على Gateway واحدة ويتجنب تكرار الإعدادات. أدوات Node المحلية + إذا كنت تحتاج فقط إلى **أدوات محلية** (الشاشة/الكاميرا/exec) على الحاسوب المحمول الثاني، فأضفه بوصفه + **Node**. يُبقي هذا على Gateway واحدة ويتجنب ازدواجية التكوين. أدوات Nodes المحلية حاليًا خاصة بـ macOS فقط، لكننا نخطط لتوسيعها إلى أنظمة تشغيل أخرى. - لا تثبّت Gateway ثانية إلا عندما تحتاج إلى **عزل صارم** أو إلى بوتين منفصلين تمامًا. + ثبّت Gateway ثانية فقط عندما تحتاج إلى **عزل صارم** أو إلى روبوتين منفصلين تمامًا. - المستندات: [Nodes](/ar/nodes)، [Nodes CLI](/cli/nodes)، [Gateways متعددة](/ar/gateway/multiple-gateways). + الوثائق: [Nodes](/ar/nodes)، [CLI لـ Nodes](/cli/nodes)، [Gateways متعددة](/ar/gateway/multiple-gateways). -## متغيرات البيئة وتحميل ‎.env +## متغيرات البيئة وتحميل `.env` - يقرأ OpenClaw متغيرات البيئة من العملية الأم (الصدفة، وlaunchd/systemd، وCI، وما إلى ذلك) ويحمّل أيضًا بشكل إضافي: + يقرأ OpenClaw متغيرات البيئة من العملية الأم (الصدفة، أو launchd/systemd، أو CI، إلخ) ويحمّل أيضًا: - `.env` من دليل العمل الحالي - - ملف `.env` احتياطيًا عامًا من `~/.openclaw/.env` (ويُعرف أيضًا باسم `$OPENCLAW_STATE_DIR/.env`) + - ملف `.env` احتياطي عام من `~/.openclaw/.env` (أي `$OPENCLAW_STATE_DIR/.env`) - لا يقوم أي من ملفَي `.env` بتجاوز متغيرات البيئة الموجودة مسبقًا. + لا يقوم أي من ملفي `.env` بتجاوز متغيرات البيئة الموجودة. - يمكنك أيضًا تعريف متغيرات بيئة مضمنة داخل الإعدادات (تُطبّق فقط إذا كانت مفقودة من بيئة العملية): + يمكنك أيضًا تعريف متغيرات بيئة مضمنة في التكوين (تُطبَّق فقط إذا كانت مفقودة من بيئة العملية): ```json5 { @@ -1924,11 +1925,11 @@ x-i18n: - + هناك حلان شائعان: - 1. ضع المفاتيح المفقودة في `~/.openclaw/.env` حتى يتم التقاطها حتى عندما لا ترث الخدمة متغيرات بيئة الصدفة الخاصة بك. - 2. فعّل استيراد متغيرات الصدفة (وسيلة راحة اختيارية): + 1. ضع المفاتيح المفقودة في `~/.openclaw/.env` حتى يتم التقاطها حتى عندما لا ترث الخدمة بيئة الصدفة الخاصة بك. + 2. فعّل استيراد الصدفة (خيار اختياري للراحة): ```json5 { @@ -1941,18 +1942,18 @@ x-i18n: } ``` - يشغّل هذا صدفة تسجيل الدخول الخاصة بك ويستورد فقط المفاتيح المتوقعة المفقودة (من دون أي تجاوز). المكافئات في متغيرات البيئة: - `OPENCLAW_LOAD_SHELL_ENV=1`، `OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000`. + يشغّل هذا صدفة تسجيل الدخول لديك ويستورد فقط المفاتيح المتوقعة المفقودة (من دون تجاوز أي شيء مطلقًا). مقابلات متغيرات البيئة: + `OPENCLAW_LOAD_SHELL_ENV=1`, `OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000`. - يعرض `openclaw models status` ما إذا كان **استيراد متغيرات بيئة الصدفة** مفعّلًا. لا تعني عبارة "Shell env: off" - أن متغيرات البيئة الخاصة بك مفقودة - بل تعني فقط أن OpenClaw لن يحمّل - صدفة تسجيل الدخول الخاصة بك تلقائيًا. + يبلّغ `openclaw models status` عما إذا كان **استيراد بيئة الصدفة** مفعّلًا. لا تعني عبارة "Shell env: off" + أن متغيرات البيئة لديك مفقودة - بل تعني فقط أن OpenClaw لن يحمّل + صدفة تسجيل الدخول لديك تلقائيًا. - إذا كانت Gateway تعمل كخدمة (launchd/systemd)، فلن ترث بيئة - الصدفة الخاصة بك. أصلح ذلك بإحدى هذه الطرق: + إذا كانت Gateway تعمل بوصفها خدمة (launchd/systemd)، فلن ترث صدفة + البيئة الخاصة بك. أصلح ذلك بإحدى هذه الطرق: 1. ضع الرمز المميز في `~/.openclaw/.env`: @@ -1961,15 +1962,15 @@ x-i18n: ``` 2. أو فعّل استيراد الصدفة (`env.shellEnv.enabled: true`). - 3. أو أضفه إلى كتلة `env` في إعداداتك (يُطبّق فقط إذا كان مفقودًا). + 3. أو أضفه إلى كتلة `env` في التكوين لديك (يُطبّق فقط إذا كان مفقودًا). - ثم أعد تشغيل gateway وتحقق مرة أخرى: + ثم أعد تشغيل Gateway وتحقق مرة أخرى: ```bash openclaw models status ``` - تتم قراءة رموز Copilot من `COPILOT_GITHUB_TOKEN` (وكذلك `GH_TOKEN` / `GITHUB_TOKEN`). + تتم قراءة رموز Copilot من `COPILOT_GITHUB_TOKEN` (وأيضًا `GH_TOKEN` / `GITHUB_TOKEN`). راجع [/concepts/model-providers](/ar/concepts/model-providers) و[/environment](/ar/help/environment). @@ -1979,14 +1980,14 @@ x-i18n: - أرسل `/new` أو `/reset` كرسالة مستقلة. راجع [إدارة الجلسات](/ar/concepts/session). + أرسل `/new` أو `/reset` بوصفها رسالة مستقلة. راجع [إدارة الجلسات](/ar/concepts/session). - يمكن أن تنتهي صلاحية الجلسات بعد `session.idleMinutes`، لكن هذا **معطّل افتراضيًا** (القيمة الافتراضية **0**). - اضبطها على قيمة موجبة لتمكين انتهاء الصلاحية عند الخمول. وعند التمكين، تبدأ الرسالة **التالية** - بعد فترة الخمول بمعرّف جلسة جديد لمفتاح الدردشة ذاك. - وهذا لا يحذف النصوص - بل يبدأ جلسة جديدة فقط. + يمكن أن تنتهي صلاحية الجلسات بعد `session.idleMinutes`، لكن هذا **معطل افتراضيًا** (القيمة الافتراضية **0**). + اضبطه على قيمة موجبة لتمكين انتهاء الصلاحية عند الخمول. وعند التمكين، فإن الرسالة **التالية** + بعد فترة الخمول تبدأ معرف جلسة جديدًا لمفتاح الدردشة هذا. + ولا يحذف هذا النصوص المسجلة - بل يبدأ جلسة جديدة فقط. ```json5 { @@ -1998,41 +1999,41 @@ x-i18n: - - نعم، عبر **توجيه الوكلاء المتعددين** و**الوكلاء الفرعيين**. يمكنك إنشاء وكيل - منسق واحد وعدة وكلاء عاملين لهم مساحات عملهم ونماذجهم الخاصة. + + نعم، عبر **التوجيه متعدد الوكلاء** و**الوكلاء الفرعيين**. يمكنك إنشاء وكيل + منسق واحد والعديد من وكلاء العمال مع مساحات عملهم ونماذجهم الخاصة. - ومع ذلك، فمن الأفضل النظر إلى هذا على أنه **تجربة ممتعة**. فهو كثيف من ناحية الرموز وغالبًا - أقل كفاءة من استخدام بوت واحد مع جلسات منفصلة. أما النموذج المعتاد الذي - نتصوره فهو بوت واحد تتحدث إليه، مع جلسات مختلفة للعمل المتوازي. ويمكن لهذا - البوت أيضًا إنشاء وكلاء فرعيين عند الحاجة. + ومع ذلك، فمن الأفضل النظر إلى هذا على أنه **تجربة ممتعة**. فهو يستهلك قدرًا كبيرًا من الرموز وغالبًا + ما يكون أقل كفاءة من استخدام روبوت واحد مع جلسات منفصلة. النموذج المعتاد الذي + نتصوره هو روبوت واحد تتحدث إليه، مع جلسات مختلفة للعمل المتوازي. ويمكن لهذا + الروبوت أيضًا إنشاء وكلاء فرعيين عند الحاجة. - المستندات: [توجيه الوكلاء المتعددين](/ar/concepts/multi-agent)، [الوكلاء الفرعيون](/ar/tools/subagents)، [Agents CLI](/cli/agents). + الوثائق: [التوجيه متعدد الوكلاء](/ar/concepts/multi-agent)، [الوكلاء الفرعيون](/ar/tools/subagents)، [CLI الخاص بالوكلاء](/cli/agents). - - يظل سياق الجلسة محدودًا بنافذة النموذج. يمكن للمحادثات الطويلة، أو نواتج الأدوات الكبيرة، أو عدد كبير من + + سياق الجلسة محدود بنافذة النموذج. يمكن للدردشات الطويلة، أو مخرجات الأدوات الكبيرة، أو كثرة الملفات أن تؤدي إلى Compaction أو الاقتطاع. ما الذي يساعد: - - اطلب من البوت تلخيص الحالة الحالية وكتابتها إلى ملف. + - اطلب من الروبوت تلخيص الحالة الحالية وكتابتها في ملف. - استخدم `/compact` قبل المهام الطويلة، و`/new` عند تبديل المواضيع. - - احتفظ بالسياق المهم في مساحة العمل واطلب من البوت قراءته مجددًا. - - استخدم الوكلاء الفرعيين للأعمال الطويلة أو المتوازية حتى تبقى الدردشة الرئيسية أصغر. + - احتفظ بالسياق المهم في مساحة العمل واطلب من الروبوت قراءته مرة أخرى. + - استخدم الوكلاء الفرعيين للمهام الطويلة أو المتوازية حتى تبقى الدردشة الرئيسية أصغر. - اختر نموذجًا بنافذة سياق أكبر إذا كان هذا يحدث كثيرًا. - - استخدم أمر إعادة الضبط: + + استخدم أمر إعادة التعيين: ```bash openclaw reset ``` - إعادة ضبط كاملة غير تفاعلية: + إعادة تعيين كاملة غير تفاعلية: ```bash openclaw reset --scope full --yes --non-interactive @@ -2046,24 +2047,24 @@ x-i18n: ملاحظات: - - توفّر التهيئة الأولية أيضًا خيار **إعادة الضبط** إذا رأت إعدادات موجودة. راجع [التهيئة الأولية (CLI)](/ar/start/wizard). - - إذا كنت تستخدم ملفات تعريف (`--profile` / `OPENCLAW_PROFILE`)، فأعد ضبط كل دليل حالة (الافتراضي هو `~/.openclaw-`). - - إعادة ضبط التطوير: `openclaw gateway --dev --reset` (للتطوير فقط؛ تمسح إعدادات التطوير + بيانات الاعتماد + الجلسات + مساحة العمل). + - يقدّم الإعداد الأولي أيضًا خيار **إعادة التعيين** إذا اكتشف تكوينًا موجودًا. راجع [الإعداد الأولي (CLI)](/ar/start/wizard). + - إذا كنت قد استخدمت ملفات تعريف (`--profile` / `OPENCLAW_PROFILE`)، فأعد تعيين كل دليل حالة (الافتراضي هو `~/.openclaw-`). + - إعادة تعيين التطوير: `openclaw gateway --dev --reset` (خاص بالتطوير فقط؛ يمسح تكوين التطوير + بيانات الاعتماد + الجلسات + مساحة العمل). - - استخدم أحد الخيارات التالية: + + استخدم أحد هذه الخيارات: - - **Compaction** (يُبقي المحادثة لكنه يلخّص الأدوار الأقدم): + - **Compaction** (يُبقي المحادثة لكنه يختصر الأدوار الأقدم): ``` /compact ``` - أو `/compact ` لتوجيه التلخيص. + أو `/compact ` لتوجيه الملخص. - - **إعادة الضبط** (معرّف جلسة جديد لمفتاح الدردشة نفسه): + - **إعادة التعيين** (معرّف جلسة جديد لمفتاح الدردشة نفسه): ``` /new @@ -2072,24 +2073,24 @@ x-i18n: إذا استمر حدوث ذلك: - - فعّل أو اضبط **session pruning** (`agents.defaults.contextPruning`) لاقتطاع نواتج الأدوات القديمة. + - فعّل أو اضبط **تقليم الجلسة** (`agents.defaults.contextPruning`) لقص مخرجات الأدوات القديمة. - استخدم نموذجًا بنافذة سياق أكبر. - المستندات: [Compaction](/ar/concepts/compaction)، [Session pruning](/ar/concepts/session-pruning)، [إدارة الجلسات](/ar/concepts/session). + الوثائق: [Compaction](/ar/concepts/compaction)، [تقليم الجلسة](/ar/concepts/session-pruning)، [إدارة الجلسات](/ar/concepts/session). هذا خطأ تحقق من صحة المزوّد: أصدر النموذج كتلة `tool_use` من دون - `input` المطلوب. ويعني هذا عادةً أن سجل الجلسة قديم أو تالف (غالبًا بعد خيوط طويلة + `input` المطلوبة. ويعني هذا عادةً أن سجل الجلسة قديم أو تالف (غالبًا بعد سلاسل طويلة أو تغيير في الأداة/المخطط). - الحل: ابدأ جلسة جديدة باستخدام `/new` (كرسالة مستقلة). + الحل: ابدأ جلسة جديدة باستخدام `/new` (رسالة مستقلة). - تعمل Heartbeats كل **30m** افتراضيًا (**1h** عند استخدام مصادقة OAuth). اضبطها أو عطّلها: + تعمل Heartbeats كل **30 دقيقة** افتراضيًا (**ساعة واحدة** عند استخدام مصادقة OAuth). اضبطها أو عطّلها: ```json5 { @@ -2103,19 +2104,19 @@ x-i18n: } ``` - إذا كان `HEARTBEAT.md` موجودًا لكنه فارغ فعليًا (يحتوي فقط على أسطر فارغة وعناوين markdown - مثل `# Heading`)، فإن OpenClaw تتخطى تشغيل Heartbeat لتوفير استدعاءات API. - وإذا كان الملف مفقودًا، فستظل Heartbeat تعمل ويقرر النموذج ما الذي ينبغي فعله. + إذا كان `HEARTBEAT.md` موجودًا لكنه فارغ فعليًا (أسطر فارغة فقط وعناوين + Markdown مثل `# Heading`)، فإن OpenClaw تتخطى تشغيل Heartbeat لتوفير استدعاءات API. + وإذا كان الملف مفقودًا، فإن Heartbeat ما تزال تعمل ويقرر النموذج ما يجب فعله. - تستخدم التجاوزات الخاصة بكل وكيل `agents.list[].heartbeat`. المستندات: [Heartbeat](/ar/gateway/heartbeat). + تستخدم تجاوزات كل وكيل `agents.list[].heartbeat`. الوثائق: [Heartbeat](/ar/gateway/heartbeat). - - لا. يعمل OpenClaw على **حسابك الشخصي**، لذلك إذا كنت موجودًا في المجموعة، يستطيع OpenClaw رؤيتها. - افتراضيًا، يتم حظر الردود في المجموعات حتى تسمح للمرسلين (`groupPolicy: "allowlist"`). + + لا. يعمل OpenClaw على **حسابك الشخصي**، لذلك إذا كنت موجودًا في المجموعة، يمكن لـ OpenClaw رؤيتها. + افتراضيًا، تُحظر الردود في المجموعات إلى أن تسمح للمرسلين (`groupPolicy: "allowlist"`). - إذا كنت تريد أن تكون **أنت فقط** القادر على تشغيل الردود في المجموعة: + إذا كنت تريد أن تتمكن **أنت فقط** من تشغيل الردود في المجموعة: ```json5 { @@ -2131,129 +2132,130 @@ x-i18n: - الخيار 1 (الأسرع): تابع السجلات وأرسل رسالة اختبار في المجموعة: + الخيار 1 (الأسرع): تتبّع السجلات وأرسل رسالة اختبار في المجموعة: ```bash openclaw logs --follow --json ``` - ابحث عن `chatId` (أو `from`) المنتهي بـ `@g.us`، مثل: + ابحث عن `chatId` (أو `from`) الذي ينتهي بـ `@g.us`، مثل: `1234567890-1234567890@g.us`. - الخيار 2 (إذا كانت مُعدّة/موجودة في قائمة السماح بالفعل): اعرض المجموعات من الإعدادات: + الخيار 2 (إذا كان مضبوطًا/في قائمة السماح بالفعل): اعرض المجموعات من التكوين: ```bash openclaw directory groups list --channel whatsapp ``` - المستندات: [WhatsApp](/ar/channels/whatsapp)، [Directory](/cli/directory)، [Logs](/cli/logs). + الوثائق: [WhatsApp](/ar/channels/whatsapp)، [الدليل](/cli/directory)، [السجلات](/cli/logs). هناك سببان شائعان: - - تفعيل الإشارة مفعّل (افتراضيًا). يجب أن تقوم بعمل @mention للبوت (أو مطابقة `mentionPatterns`). - - قمت بإعداد `channels.whatsapp.groups` من دون `"*"` ولم تُضف المجموعة إلى قائمة السماح. + - تفعيل الإشارة مفعّل (افتراضيًا). يجب أن تقوم بعمل @mention للروبوت (أو مطابقة `mentionPatterns`). + - لقد قمت بتكوين `channels.whatsapp.groups` من دون `"*"` والمجموعة ليست ضمن قائمة السماح. راجع [المجموعات](/ar/channels/groups) و[رسائل المجموعات](/ar/channels/group-messages). - - تُدمج الدردشات المباشرة في الجلسة الرئيسية افتراضيًا. أما المجموعات/القنوات فلها مفاتيح جلسات خاصة بها، كما أن موضوعات Telegram / خيوط Discord هي جلسات منفصلة. راجع [المجموعات](/ar/channels/groups) و[رسائل المجموعات](/ar/channels/group-messages). + + تُدمج الدردشات المباشرة في الجلسة الرئيسية افتراضيًا. أما المجموعات/القنوات فلها مفاتيح جلسات خاصة بها، كما أن مواضيع Telegram / سلاسل Discord هي جلسات منفصلة. راجع [المجموعات](/ar/channels/groups) و[رسائل المجموعات](/ar/channels/group-messages). - - لا توجد حدود صارمة. العشرات (بل حتى المئات) مقبولة، لكن انتبه إلى: + + لا توجد حدود صارمة. العشرات (بل حتى المئات) لا بأس بها، ولكن انتبه إلى: - - **نمو القرص:** تعيش الجلسات + النصوص تحت `~/.openclaw/agents//sessions/`. - - **تكلفة الرموز:** المزيد من الوكلاء يعني مزيدًا من استخدام النماذج المتزامن. - - **العبء التشغيلي:** ملفات تعريف المصادقة، ومساحات العمل، وتوجيه القنوات لكل وكيل. + - **نمو القرص:** تعيش الجلسات + النصوص المسجلة تحت `~/.openclaw/agents//sessions/`. + - **تكلفة الرموز:** يعني المزيد من الوكلاء مزيدًا من استخدام النماذج المتزامن. + - **أعباء التشغيل:** ملفات تعريف المصادقة، ومساحات العمل، وتوجيه القنوات لكل وكيل. نصائح: - - احتفظ بمساحة عمل **نشطة** واحدة لكل وكيل (`agents.defaults.workspace`). - - قلّم الجلسات القديمة (احذف JSONL أو إدخالات المخزن) إذا زاد استخدام القرص. + - احتفظ **بمساحة عمل نشطة** واحدة لكل وكيل (`agents.defaults.workspace`). + - قلّم الجلسات القديمة (احذف JSONL أو مدخلات التخزين) إذا نما القرص. - استخدم `openclaw doctor` لاكتشاف مساحات العمل الشاردة وعدم تطابق ملفات التعريف. - - نعم. استخدم **توجيه الوكلاء المتعددين** لتشغيل عدة وكلاء معزولين وتوجيه الرسائل الواردة حسب - القناة/الحساب/النظير. وSlack مدعوم كقناة ويمكن ربطه بوكلاء محددين. + + نعم. استخدم **التوجيه متعدد الوكلاء** لتشغيل عدة وكلاء معزولين وتوجيه الرسائل الواردة بحسب + القناة/الحساب/النظير. Slack مدعوم بوصفه قناة ويمكن ربطه بوكلاء محددين. - الوصول إلى المتصفح قوي، لكنه ليس "افعل أي شيء يمكن للإنسان فعله" - إذ إن آليات مكافحة البوت، وCAPTCHAs، وMFA يمكن - أن تظل تحجب الأتمتة. وللحصول على أكثر تحكم موثوق في المتصفح، استخدم Chrome MCP المحلي على المضيف، + إن الوصول إلى المتصفح قوي، لكنه ليس "افعل أي شيء يمكن للإنسان فعله" - فما تزال أنظمة مكافحة الروبوتات وCAPTCHA وMFA + قادرة على حظر الأتمتة. ولأكثر تحكم موثوق في المتصفح، استخدم Chrome MCP المحلي على المضيف، أو استخدم CDP على الجهاز الذي يشغّل المتصفح فعليًا. - أفضل إعداد عملي: + إعداد أفضل الممارسات: - مضيف Gateway يعمل دائمًا (VPS/Mac mini). - - وكيل واحد لكل دور (روابط). - - قناة/قنوات Slack مرتبطة بتلك الوكلاء. - - متصفح محلي عبر Chrome MCP أو عبر Node عند الحاجة. + - وكيل واحد لكل دور (bindings). + - قناة أو قنوات Slack مرتبطة بتلك الوكلاء. + - متصفح محلي عبر Chrome MCP أو Node عند الحاجة. - المستندات: [توجيه الوكلاء المتعددين](/ar/concepts/multi-agent)، [Slack](/ar/channels/slack)، - [Browser](/ar/tools/browser)، [Nodes](/ar/nodes). + الوثائق: [التوجيه متعدد الوكلاء](/ar/concepts/multi-agent)، [Slack](/ar/channels/slack)، + [المتصفح](/ar/tools/browser)، [Nodes](/ar/nodes). -## النماذج: الافتراضيات، والاختيار، والأسماء المستعارة، والتبديل +## النماذج: الإعدادات الافتراضية، والاختيار، والأسماء المستعارة، والتبديل - النموذج الافتراضي في OpenClaw هو أي نموذج تضبطه كالتالي: + النموذج الافتراضي في OpenClaw هو أي نموذج تضبطه على أنه: ``` agents.defaults.model.primary ``` - يُشار إلى النماذج بصيغة `provider/model` (مثال: `openai/gpt-5.4`). وإذا حذفت اسم المزوّد، فسيحاول OpenClaw أولًا اسمًا مستعارًا، ثم مطابقة فريدة لمزوّد مضبوط لهذا المعرّف الدقيق للنموذج، وبعد ذلك فقط يعود إلى المزوّد الافتراضي المضبوط كمسار توافق قديم. وإذا لم يعد هذا المزوّد يعرّض النموذج الافتراضي المضبوط، فسيعود OpenClaw إلى أول مزوّد/نموذج مضبوط بدلًا من إظهار افتراضي قديم من مزوّد محذوف. ومع ذلك، ينبغي لك **ضبط `provider/model` صراحةً**. + يُشار إلى النماذج بصيغة `provider/model` (مثال: `openai/gpt-5.4`). وإذا حذفت اسم المزوّد، فإن OpenClaw تحاول أولًا اسمًا مستعارًا، ثم تطابقًا فريدًا لمزوّد مُكوَّن لذلك المعرّف الدقيق للنموذج، وبعد ذلك فقط تعود إلى المزوّد الافتراضي المكوَّن باعتباره مسار توافق قديمًا. وإذا لم يعد ذلك المزوّد يوفّر النموذج الافتراضي المكوَّن، فإن OpenClaw تعود إلى أول مزود/نموذج مُكوَّن بدلًا من إظهار افتراضي قديم تابع لمزوّد تمت إزالته. ومع ذلك، ينبغي لك **ضبط `provider/model` صراحةً**. - **الافتراضي الموصى به:** استخدم أقوى نموذج من أحدث جيل متاح في مجموعة مزوّديك. - **بالنسبة إلى الوكلاء المزوّدين بالأدوات أو الذين يتعاملون مع مدخلات غير موثوقة:** أعطِ قوة النموذج أولوية على التكلفة. - **وبالنسبة إلى الدردشة الروتينية/منخفضة المخاطر:** استخدم نماذج fallback أرخص ووجّه حسب دور الوكيل. + **الإعداد الافتراضي الموصى به:** استخدم أقوى نموذج من أحدث جيل متاح في مجموعة مزوديك. + **للوكلاء الممكَّنين بالأدوات أو المدخلات غير الموثوقة:** أعطِ أولوية لقوة النموذج على التكلفة. + **للدردشة الروتينية/منخفضة المخاطر:** استخدم نماذج احتياطية أرخص ووجّه حسب دور الوكيل. - لدى MiniMax مستنداته الخاصة: [MiniMax](/ar/providers/minimax) و + لدى MiniMax وثائقه الخاصة: [MiniMax](/ar/providers/minimax) و [النماذج المحلية](/ar/gateway/local-models). - قاعدة عامة: استخدم **أفضل نموذج يمكنك تحمّل تكلفته** للأعمال عالية المخاطر، واستخدم نموذجًا - أرخص للدردشة الروتينية أو الملخصات. ويمكنك توجيه النماذج لكل وكيل واستخدام الوكلاء الفرعيين من أجل - التوازي في المهام الطويلة (كل وكيل فرعي يستهلك رموزًا). راجع [النماذج](/ar/concepts/models) و + القاعدة العامة: استخدم **أفضل نموذج يمكنك تحمله** للأعمال عالية المخاطر، واستخدم نموذجًا أرخص + للدردشة الروتينية أو الملخصات. يمكنك توجيه النماذج لكل وكيل واستخدام الوكلاء الفرعيين من أجل + موازاة المهام الطويلة (كل وكيل فرعي يستهلك رموزًا). راجع [النماذج](/ar/concepts/models) و [الوكلاء الفرعيون](/ar/tools/subagents). - تحذير قوي: النماذج الأضعف/المكمّمة بدرجة كبيرة أكثر عرضة لحقن + تحذير قوي: النماذج الأضعف/المفرطة في التكميم أكثر عرضة لحقن المطالبات والسلوك غير الآمن. راجع [الأمان](/ar/gateway/security). - لمزيد من السياق: [النماذج](/ar/concepts/models). + مزيد من السياق: [النماذج](/ar/concepts/models). - - استخدم **أوامر النموذج** أو عدّل حقول **النموذج** فقط. وتجنّب استبدال الإعدادات بالكامل. + + استخدم **أوامر النماذج** أو عدّل حقول **النموذج** فقط. تجنب استبدال التكوين الكامل. الخيارات الآمنة: - `/model` في الدردشة (سريع، لكل جلسة) - - `openclaw models set ...` (يحدّث إعدادات النموذج فقط) + - `openclaw models set ...` (يحدّث تكوين النموذج فقط) - `openclaw configure --section model` (تفاعلي) - عدّل `agents.defaults.model` في `~/.openclaw/openclaw.json` - تجنّب `config.apply` مع كائن جزئي ما لم تكن تنوي استبدال الإعدادات كلها. - وبالنسبة إلى تعديلات RPC، افحص أولًا باستخدام `config.schema.lookup` وفضّل `config.patch`. تعطيك حمولة lookup المسار المُطبّع، ووثائق/قيود المخطط السطحية، وملخصات الأبناء المباشرين + تجنب `config.apply` مع كائن جزئي ما لم تكن تنوي استبدال التكوين كله. + وبالنسبة إلى تعديلات RPC، افحص أولًا باستخدام `config.schema.lookup` وفضّل `config.patch`. + توفّر لك حمولة lookup المسار المُطبّع، ووثائق/قيود المخطط السطحية، وملخصات الأبناء المباشرين للتحديثات الجزئية. - وإذا كنت قد كتبت فوق الإعدادات بالفعل، فاستعدها من نسخة احتياطية أو أعد تشغيل `openclaw doctor` للإصلاح. + وإذا كنت قد استبدلت التكوين بالفعل، فاستعده من نسخة احتياطية أو أعد تشغيل `openclaw doctor` للإصلاح. - المستندات: [النماذج](/ar/concepts/models)، [التهيئة](/cli/configure)، [الإعدادات](/cli/config)، [Doctor](/ar/gateway/doctor). + الوثائق: [النماذج](/ar/concepts/models)، [التهيئة](/cli/configure)، [التكوين](/cli/config)، [Doctor](/ar/gateway/doctor). - + نعم. يُعد Ollama أسهل مسار للنماذج المحلية. أسرع إعداد: @@ -2267,27 +2269,27 @@ x-i18n: ملاحظات: - يمنحك `Cloud + Local` نماذج سحابية بالإضافة إلى نماذج Ollama المحلية - - النماذج السحابية مثل `kimi-k2.5:cloud` لا تحتاج إلى سحب محلي + - لا تحتاج النماذج السحابية مثل `kimi-k2.5:cloud` إلى سحب محلي - للتبديل اليدوي، استخدم `openclaw models list` و`openclaw models set ollama/` - ملاحظة أمنية: النماذج الأصغر أو المكمّمة بشدة أكثر عرضة لحقن - المطالبات. نوصي بشدة باستخدام **نماذج كبيرة** لأي بوت يمكنه استخدام الأدوات. - وإذا كنت لا تزال تريد نماذج صغيرة، ففعّل العزل وقوائم السماح الصارمة للأدوات. + ملاحظة أمنية: النماذج الأصغر أو المكممة بشكل كبير أكثر عرضة لحقن + المطالبات. نوصي بشدة باستخدام **نماذج كبيرة** لأي روبوت يمكنه استخدام الأدوات. + وإذا كنت لا تزال تريد نماذج صغيرة، ففعّل العزل وقوائم سماح صارمة للأدوات. - المستندات: [Ollama](/ar/providers/ollama)، [النماذج المحلية](/ar/gateway/local-models)، - [مزوّدو النماذج](/ar/concepts/model-providers)، [الأمان](/ar/gateway/security)، + الوثائق: [Ollama](/ar/providers/ollama)، [النماذج المحلية](/ar/gateway/local-models)، + [مزودو النماذج](/ar/concepts/model-providers)، [الأمان](/ar/gateway/security)، [العزل](/ar/gateway/sandboxing). - - قد تختلف هذه البيئات وقد تتغير مع مرور الوقت؛ ولا توجد توصية ثابتة بمزوّد معين. - - تحقّق من إعداد وقت التشغيل الحالي على كل gateway باستخدام `openclaw models status`. + - قد تختلف هذه البيئات وقد تتغير بمرور الوقت؛ لا توجد توصية ثابتة لمزوّد بعينه. + - تحقّق من إعداد وقت التشغيل الحالي على كل Gateway باستخدام `openclaw models status`. - بالنسبة إلى الوكلاء الحساسين أمنيًا/الممكّنين بالأدوات، استخدم أقوى نموذج من أحدث جيل متاح. - استخدم الأمر `/model` كرسالة مستقلة: + استخدم الأمر `/model` بوصفه رسالة مستقلة: ``` /model sonnet @@ -2303,7 +2305,7 @@ x-i18n: يمكنك عرض النماذج المتاحة باستخدام `/model` أو `/model list` أو `/model status`. - يعرض `/model` (وكذلك `/model list`) منتقيًا مضغوطًا ومرقّمًا. اختر بالرقم: + يعرض `/model` (و`/model list`) أداة اختيار مدمجة ومرقمة. اختر بالرقم: ``` /model 3 @@ -2316,10 +2318,10 @@ x-i18n: /model opus@anthropic:work ``` - نصيحة: يعرض `/model status` الوكيل النشط، وملف `auth-profiles.json` المستخدم، وملف تعريف المصادقة الذي ستجري تجربته بعد ذلك. - كما يعرض نقطة نهاية المزوّد المضبوطة (`baseUrl`) ووضع API (`api`) عند توفرهما. + نصيحة: يعرض `/model status` الوكيل النشط، وملف `auth-profiles.json` المستخدم، وملف تعريف المصادقة الذي ستتم تجربته بعد ذلك. + كما يعرض نقطة نهاية المزوّد المكوّنة (`baseUrl`) ووضع API (`api`) عند توفرهما. - **كيف أفك التثبيت عن ملف تعريف قمت بتعيينه باستخدام @profile؟** + **كيف أُلغي تثبيت ملف تعريف ثبّتُّه باستخدام @profile؟** أعد تشغيل `/model` **من دون** اللاحقة `@profile`: @@ -2327,28 +2329,28 @@ x-i18n: /model anthropic/claude-opus-4-6 ``` - وإذا كنت تريد العودة إلى الافتراضي، فاختره من `/model` (أو أرسل `/model `). + إذا كنت تريد العودة إلى الافتراضي، فاختره من `/model` (أو أرسل `/model `). استخدم `/model status` للتأكد من ملف تعريف المصادقة النشط. - نعم. اضبط أحدهما كافتراضي وبدّل حسب الحاجة: + نعم. اضبط أحدهما كافتراضي وبدّل عند الحاجة: - **تبديل سريع (لكل جلسة):** `/model gpt-5.4` للمهام اليومية، و`/model openai-codex/gpt-5.4` للبرمجة باستخدام Codex OAuth. - - **افتراضي + تبديل:** اضبط `agents.defaults.model.primary` على `openai/gpt-5.4`، ثم بدّل إلى `openai-codex/gpt-5.4` عند البرمجة (أو العكس). + - **افتراضي + تبديل:** اضبط `agents.defaults.model.primary` إلى `openai/gpt-5.4`، ثم بدّل إلى `openai-codex/gpt-5.4` عند البرمجة (أو العكس). - **الوكلاء الفرعيون:** وجّه مهام البرمجة إلى وكلاء فرعيين لديهم نموذج افتراضي مختلف. راجع [النماذج](/ar/concepts/models) و[أوامر الشرطة المائلة](/ar/tools/slash-commands). - - استخدم إما تبديلًا على مستوى الجلسة أو افتراضيًا في الإعدادات: + + استخدم إما تبديلًا لكل جلسة أو إعدادًا افتراضيًا في التكوين: - **لكل جلسة:** أرسل `/fast on` بينما تستخدم الجلسة `openai/gpt-5.4` أو `openai-codex/gpt-5.4`. - - **افتراضي لكل نموذج:** اضبط `agents.defaults.models["openai/gpt-5.4"].params.fastMode` على `true`. - - **ينطبق على Codex OAuth أيضًا:** إذا كنت تستخدم أيضًا `openai-codex/gpt-5.4`، فاضبط العلامة نفسها هناك. + - **افتراضي لكل نموذج:** اضبط `agents.defaults.models["openai/gpt-5.4"].params.fastMode` إلى `true`. + - **Codex OAuth أيضًا:** إذا كنت تستخدم أيضًا `openai-codex/gpt-5.4`، فاضبط العلم نفسه هناك. مثال: @@ -2373,15 +2375,15 @@ x-i18n: } ``` - بالنسبة إلى OpenAI، يرتبط fast mode بالقيمة `service_tier = "priority"` في طلبات Responses الأصلية المدعومة. وتتغلب إعدادات `/fast` الخاصة بالجلسة على افتراضيات الإعدادات. + بالنسبة إلى OpenAI، يُطابِق الوضع السريع `service_tier = "priority"` في طلبات Responses الأصلية المدعومة. وتتفوق تجاوزات `/fast` الخاصة بالجلسة على إعدادات التكوين الافتراضية. - راجع [التفكير ووضع fast](/ar/tools/thinking) و[OpenAI fast mode](/ar/providers/openai#openai-fast-mode). + راجع [التفكير والوضع السريع](/ar/tools/thinking) و[الوضع السريع في OpenAI](/ar/providers/openai#openai-fast-mode). - - إذا كان `agents.defaults.models` مضبوطًا، فإنه يصبح **قائمة السماح** لأمر `/model` وأي - تجاوزات على مستوى الجلسة. ويؤدي اختيار نموذج غير موجود في تلك القائمة إلى إرجاع: + + إذا كان `agents.defaults.models` مضبوطًا، فإنه يصبح **قائمة السماح** لـ `/model` ولأي + تجاوزات جلسة. ويؤدي اختيار نموذج غير موجود في تلك القائمة إلى إرجاع: ``` Model "provider/model" is not allowed. Use /model to list available models. @@ -2393,17 +2395,17 @@ x-i18n: - هذا يعني أن **المزوّد غير مضبوط** (لم يتم العثور على إعدادات مزوّد MiniMax أو - ملف تعريف مصادقة)، لذلك لا يمكن حل النموذج. + هذا يعني أن **المزوّد غير مكوّن** (لم يُعثر على تكوين لمزوّد MiniMax أو على ملف + تعريف مصادقة)، لذلك لا يمكن حل النموذج. - قائمة التحقق للإصلاح: + قائمة تحقق للإصلاح: - 1. حدّث إلى إصدار حديث من OpenClaw (أو شغّل من المصدر `main`)، ثم أعد تشغيل gateway. - 2. تأكد من إعداد MiniMax (عبر المعالج أو JSON)، أو من وجود مصادقة MiniMax - في متغيرات البيئة/ملفات تعريف المصادقة بحيث يمكن حقن المزوّد المطابق - (`MINIMAX_API_KEY` من أجل `minimax`، و`MINIMAX_OAUTH_TOKEN` أو OAuth الخاص بـ MiniMax المخزن - من أجل `minimax-portal`). - 3. استخدم معرّف النموذج الدقيق (مع مراعاة حالة الأحرف) لمسار المصادقة لديك: + 1. حدّث إلى إصدار OpenClaw حديث (أو شغّل من المصدر `main`)، ثم أعد تشغيل Gateway. + 2. تأكد من تكوين MiniMax (عبر المعالج أو JSON)، أو من وجود مصادقة MiniMax + في env/ملفات تعريف المصادقة بحيث يمكن حقن المزوّد المطابق + (`MINIMAX_API_KEY` لـ `minimax`، و`MINIMAX_OAUTH_TOKEN` أو مصادقة MiniMax + OAuth المخزنة لـ `minimax-portal`). + 3. استخدم معرّف النموذج الدقيق (مع حساسية حالة الأحرف) لمسار المصادقة لديك: `minimax/MiniMax-M2.7` أو `minimax/MiniMax-M2.7-highspeed` لإعداد مفتاح API، أو `minimax-portal/MiniMax-M2.7` / `minimax-portal/MiniMax-M2.7-highspeed` لإعداد OAuth. @@ -2421,7 +2423,7 @@ x-i18n: نعم. استخدم **MiniMax كافتراضي** وبدّل النماذج **لكل جلسة** عند الحاجة. - إن fallback مخصصة **للأخطاء**، لا "للمهام الصعبة"، لذا استخدم `/model` أو وكيلًا منفصلًا. + تستخدم النماذج الاحتياطية من أجل **الأخطاء**، وليس من أجل "المهام الصعبة"، لذا استخدم `/model` أو وكيلًا منفصلًا. **الخيار A: التبديل لكل جلسة** @@ -2448,27 +2450,27 @@ x-i18n: **الخيار B: وكلاء منفصلون** - - الوكيل A الافتراضي: MiniMax - - الوكيل B الافتراضي: OpenAI + - الوكيل A افتراضيه: MiniMax + - الوكيل B افتراضيه: OpenAI - وجّه حسب الوكيل أو استخدم `/agent` للتبديل - المستندات: [النماذج](/ar/concepts/models)، [توجيه الوكلاء المتعددين](/ar/concepts/multi-agent)، [MiniMax](/ar/providers/minimax)، [OpenAI](/ar/providers/openai). + الوثائق: [النماذج](/ar/concepts/models)، [التوجيه متعدد الوكلاء](/ar/concepts/multi-agent)، [MiniMax](/ar/providers/minimax)، [OpenAI](/ar/providers/openai). - نعم. يوفّر OpenClaw بعض الاختصارات الافتراضية (تُطبّق فقط عندما يكون النموذج موجودًا في `agents.defaults.models`): + نعم. يشحن OpenClaw بعض الاختصارات الافتراضية (ولا تُطبَّق إلا عندما يكون النموذج موجودًا في `agents.defaults.models`): - - `opus` ← `anthropic/claude-opus-4-6` - - `sonnet` ← `anthropic/claude-sonnet-4-6` - - `gpt` ← `openai/gpt-5.4` - - `gpt-mini` ← `openai/gpt-5.4-mini` - - `gpt-nano` ← `openai/gpt-5.4-nano` - - `gemini` ← `google/gemini-3.1-pro-preview` - - `gemini-flash` ← `google/gemini-3-flash-preview` - - `gemini-flash-lite` ← `google/gemini-3.1-flash-lite-preview` + - `opus` → `anthropic/claude-opus-4-6` + - `sonnet` → `anthropic/claude-sonnet-4-6` + - `gpt` → `openai/gpt-5.4` + - `gpt-mini` → `openai/gpt-5.4-mini` + - `gpt-nano` → `openai/gpt-5.4-nano` + - `gemini` → `google/gemini-3.1-pro-preview` + - `gemini-flash` → `google/gemini-3-flash-preview` + - `gemini-flash-lite` → `google/gemini-3.1-flash-lite-preview` - إذا ضبطت اسمًا مستعارًا خاصًا بك بالاسم نفسه، فستكون قيمتك هي الغالبة. + إذا ضبطت اسمًا مستعارًا خاصًا بك بالاسم نفسه، فقيمتك هي التي تسود. @@ -2490,12 +2492,12 @@ x-i18n: } ``` - بعد ذلك سيُحل `/model sonnet` (أو `/` عندما يكون مدعومًا) إلى معرّف النموذج ذاك. + بعد ذلك، يحل `/model sonnet` (أو `/` عندما يكون مدعومًا) إلى معرّف ذلك النموذج. - - OpenRouter (الدفع لكل رمز؛ نماذج كثيرة): + + OpenRouter (الدفع حسب الرمز؛ نماذج كثيرة): ```json5 { @@ -2523,12 +2525,12 @@ x-i18n: } ``` - إذا أشرت إلى مزوّد/نموذج لكن مفتاح المزوّد المطلوب مفقود، فستتلقى خطأ مصادقة وقت التشغيل (مثل `No API key found for provider "zai"`). + إذا أشرت إلى `provider/model` لكن مفتاح المزوّد المطلوب مفقود، فستحصل على خطأ مصادقة وقت التشغيل (مثل `No API key found for provider "zai"`). - **لم يتم العثور على مفتاح API للمزوّد بعد إضافة وكيل جديد** + **لم يُعثر على مفتاح API للمزوّد بعد إضافة وكيل جديد** - يعني هذا عادةً أن **الوكيل الجديد** لديه مخزن مصادقة فارغ. تكون المصادقة لكل وكيل على حدة - وتُخزّن في: + يعني هذا عادةً أن **الوكيل الجديد** لديه مخزن مصادقة فارغ. المصادقة تكون لكل وكيل + وتُخزَّن في: ``` ~/.openclaw/agents//agent/auth-profiles.json @@ -2536,120 +2538,120 @@ x-i18n: خيارات الإصلاح: - - شغّل `openclaw agents add ` واضبط المصادقة أثناء المعالج. + - شغّل `openclaw agents add ` وقم بتكوين المصادقة أثناء المعالج. - أو انسخ `auth-profiles.json` من `agentDir` الخاص بالوكيل الرئيسي إلى `agentDir` الخاص بالوكيل الجديد. - لا **تعِد استخدام** `agentDir` بين الوكلاء؛ فهذا يسبب تعارضات في المصادقة/الجلسات. + **لا** تعِد استخدام `agentDir` عبر وكلاء متعددين؛ فهذا يسبب تصادمات في المصادقة/الجلسات. -## fallback للنماذج و"All models failed" +## التحويل التلقائي بين النماذج و"فشلت كل النماذج" - - تحدث آلية fallback على مرحلتين: + + يحدث التحويل التلقائي عند الفشل على مرحلتين: 1. **تدوير ملفات تعريف المصادقة** داخل المزوّد نفسه. - 2. **fallback للنموذج** إلى النموذج التالي في `agents.defaults.model.fallbacks`. + 2. **النموذج الاحتياطي** إلى النموذج التالي في `agents.defaults.model.fallbacks`. - تُطبّق فترات انتظار على ملفات التعريف الفاشلة (تراجع أسي)، حتى يتمكن OpenClaw من مواصلة الرد حتى عندما يكون أحد المزوّدين مقيّدًا بالمعدل أو فاشلًا مؤقتًا. + تُطبَّق فترات تهدئة على ملفات التعريف الفاشلة (تراجع أسي)، بحيث يمكن لـ OpenClaw الاستمرار في الرد حتى عندما يكون أحد المزوّدين مقيّدًا بالمعدل أو متعطلًا مؤقتًا. - يتضمن حوض تحديد المعدل أكثر من مجرد استجابات `429` العادية. كما يتعامل OpenClaw + تتضمن سلة حدود المعدل أكثر من مجرد استجابات `429` العادية. إذ تتعامل OpenClaw أيضًا مع رسائل مثل `Too many concurrent requests`، و`ThrottlingException`، و`concurrency limit reached`، و`workers_ai ... quota limit exceeded`، و`resource exhausted`، وحدود نوافذ الاستخدام الدورية (`weekly/monthly limit reached`) على أنها - حدود معدل تستحق fallback. + حدود معدلات تستحق التحويل التلقائي عند الفشل. - بعض الاستجابات التي تبدو مرتبطة بالفوترة ليست `402`، وبعض استجابات HTTP `402` - تبقى أيضًا في هذا الحوض المؤقت. وإذا أعاد المزوّد - نص فوترة صريحًا على `401` أو `403`، فلا يزال OpenClaw قادرًا على إبقائه في - مسار الفوترة، لكن مطابِقات النصوص الخاصة بكل مزوّد تبقى محصورة في - المزوّد الذي يملكها (مثل OpenRouter `Key limit exceeded`). أما إذا كانت رسالة `402` - تبدو بدلًا من ذلك كحد نافذة استخدام قابل لإعادة المحاولة أو - حد إنفاق للمؤسسة/مساحة العمل (`daily limit reached, resets tomorrow`، - `organization spending limit exceeded`)، فإن OpenClaw يتعامل معها على أنها - `rate_limit`، وليس تعطيل فوترة طويلًا. + بعض الاستجابات التي تبدو متعلقة بالفوترة ليست `402`، وبعض استجابات HTTP `402` + تبقى أيضًا ضمن سلة الحالات المؤقتة. وإذا أعاد مزوّد + نص فوترة صريحًا على `401` أو `403`، فلا يزال بإمكان OpenClaw إبقاؤه في + مسار الفوترة، لكن مطابِقات النصوص الخاصة بالمزوّد تبقى محصورة في + المزوّد الذي يملكها (مثل OpenRouter `Key limit exceeded`). وإذا بدت رسالة `402` + بدلًا من ذلك كحد قابل لإعادة المحاولة متعلق بنافذة استخدام أو + بحد إنفاق مؤسسة/مساحة عمل (`daily limit reached, resets tomorrow`، + `organization spending limit exceeded`)، فإن OpenClaw تتعامل معها على أنها + `rate_limit`، وليس تعطيل فوترة طويل الأمد. تختلف أخطاء تجاوز السياق عن ذلك: فالتواقيع مثل `request_too_large`، و`input exceeds the maximum number of tokens`، و`input token count exceeds the maximum number of input tokens`، و`input is too long for the model`، أو `ollama error: context length - exceeded` تبقى على مسار Compaction/إعادة المحاولة بدلًا من التقدم إلى fallback - للنموذج. + exceeded` تبقى على مسار Compaction/إعادة المحاولة بدلًا من + التقدم إلى النموذج الاحتياطي. - إن نصوص أخطاء الخادم العامة أضيق عمدًا من "أي شيء يحتوي على - unknown/error". يعامل OpenClaw الأشكال المؤقتة المحصورة بالمزوّد - مثل Anthropic `An unknown error occurred` المجردة، وOpenRouter - `Provider returned error` المجردة، وأخطاء سبب التوقف مثل `Unhandled stop reason: - error`، وحمولات JSON `api_error` ذات نصوص الخادم المؤقتة - (`internal server error`، `unknown error, 520`، `upstream error`، `backend + النصوص العامة لأخطاء الخادم أضيق عمدًا من "أي شيء يحتوي على + unknown/error". إذ تتعامل OpenClaw مع الأشكال العابرة الخاصة بالمزوّد + مثل صيغة Anthropic المجردة `An unknown error occurred`، وصيغة OpenRouter المجردة + `Provider returned error`، وأخطاء سبب الإيقاف مثل `Unhandled stop reason: + error`، وحمولات JSON `api_error` ذات نصوص الخادم العابرة + (`internal server error`، و`unknown error, 520`، و`upstream error`، و`backend error`)، وأخطاء انشغال المزوّد مثل `ModelNotReadyException` على أنها - إشارات مهلة/تحميل زائد تستحق fallback عندما يكون سياق المزوّد - مطابقًا. - أما نص fallback الداخلي العام مثل `LLM request failed with an unknown - error.` فيبقى محافظًا ولا يطلق fallback للنموذج بمفرده. + إشارات مهلة/تحميل زائد تستحق التحويل التلقائي عند الفشل عندما يتطابق + سياق المزوّد. + أما نص الرجوع الاحتياطي الداخلي العام مثل `LLM request failed with an unknown + error.` فيبقى محافظًا ولا يفعّل التحويل إلى نموذج احتياطي بمفرده. - - يعني ذلك أن النظام حاول استخدام معرّف ملف تعريف المصادقة `anthropic:default`، لكنه لم يتمكن من العثور على بيانات اعتماد له في مخزن المصادقة المتوقع. + + يعني هذا أن النظام حاول استخدام معرّف ملف تعريف المصادقة `anthropic:default`، لكنه لم يتمكن من العثور على بيانات اعتماد له في مخزن المصادقة المتوقع. - **قائمة التحقق للإصلاح:** + **قائمة تحقق للإصلاح:** - **أكد مكان وجود ملفات تعريف المصادقة** (المسارات الجديدة مقابل القديمة) - الحالي: `~/.openclaw/agents//agent/auth-profiles.json` - - القديم: `~/.openclaw/agent/*` (يتم ترحيله بواسطة `openclaw doctor`) - - **أكد أن متغير البيئة الخاص بك محمّل بواسطة Gateway** - - إذا كنت قد ضبطت `ANTHROPIC_API_KEY` في صدفتك لكنك تشغّل Gateway عبر systemd/launchd، فقد لا يرثه. ضعه في `~/.openclaw/.env` أو فعّل `env.shellEnv`. + - القديم: `~/.openclaw/agent/*` (يُرحَّل بواسطة `openclaw doctor`) + - **أكد أن متغير البيئة لديك محمّل بواسطة Gateway** + - إذا ضبطت `ANTHROPIC_API_KEY` في صدفتك لكنك تشغّل Gateway عبر systemd/launchd، فقد لا يرثه. ضعه في `~/.openclaw/.env` أو فعّل `env.shellEnv`. - **تأكد من أنك تعدّل الوكيل الصحيح** - - تعني إعدادات الوكلاء المتعددين أنه يمكن أن توجد ملفات `auth-profiles.json` متعددة. + - تعني إعدادات الوكلاء المتعددين أنه قد تكون هناك عدة ملفات `auth-profiles.json`. - **تحقق سريعًا من حالة النموذج/المصادقة** - - استخدم `openclaw models status` لرؤية النماذج المضبوطة وما إذا كانت المزوّدات مصادَقًا عليها. + - استخدم `openclaw models status` لرؤية النماذج المكوّنة وما إذا كان المزوّدون مصادقين. - **قائمة التحقق للإصلاح لرسالة "No credentials found for profile anthropic"** + **قائمة تحقق للإصلاح لعبارة "No credentials found for profile anthropic"** - يعني هذا أن التشغيل مثبت على ملف تعريف مصادقة Anthropic، لكن Gateway - لا تستطيع العثور عليه في مخزن المصادقة الخاص بها. + يعني هذا أن التشغيل مثبّت على ملف تعريف مصادقة Anthropic، لكن Gateway + لا تستطيع العثور عليه في مخزن المصادقة لديها. - **استخدم Claude CLI** - - شغّل `openclaw models auth login --provider anthropic --method cli --set-default` على مضيف gateway. + - شغّل `openclaw models auth login --provider anthropic --method cli --set-default` على مضيف Gateway. - **إذا كنت تريد استخدام مفتاح API بدلًا من ذلك** - - ضع `ANTHROPIC_API_KEY` في `~/.openclaw/.env` على **مضيف gateway**. - - امسح أي ترتيب مثبّت يفرض ملف تعريف مفقود: + - ضع `ANTHROPIC_API_KEY` في `~/.openclaw/.env` على **مضيف Gateway**. + - امسح أي ترتيب مثبّت يفرض ملف تعريف مفقودًا: ```bash openclaw models auth order clear --provider anthropic ``` - - **تأكد من أنك تشغّل الأوامر على مضيف gateway** - - في الوضع البعيد، تعيش ملفات تعريف المصادقة على جهاز gateway، وليس على حاسوبك المحمول. + - **أكد أنك تشغّل الأوامر على مضيف Gateway** + - في الوضع البعيد، تعيش ملفات تعريف المصادقة على جهاز Gateway، وليس على حاسوبك المحمول. - إذا كانت إعدادات النموذج لديك تتضمن Google Gemini كـ fallback (أو إذا بدّلت إلى اختصار Gemini)، فسيحاول OpenClaw استخدامه أثناء fallback للنموذج. وإذا لم تكن قد أعددت بيانات اعتماد Google، فسترى `No API key found for provider "google"`. + إذا كان تكوين النموذج لديك يتضمن Google Gemini كنموذج احتياطي (أو إذا بدّلت إلى اختصار Gemini)، فستحاول OpenClaw استخدامه أثناء التحويل إلى النموذج الاحتياطي. وإذا لم تكن قد كوّنت بيانات اعتماد Google، فسترى `No API key found for provider "google"`. - الحل: إما أن توفّر مصادقة Google، أو أن تزيل/تتجنب نماذج Google في `agents.defaults.model.fallbacks` / الأسماء المستعارة حتى لا يتجه fallback إليها. + الحل: إما أن توفّر مصادقة Google، أو تزيل/تتجنب نماذج Google في `agents.defaults.model.fallbacks` / الأسماء المستعارة حتى لا يتجه التحويل الاحتياطي إليها. **LLM request rejected: thinking signature required (Google Antigravity)** - السبب: يحتوي سجل الجلسة على **كتل thinking من دون تواقيع** (غالبًا من - بث متوقف/جزئي). يتطلب Google Antigravity وجود تواقيع لكتل thinking. + السبب: يحتوي سجل الجلسة على **كتل thinking بلا تواقيع** (غالبًا من + تدفق متوقف/جزئي). يتطلب Google Antigravity وجود تواقيع لكتل thinking. - الحل: يقوم OpenClaw الآن بإزالة كتل thinking غير الموقعة من أجل Google Antigravity Claude. وإذا استمرت المشكلة، فابدأ **جلسة جديدة** أو اضبط `/thinking off` لذلك الوكيل. + الحل: تقوم OpenClaw الآن بإزالة كتل thinking غير الموقّعة من Google Antigravity Claude. وإذا استمرت المشكلة في الظهور، فابدأ **جلسة جديدة** أو اضبط `/thinking off` لهذا الوكيل. -## ملفات تعريف المصادقة: ما هي وكيف تديرها +## ملفات تعريف المصادقة: ما هي وكيفية إدارتها -ذو صلة: [/concepts/oauth](/ar/concepts/oauth) (تدفقات OAuth، وتخزين الرموز، وأنماط الحسابات المتعددة) +ذو صلة: [/concepts/oauth](/ar/concepts/oauth) (تدفقات OAuth، وتخزين الرموز المميزة، وأنماط الحسابات المتعددة) - ملف تعريف المصادقة هو سجل بيانات اعتماد مسمى (OAuth أو مفتاح API) مرتبط بمزوّد. تعيش الملفات في: + ملف تعريف المصادقة هو سجل بيانات اعتماد مسمّى (OAuth أو مفتاح API) مرتبط بمزوّد. تعيش ملفات التعريف في: ``` ~/.openclaw/agents//agent/auth-profiles.json @@ -2657,37 +2659,37 @@ x-i18n: - - يستخدم OpenClaw معرّفات مسبوقة باسم المزوّد مثل: + + تستخدم OpenClaw معرّفات مسبوقة بالمزوّد مثل: - - `anthropic:default` (شائع عندما لا توجد هوية بريد إلكتروني) + - `anthropic:default` (شائع عند عدم وجود هوية بريد إلكتروني) - `anthropic:` لهويات OAuth - - معرّفات مخصصة تختارها أنت (مثل `anthropic:work`) + - المعرّفات المخصصة التي تختارها (مثل `anthropic:work`) - نعم. تدعم الإعدادات بيانات وصفية اختيارية لملفات التعريف وترتيبًا لكل مزوّد (`auth.order.`). وهذا **لا** يخزّن الأسرار؛ بل يربط المعرّفات بالمزوّد/الوضع ويضبط ترتيب التدوير. + نعم. يدعم التكوين بيانات وصفية اختيارية لملفات التعريف وترتيبًا لكل مزوّد (`auth.order.`). وهذا **لا** يخزن الأسرار؛ بل يربط المعرّفات بالمزوّد/الوضع ويضبط ترتيب التدوير. - قد يتخطى OpenClaw مؤقتًا ملف تعريف إذا كان في **فترة انتظار** قصيرة (حدود معدل/مهل/فشل مصادقة) أو في حالة **تعطيل** أطول (فوترة/رصيد غير كافٍ). ولتفحص ذلك، شغّل `openclaw models status --json` وتحقق من `auth.unusableProfiles`. الضبط: `auth.cooldowns.billingBackoffHours*`. + قد تتخطى OpenClaw مؤقتًا ملف تعريف إذا كان في **فترة تهدئة** قصيرة (حدود معدل/مهل/إخفاقات مصادقة) أو في حالة **تعطيل** أطول (فوترة/رصيد غير كافٍ). لفحص هذا، شغّل `openclaw models status --json` وتحقق من `auth.unusableProfiles`. الضبط: `auth.cooldowns.billingBackoffHours*`. - يمكن أن تكون فترات انتظار حدود المعدل محصورة بالنموذج. فقد يظل ملف تعريف في فترة انتظار - لنموذج واحد لكنه يظل قابلًا للاستخدام لنموذج شقيق على المزوّد نفسه، - بينما تظل نوافذ الفوترة/التعطيل تحظر ملف التعريف كله. + يمكن أن تكون فترات التهدئة الخاصة بحدود المعدل محصورة بنموذج معين. فقد يكون ملف تعريف في فترة تهدئة + لنموذج واحد بينما يظل قابلًا للاستخدام لنموذج شقيق على المزوّد نفسه، + في حين أن نوافذ الفوترة/التعطيل ما تزال تحجب ملف التعريف كله. يمكنك أيضًا ضبط تجاوز ترتيب **لكل وكيل** (مخزن في `auth-state.json` الخاص بذلك الوكيل) عبر CLI: ```bash - # يُستخدم الوكيل الافتراضي المضبوط افتراضيًا (احذف --agent) + # تكون القيمة الافتراضية هي الوكيل الافتراضي المكوّن (احذف --agent) openclaw models auth order get --provider anthropic # ثبّت التدوير على ملف تعريف واحد (جرّب هذا فقط) openclaw models auth order set --provider anthropic anthropic:default - # أو اضبط ترتيبًا صريحًا (fallback داخل المزوّد) + # أو اضبط ترتيبًا صريحًا (رجوع احتياطي داخل المزوّد) openclaw models auth order set --provider anthropic anthropic:work anthropic:default - # امسح التجاوز (ارجع إلى config auth.order / round-robin) + # امسح التجاوز (الرجوع إلى config auth.order / round-robin) openclaw models auth order clear --provider anthropic ``` @@ -2697,33 +2699,33 @@ x-i18n: openclaw models auth order set --provider anthropic --agent main anthropic:default ``` - وللتحقق مما سيُجرَّب فعليًا، استخدم: + وللتحقق مما ستتم تجربته فعليًا، استخدم: ```bash openclaw models status --probe ``` - إذا تم حذف ملف تعريف مخزّن من الترتيب الصريح، فسيعرض probe - `excluded_by_auth_order` لذلك الملف بدلًا من تجربته بصمت. + إذا حُذف ملف تعريف مخزن من الترتيب الصريح، فسيبلغ probe + عن `excluded_by_auth_order` لذلك الملف بدلًا من تجربته بصمت. - يدعم OpenClaw كلاهما: + يدعم OpenClaw كليهما: - - **OAuth** غالبًا ما يستفيد من وصول الاشتراك (حيثما ينطبق). - - **مفاتيح API** تستخدم فوترة الدفع لكل رمز. + - **OAuth** يستفيد غالبًا من وصول الاشتراك (عند الاقتضاء). + - **مفاتيح API** تستخدم فوترة الدفع حسب الرمز. يدعم المعالج صراحةً Anthropic Claude CLI، وOpenAI Codex OAuth، ومفاتيح API. -## Gateway: المنافذ، و"already running"، والوضع البعيد +## Gateway: المنافذ، و"قيد التشغيل بالفعل"، والوضع البعيد - يتحكم `gateway.port` في المنفذ المتعدد الإرسال الواحد لكل من WebSocket + HTTP (Control UI، والخطافات، وما إلى ذلك). + يتحكم `gateway.port` في المنفذ المتعدد الوحيد لـ WebSocket + HTTP (Control UI، وhooks، وما إلى ذلك). ترتيب الأولوية: @@ -2733,19 +2735,19 @@ x-i18n: - - لأن "running" هو منظور **المشرف** (launchd/systemd/schtasks). أما RPC probe فهو أن CLI تتصل فعليًا بـ gateway WebSocket وتستدعي `status`. + + لأن "running" هو منظور **المشرف** (launchd/systemd/schtasks). أما RPC probe فهو قيام CLI فعليًا بالاتصال بـ Gateway WebSocket واستدعاء `status`. - استخدم `openclaw gateway status` وركّز على هذه الأسطر: + استخدم `openclaw gateway status` وصدّق هذه الأسطر: - `Probe target:` (عنوان URL الذي استخدمه probe فعليًا) - `Listening:` (ما هو مربوط فعليًا على المنفذ) - - `Last gateway error:` (سبب جذري شائع عندما تكون العملية حية لكن المنفذ لا يستمع) + - `Last gateway error:` (السبب الجذري الشائع عندما تكون العملية حية لكن المنفذ لا يستمع) - - أنت تعدّل ملف إعدادات واحدًا بينما تشغّل الخدمة ملفًا آخر (غالبًا بسبب عدم تطابق `--profile` / `OPENCLAW_STATE_DIR`). + + أنت تعدّل ملف تكوين واحدًا بينما تقوم الخدمة بتشغيل ملف آخر (غالبًا بسبب عدم تطابق `--profile` / `OPENCLAW_STATE_DIR`). الحل: @@ -2753,19 +2755,19 @@ x-i18n: openclaw gateway install --force ``` - شغّل ذلك من البيئة / `--profile` نفسها التي تريد أن تستخدمها الخدمة. + شغّل ذلك من `--profile` / البيئة نفسها التي تريد أن تستخدمها الخدمة. - - يفرض OpenClaw قفلًا في وقت التشغيل من خلال ربط مستمع WebSocket فورًا عند بدء التشغيل (الافتراضي `ws://127.0.0.1:18789`). وإذا فشل الربط بسبب `EADDRINUSE`، فإنه يرمي `GatewayLockError` مشيرًا إلى أن مثيلًا آخر يستمع بالفعل. + + يفرض OpenClaw قفلًا في وقت التشغيل من خلال ربط مستمع WebSocket فورًا عند بدء التشغيل (الافتراضي `ws://127.0.0.1:18789`). وإذا فشل الربط بسبب `EADDRINUSE`، فإنه يطرح `GatewayLockError` مشيرًا إلى أن نسخة أخرى تستمع بالفعل. - الحل: أوقف المثيل الآخر، أو حرّر المنفذ، أو شغّل باستخدام `openclaw gateway --port `. + الحل: أوقف النسخة الأخرى، أو حرّر المنفذ، أو شغّل باستخدام `openclaw gateway --port `. - اضبط `gateway.mode: "remote"` وأشر إلى عنوان URL بعيد لـ WebSocket، اختياريًا مع بيانات اعتماد بعيدة ذات سر مشترك: + اضبط `gateway.mode: "remote"` ووجّه إلى عنوان URL بعيد لـ WebSocket، مع بيانات اعتماد بعيدة shared-secret اختيارية: ```json5 { @@ -2782,92 +2784,92 @@ x-i18n: ملاحظات: - - لا يبدأ `openclaw gateway` إلا عندما تكون `gateway.mode` مساوية لـ `local` (أو إذا مررت علامة التجاوز). - - يراقب تطبيق macOS ملف الإعدادات ويبدّل الأوضاع مباشرة عند تغيّر هذه القيم. - - إن `gateway.remote.token` / `.password` هما بيانات اعتماد بعيدة على جانب العميل فقط؛ ولا يفعّلان مصادقة Gateway المحلية بمفردهما. + - لا يبدأ `openclaw gateway` إلا عندما تكون `gateway.mode` مساوية لـ `local` (أو عند تمرير علم التجاوز). + - يراقب تطبيق macOS ملف التكوين ويبدّل الأوضاع مباشرةً عند تغير هذه القيم. + - إن `gateway.remote.token` / `.password` هي بيانات اعتماد بعيدة على جانب العميل فقط؛ ولا تمكّن مصادقة Gateway المحلية بمفردها. - مسار مصادقة gateway وطريقة المصادقة في واجهة المستخدم غير متطابقين. + لا يتطابق مسار مصادقة Gateway لديك مع طريقة المصادقة في واجهة المستخدم. حقائق (من الشيفرة): - - تحتفظ Control UI بالرمز المميز في `sessionStorage` لجلسة علامة تبويب المتصفح الحالية وعنوان URL الخاص بـ gateway المحددة، لذلك يستمر التحديث في علامة التبويب نفسها في العمل من دون استعادة التخزين الدائم الطويل الأمد للرمز في `localStorage`. - - عند `AUTH_TOKEN_MISMATCH`، يمكن للعملاء الموثوقين محاولة إعادة محاولة واحدة محدودة باستخدام رمز جهاز مخزّن مؤقتًا عندما تعيد gateway تلميحات إعادة المحاولة (`canRetryWithDeviceToken=true`، `recommendedNextStep=retry_with_device_token`). - - تعيد محاولة الرمز المخزّن مؤقتًا الآن استخدام النطاقات الموافق عليها المخزنة مع رمز الجهاز. أما المستدعون الذين يمررون `deviceToken` صريحًا / أو `scopes` صريحة فيحتفظون بمجموعة النطاقات المطلوبة بدلًا من وراثة النطاقات المخزنة. - - خارج مسار إعادة المحاولة هذا، تكون أولوية مصادقة الاتصال هي: الرمز/كلمة المرور الصريحان للسر المشترك أولًا، ثم `deviceToken` الصريح، ثم رمز الجهاز المخزن، ثم bootstrap token. - - تكون فحوصات نطاق bootstrap token ذات بادئات بحسب الدور. ولا تفي قائمة السماح المضمّنة الخاصة بـ bootstrap operator إلا بطلبات operator؛ أما أدوار node أو غير operator فتظل تحتاج إلى نطاقات تحت بادئة دورها الخاص. + - تحتفظ Control UI بالرمز المميز في `sessionStorage` لجلسة علامة تبويب المتصفح الحالية وعنوان URL المحدد لـ Gateway، لذلك تستمر تحديثات علامة التبويب نفسها في العمل من دون استعادة استمرارية رمز localStorage طويلة الأمد. + - عند `AUTH_TOKEN_MISMATCH`، يمكن للعملاء الموثوقين محاولة إعادة واحدة محدودة باستخدام رمز جهاز مخزن مؤقتًا عندما تعيد Gateway تلميحات إعادة المحاولة (`canRetryWithDeviceToken=true`, `recommendedNextStep=retry_with_device_token`). + - تعيد إعادة المحاولة بهذا الرمز المخزن الآن استخدام النطاقات المعتمدة المخزنة مع رمز الجهاز. أما مستدعيات `deviceToken` الصريحة / `scopes` الصريحة فتحتفظ بمجموعة النطاقات المطلوبة بدلًا من وراثة النطاقات المخزنة. + - خارج مسار إعادة المحاولة هذا، يكون ترتيب أولوية مصادقة الاتصال هو: رمز/كلمة مرور مشتركان صريحان أولًا، ثم `deviceToken` صريح، ثم رمز جهاز مخزن، ثم رمز bootstrap. + - تكون فحوصات نطاق رمز bootstrap مسبوقة بالدور. ولا تلبّي قائمة السماح المضمّنة لمشغلي bootstrap سوى طلبات المشغل؛ أما أدوار node أو غيرها من الأدوار غير المشغِّلة فما تزال تحتاج إلى نطاقات تحت بادئة دورها الخاصة. الحل: - - الأسرع: `openclaw dashboard` (يطبع + ينسخ عنوان URL الخاص بلوحة المعلومات، ويحاول الفتح؛ ويعرض تلميح SSH إذا كان بدون واجهة مرئية). + - الأسرع: `openclaw dashboard` (يطبع + ينسخ عنوان URL الخاص بلوحة التحكم، ويحاول فتحه؛ ويعرض تلميح SSH إذا كان headless). - إذا لم يكن لديك رمز مميز بعد: `openclaw doctor --generate-gateway-token`. - - إذا كان الاتصال بعيدًا، فأنشئ نفقًا أولًا: `ssh -N -L 18789:127.0.0.1:18789 user@host` ثم افتح `http://127.0.0.1:18789/`. - - وضع السر المشترك: اضبط `gateway.auth.token` / `OPENCLAW_GATEWAY_TOKEN` أو `gateway.auth.password` / `OPENCLAW_GATEWAY_PASSWORD`، ثم ألصق السر المطابق في إعدادات Control UI. + - إذا كان بعيدًا، فأنشئ نفقًا أولًا: `ssh -N -L 18789:127.0.0.1:18789 user@host` ثم افتح `http://127.0.0.1:18789/`. + - وضع shared-secret: اضبط `gateway.auth.token` / `OPENCLAW_GATEWAY_TOKEN` أو `gateway.auth.password` / `OPENCLAW_GATEWAY_PASSWORD`، ثم ألصق السر المطابق في إعدادات Control UI. - وضع Tailscale Serve: تأكد من تمكين `gateway.auth.allowTailscale` وأنك تفتح عنوان URL الخاص بـ Serve، وليس عنوان loopback/tailnet خامًا يتجاوز ترويسات هوية Tailscale. - - وضع trusted-proxy: تأكد من أنك تمر عبر الوكيل المدرك للهوية غير loopback المضبوط، وليس عبر وكيل loopback على المضيف نفسه أو عنوان URL خام لـ gateway. - - إذا استمر عدم التطابق بعد إعادة المحاولة الواحدة، فقم بتدوير/إعادة الموافقة على رمز الجهاز المقترن: + - وضع trusted-proxy: تأكد من أنك تمر عبر الوكيل غير loopback والمدرك للهوية والمكوّن، وليس عبر وكيل loopback على المضيف نفسه أو عنوان URL خام لـ Gateway. + - إذا استمر عدم التطابق بعد إعادة المحاولة الواحدة، فقم بتدوير/إعادة اعتماد رمز الجهاز المقترن: - `openclaw devices list` - `openclaw devices rotate --device --role operator` - - إذا أخبرك استدعاء التدوير ذاك بأنه رُفض، فتحقق من أمرين: - - لا تستطيع جلسات الأجهزة المقترنة تدوير إلا **أجهزتها الخاصة** ما لم تكن تملك أيضًا `operator.admin` - - لا يمكن لقيم `--scope` الصريحة أن تتجاوز نطاقات operator الحالية الخاصة بالمستدعي - - ما زلت عالقًا؟ شغّل `openclaw status --all` واتبع [استكشاف الأخطاء وإصلاحها](/ar/gateway/troubleshooting). راجع [لوحة المعلومات](/web/dashboard) لمعرفة تفاصيل المصادقة. + - إذا كانت مكالمة rotate تقول إنها رُفضت، فتحقق من أمرين: + - يمكن لجلسات الأجهزة المقترنة تدوير **جهازها الخاص فقط** ما لم تكن لديها أيضًا `operator.admin` + - لا يمكن لقيم `--scope` الصريحة أن تتجاوز نطاقات المشغل الحالية لدى المستدعي + - ما زلت عالقًا؟ شغّل `openclaw status --all` واتبع [استكشاف الأخطاء وإصلاحها](/ar/gateway/troubleshooting). راجع [لوحة التحكم](/web/dashboard) لتفاصيل المصادقة. - - يختار الربط `tailnet` عنوان Tailscale IP من واجهات الشبكة لديك (`100.64.0.0/10`). وإذا لم يكن الجهاز موجودًا على Tailscale (أو إذا كانت الواجهة متوقفة)، فلن يوجد شيء ليرتبط به. + + يختار ربط `tailnet` عنوان IP من Tailscale من واجهات الشبكة لديك (100.64.0.0/10). وإذا لم يكن الجهاز على Tailscale (أو كانت الواجهة متوقفة)، فلن يوجد شيء يمكن الربط إليه. الحل: - شغّل Tailscale على ذلك المضيف (حتى يحصل على عنوان 100.x)، أو - بدّل إلى `gateway.bind: "loopback"` / `"lan"`. - ملاحظة: إن `tailnet` صريح. بينما يفضّل `auto` loopback؛ لذا استخدم `gateway.bind: "tailnet"` عندما تريد ربطًا يقتصر على tailnet فقط. + ملاحظة: `tailnet` صريح. يفضّل `auto` ‏loopback؛ استخدم `gateway.bind: "tailnet"` عندما تريد ربطًا خاصًا بـ tailnet فقط. - عادةً لا - يمكن لـ Gateway واحدة تشغيل عدة قنوات مراسلة وعدة وكلاء. استخدم عدة Gateways فقط عندما تحتاج إلى التكرار (مثل rescue bot) أو إلى عزل صارم. + عادةً لا - يمكن لـ Gateway واحدة تشغيل عدة قنوات مراسلة ووكلاء. استخدم Gateways متعددة فقط عندما تحتاج إلى التكرار (مثل: روبوت إنقاذ) أو إلى عزل صارم. - نعم، لكن يجب أن تعزل: + نعم، لكن يجب عليك عزل: - - `OPENCLAW_CONFIG_PATH` (إعدادات لكل مثيل) - - `OPENCLAW_STATE_DIR` (حالة لكل مثيل) + - `OPENCLAW_CONFIG_PATH` (تكوين لكل نسخة) + - `OPENCLAW_STATE_DIR` (حالة لكل نسخة) - `agents.defaults.workspace` (عزل مساحة العمل) - `gateway.port` (منافذ فريدة) إعداد سريع (موصى به): - - استخدم `openclaw --profile ...` لكل مثيل (ينشئ تلقائيًا `~/.openclaw-`). - - اضبط `gateway.port` فريدًا في إعدادات كل ملف تعريف (أو مرّر `--port` للتشغيلات اليدوية). + - استخدم `openclaw --profile ...` لكل نسخة (ينشئ تلقائيًا `~/.openclaw-`). + - اضبط `gateway.port` فريدًا في تكوين كل ملف تعريف (أو مرّر `--port` للتشغيل اليدوي). - ثبّت خدمة لكل ملف تعريف: `openclaw --profile gateway install`. - تضيف ملفات التعريف أيضًا لواحق إلى أسماء الخدمات (`ai.openclaw.`؛ أو القديمة `com.openclaw.*`، و`openclaw-gateway-.service`، و`OpenClaw Gateway ()`). + تضيف ملفات التعريف أيضًا لاحقات إلى أسماء الخدمات (`ai.openclaw.`؛ والإرث `com.openclaw.*`، و`openclaw-gateway-.service`، و`OpenClaw Gateway ()`). الدليل الكامل: [Gateways متعددة](/ar/gateway/multiple-gateways). - - إن Gateway هي **خادم WebSocket**، وهي تتوقع أن تكون أول رسالة - هي إطار `connect`. وإذا استقبلت أي شيء آخر، فإنها تغلق الاتصال - بالرمز **1008** (مخالفة للسياسة). + + إن Gateway هي **خادم WebSocket**، وهي تتوقع أن تكون أول رسالة على الإطلاق + إطار `connect`. وإذا تلقت أي شيء آخر، فإنها تغلق الاتصال + باستخدام **الرمز 1008** (مخالفة للسياسة). الأسباب الشائعة: - - فتحت عنوان URL الخاص بـ **HTTP** في متصفح (`http://...`) بدلًا من عميل WS. + - فتحت عنوان URL لـ **HTTP** في متصفح (`http://...`) بدلًا من عميل WS. - استخدمت المنفذ أو المسار الخطأ. - قام وكيل أو نفق بإزالة ترويسات المصادقة أو أرسل طلبًا ليس خاصًا بـ Gateway. - حلول سريعة: + إصلاحات سريعة: - 1. استخدم عنوان URL الخاص بـ WS: `ws://:18789` (أو `wss://...` إذا كان HTTPS). + 1. استخدم عنوان URL لـ WS: `ws://:18789` (أو `wss://...` إذا كان HTTPS). 2. لا تفتح منفذ WS في علامة تبويب متصفح عادية. - 3. إذا كانت المصادقة مفعّلة، فضمّن الرمز المميز/كلمة المرور في إطار `connect`. + 3. إذا كانت المصادقة مفعلة، فضمّن الرمز المميز/كلمة المرور في إطار `connect`. - إذا كنت تستخدم CLI أو TUI، فينبغي أن يبدو عنوان URL كما يلي: + إذا كنت تستخدم CLI أو TUI، فيجب أن يبدو عنوان URL كما يلي: ``` openclaw tui --url ws://:18789 --token @@ -2878,7 +2880,7 @@ x-i18n: -## التسجيل وتصحيح الأخطاء +## التسجيل والتصحيح @@ -2888,38 +2890,38 @@ x-i18n: /tmp/openclaw/openclaw-YYYY-MM-DD.log ``` - يمكنك ضبط مسار ثابت عبر `logging.file`. ويتحكم `logging.level` في مستوى سجل الملف. أما تفصيلية وحدة التحكم فيتحكم بها `--verbose` و`logging.consoleLevel`. + يمكنك ضبط مسار ثابت عبر `logging.file`. ويُتحكم في مستوى سجل الملف عبر `logging.level`. أما درجة تفصيل وحدة التحكم فتُتحكم فيها عبر `--verbose` و`logging.consoleLevel`. - أسرع متابعة للسجل: + أسرع طريقة لتتبّع السجل: ```bash openclaw logs --follow ``` - سجلات الخدمة/المشرف (عندما تعمل gateway عبر launchd/systemd): + سجلات الخدمة/المشرف (عندما تعمل Gateway عبر launchd/systemd): - - macOS: `$OPENCLAW_STATE_DIR/logs/gateway.log` و`gateway.err.log` (الافتراضي: `~/.openclaw/logs/...`؛ وتستخدم ملفات التعريف `~/.openclaw-/logs/...`) - - Linux: `journalctl --user -u openclaw-gateway[-].service -n 200 --no-pager` - - Windows: `schtasks /Query /TN "OpenClaw Gateway ()" /V /FO LIST` + - macOS: ‏`$OPENCLAW_STATE_DIR/logs/gateway.log` و`gateway.err.log` (الافتراضي: `~/.openclaw/logs/...`؛ وتستخدم ملفات التعريف `~/.openclaw-/logs/...`) + - Linux: ‏`journalctl --user -u openclaw-gateway[-].service -n 200 --no-pager` + - Windows: ‏`schtasks /Query /TN "OpenClaw Gateway ()" /V /FO LIST` راجع [استكشاف الأخطاء وإصلاحها](/ar/gateway/troubleshooting) للمزيد. - استخدم مساعدات gateway: + استخدم أدوات Gateway المساعدة: ```bash openclaw gateway status openclaw gateway restart ``` - إذا كنت تشغّل gateway يدويًا، فيمكن لـ `openclaw gateway --force` استعادة المنفذ. راجع [Gateway](/ar/gateway). + إذا كنت تشغّل Gateway يدويًا، فإن `openclaw gateway --force` يمكنه استعادة المنفذ. راجع [Gateway](/ar/gateway). - توجد **طريقتا تثبيت** على Windows: + هناك **وضعان للتثبيت على Windows**: **1) WSL2 (موصى به):** تعمل Gateway داخل Linux. @@ -2937,7 +2939,7 @@ x-i18n: openclaw gateway run ``` - **2) Windows الأصلي (غير موصى به):** تعمل Gateway مباشرة داخل Windows. + **2) Windows الأصلي (غير موصى به):** تعمل Gateway مباشرةً في Windows. افتح PowerShell وشغّل: @@ -2952,12 +2954,12 @@ x-i18n: openclaw gateway run ``` - المستندات: [Windows (WSL2)](/ar/platforms/windows)، [دليل تشغيل خدمة Gateway](/ar/gateway). + الوثائق: [Windows (WSL2)](/ar/platforms/windows)، [دليل تشغيل خدمة Gateway](/ar/gateway). - - ابدأ بمسح سريع للصحة: + + ابدأ بمسح سريع للحالة الصحية: ```bash openclaw status @@ -2968,36 +2970,36 @@ x-i18n: الأسباب الشائعة: - - لم يتم تحميل مصادقة النموذج على **مضيف gateway** (تحقق من `models status`). - - اقتران القناة/قائمة السماح تحظر الردود (تحقق من إعدادات القناة + السجلات). - - WebChat/Dashboard مفتوحة من دون الرمز الصحيح. + - لم تُحمَّل مصادقة النموذج على **مضيف Gateway** (تحقق من `models status`). + - يقف اقتران القناة/قائمة السماح في وجه الردود (تحقق من تكوين القناة + السجلات). + - WebChat/لوحة التحكم مفتوحة من دون الرمز المميز الصحيح. - إذا كنت في وضع بعيد، فتأكد من أن اتصال النفق/Tailscale يعمل وأن + إذا كنت في الوضع البعيد، فتأكد من أن اتصال النفق/Tailscale قائم وأن Gateway WebSocket قابلة للوصول. - المستندات: [القنوات](/ar/channels)، [استكشاف الأخطاء وإصلاحها](/ar/gateway/troubleshooting)، [الوصول البعيد](/ar/gateway/remote). + الوثائق: [القنوات](/ar/channels)، [استكشاف الأخطاء وإصلاحها](/ar/gateway/troubleshooting)، [الوصول عن بُعد](/ar/gateway/remote). - يعني هذا عادةً أن واجهة المستخدم فقدت اتصال WebSocket. تحقق مما يلي: + يعني هذا عادةً أن واجهة المستخدم فقدت اتصال WebSocket. تحقق من: 1. هل تعمل Gateway؟ `openclaw gateway status` 2. هل Gateway سليمة؟ `openclaw status` - 3. هل تمتلك واجهة المستخدم الرمز الصحيح؟ `openclaw dashboard` - 4. إذا كان الاتصال بعيدًا، فهل يعمل رابط النفق/Tailscale؟ + 3. هل تمتلك واجهة المستخدم الرمز المميز الصحيح؟ `openclaw dashboard` + 4. إذا كانت بعيدة، فهل وصلة النفق/Tailscale قائمة؟ - ثم تابع السجلات: + ثم تتبّع السجلات: ```bash openclaw logs --follow ``` - المستندات: [لوحة المعلومات](/web/dashboard)، [الوصول البعيد](/ar/gateway/remote)، [استكشاف الأخطاء وإصلاحها](/ar/gateway/troubleshooting). + الوثائق: [لوحة التحكم](/web/dashboard)، [الوصول عن بُعد](/ar/gateway/remote)، [استكشاف الأخطاء وإصلاحها](/ar/gateway/troubleshooting). - + ابدأ بالسجلات وحالة القناة: ```bash @@ -3007,17 +3009,17 @@ x-i18n: ثم طابق الخطأ: - - `BOT_COMMANDS_TOO_MUCH`: تحتوي قائمة Telegram على عدد كبير جدًا من الإدخالات. يقوم OpenClaw بالفعل بالاقتطاع إلى حد Telegram ويعيد المحاولة بعدد أوامر أقل، لكن بعض إدخالات القائمة ما تزال تحتاج إلى الحذف. قلّل أوامر Plugin/Skill/الأوامر المخصصة، أو عطّل `channels.telegram.commands.native` إذا لم تكن تحتاج إلى القائمة. - - `TypeError: fetch failed`، أو `Network request for 'setMyCommands' failed!`، أو أخطاء شبكة مشابهة: إذا كنت على VPS أو خلف وكيل، فتأكد من أن HTTPS الصادرة مسموح بها وأن DNS يعمل من أجل `api.telegram.org`. + - `BOT_COMMANDS_TOO_MUCH`: تحتوي قائمة Telegram على عدد كبير جدًا من الإدخالات. تقوم OpenClaw بالفعل بالاقتصاص إلى حد Telegram وتعيد المحاولة بعدد أقل من الأوامر، لكن بعض إدخالات القائمة ما تزال بحاجة إلى الإسقاط. قلّل أوامر Plugin/Skill/الأوامر المخصصة، أو عطّل `channels.telegram.commands.native` إذا لم تكن بحاجة إلى القائمة. + - `TypeError: fetch failed`، أو `Network request for 'setMyCommands' failed!`، أو أخطاء شبكة مشابهة: إذا كنت على VPS أو خلف وكيل، فتأكد من أن HTTPS الصادر مسموح وأن DNS يعمل لـ `api.telegram.org`. إذا كانت Gateway بعيدة، فتأكد من أنك تنظر إلى السجلات على مضيف Gateway. - المستندات: [Telegram](/ar/channels/telegram)، [استكشاف أخطاء القنوات](/ar/channels/troubleshooting). + الوثائق: [Telegram](/ar/channels/telegram)، [استكشاف أخطاء القنوات](/ar/channels/troubleshooting). - - تأكد أولًا من أن Gateway قابلة للوصول وأن الوكيل قادر على العمل: + + أكد أولًا أن Gateway قابلة للوصول وأن الوكيل يمكنه التشغيل: ```bash openclaw status @@ -3025,10 +3027,10 @@ x-i18n: openclaw logs --follow ``` - في TUI، استخدم `/status` لرؤية الحالة الحالية. وإذا كنت تتوقع ردودًا في قناة - دردشة، فتأكد من أن التسليم مفعّل (`/deliver on`). + في TUI، استخدم `/status` لمعرفة الحالة الحالية. وإذا كنت تتوقع وصول الردود في قناة دردشة، + فتأكد من تمكين التسليم (`/deliver on`). - المستندات: [TUI](/web/tui)، [أوامر الشرطة المائلة](/ar/tools/slash-commands). + الوثائق: [TUI](/web/tui)، [أوامر الشرطة المائلة](/ar/tools/slash-commands). @@ -3040,37 +3042,37 @@ x-i18n: openclaw gateway start ``` - يؤدي هذا إلى إيقاف/بدء **الخدمة الخاضعة للإشراف** (launchd على macOS، وsystemd على Linux). - استخدم هذا عندما تعمل Gateway في الخلفية كعملية daemon. + يوقف/يبدأ هذا **الخدمة الخاضعة للإشراف** (launchd على macOS، وsystemd على Linux). + استخدم هذا عندما تعمل Gateway في الخلفية كعملية خدمية. - إذا كنت تشغّله في الواجهة الأمامية، فأوقفه باستخدام Ctrl-C، ثم: + إذا كنت تشغّلها في الواجهة الأمامية، فأوقفها باستخدام Ctrl-C، ثم: ```bash openclaw gateway run ``` - المستندات: [دليل تشغيل خدمة Gateway](/ar/gateway). + الوثائق: [دليل تشغيل خدمة Gateway](/ar/gateway). - + - `openclaw gateway restart`: يعيد تشغيل **الخدمة الخلفية** (launchd/systemd). - - `openclaw gateway`: يشغّل gateway **في الواجهة الأمامية** لهذه الجلسة الطرفية. + - `openclaw gateway`: يشغّل Gateway **في الواجهة الأمامية** لهذه الجلسة الطرفية. - إذا كنت قد ثبّت الخدمة، فاستخدم أوامر gateway. واستخدم `openclaw gateway` عندما + إذا كنت قد ثبّت الخدمة، فاستخدم أوامر Gateway. واستخدم `openclaw gateway` عندما تريد تشغيلًا لمرة واحدة في الواجهة الأمامية. - ابدأ Gateway باستخدام `--verbose` للحصول على مزيد من التفاصيل في وحدة التحكم. ثم افحص ملف السجل لمعرفة مصادقة القناة، وتوجيه النموذج، وأخطاء RPC. + ابدأ Gateway باستخدام `--verbose` للحصول على مزيد من التفاصيل في وحدة التحكم. ثم افحص ملف السجل بحثًا عن مصادقة القناة، وتوجيه النموذج، وأخطاء RPC. ## الوسائط والمرفقات - + يجب أن تتضمن المرفقات الصادرة من الوكيل سطر `MEDIA:` (في سطر مستقل). راجع [إعداد مساعد OpenClaw](/ar/start/openclaw) و[إرسال الوكيل](/ar/tools/agent-send). الإرسال عبر CLI: @@ -3079,12 +3081,12 @@ x-i18n: openclaw message send --target +15555550123 --message "Here you go" --media /path/to/file.png ``` - تحقّق أيضًا من: + تحقق أيضًا من: - - أن القناة المستهدفة تدعم الوسائط الصادرة وليست محظورة بواسطة قوائم السماح. + - أن القناة المستهدفة تدعم الوسائط الصادرة وليست محجوبة بقوائم السماح. - أن الملف ضمن حدود الحجم الخاصة بالمزوّد (تُعاد تحجيم الصور إلى حد أقصى 2048px). - - أن `tools.fs.workspaceOnly=true` يُبقي الإرسال من المسارات المحلية محصورًا في مساحة العمل، وtemp/media-store، والملفات التي اجتازت التحقق في sandbox. - - أن `tools.fs.workspaceOnly=false` يسمح لإرسال `MEDIA:` بإرسال الملفات المحلية على المضيف التي يستطيع الوكيل قراءتها بالفعل، ولكن فقط للوسائط بالإضافة إلى أنواع المستندات الآمنة (الصور، والصوت، والفيديو، وPDF، ومستندات Office). أما النصوص العادية والملفات التي تبدو كأسرار فتظل محظورة. + - يقيّد `tools.fs.workspaceOnly=true` عمليات الإرسال عبر المسار المحلي بحدود مساحة العمل، وtemp/media-store، والملفات التي تم التحقق منها ضمن sandbox. + - يسمح `tools.fs.workspaceOnly=false` لـ `MEDIA:` بإرسال الملفات المحلية على المضيف التي يستطيع الوكيل قراءتها بالفعل، ولكن فقط للوسائط بالإضافة إلى أنواع المستندات الآمنة (الصور، والصوت، والفيديو، وPDF، ومستندات Office). وما تزال الملفات النصية العادية والملفات الشبيهة بالأسرار محجوبة. راجع [الصور](/ar/nodes/images). @@ -3094,57 +3096,57 @@ x-i18n: ## الأمان والتحكم في الوصول - - تعامل مع الرسائل الخاصة الواردة على أنها مدخلات غير موثوقة. وقد صُممت الإعدادات الافتراضية لتقليل المخاطر: + + تعامل مع الرسائل الخاصة الواردة بوصفها مدخلات غير موثوقة. صُممت الإعدادات الافتراضية لتقليل المخاطر: - السلوك الافتراضي على القنوات القادرة على الرسائل الخاصة هو **الاقتران**: - - يتلقى المرسلون غير المعروفين رمز اقتران؛ ولا يعالج البوت رسالتهم. + - يتلقى المرسلون غير المعروفين رمز اقتران؛ ولا يعالج الروبوت رسالتهم. - وافق باستخدام: `openclaw pairing approve --channel [--account ] ` - - الحد الأقصى للطلبات المعلقة هو **3 لكل قناة**؛ تحقق من `openclaw pairing list --channel [--account ]` إذا لم يصل الرمز. - - يتطلب فتح الرسائل الخاصة للعامة موافقة صريحة (`dmPolicy: "open"` وقائمة سماح `"*"`). + - تُحدد الطلبات المعلقة بحد أقصى **3 لكل قناة**؛ تحقق من `openclaw pairing list --channel [--account ]` إذا لم يصل الرمز. + - يتطلب فتح الرسائل الخاصة علنًا موافقة صريحة (`dmPolicy: "open"` وقائمة السماح `"*"`). - شغّل `openclaw doctor` لإظهار سياسات الرسائل الخاصة الخطِرة. + شغّل `openclaw doctor` لإظهار سياسات الرسائل الخاصة المحفوفة بالمخاطر. - - لا. يتعلق حقن المطالبات بـ **المحتوى غير الموثوق**، وليس فقط بمن يمكنه إرسال رسالة خاصة إلى البوت. - فإذا كان مساعدك يقرأ محتوى خارجيًا (web search/fetch، أو صفحات المتصفح، أو الرسائل الإلكترونية، - أو المستندات، أو المرفقات، أو السجلات الملصقة)، فقد يتضمن ذلك المحتوى تعليمات تحاول - اختطاف النموذج. ويمكن أن يحدث ذلك حتى لو كنت **أنت المرسل الوحيد**. + + لا. يتعلق حقن المطالبات بـ **المحتوى غير الموثوق**، وليس فقط بمن يستطيع إرسال رسالة خاصة إلى الروبوت. + فإذا كان مساعدك يقرأ محتوى خارجيًا (بحث/جلب الويب، وصفحات المتصفح، ورسائل البريد الإلكتروني، + والمستندات، والمرفقات، والسجلات الملصقة)، فقد يتضمن ذلك المحتوى تعليمات تحاول + اختطاف النموذج. ويمكن أن يحدث هذا حتى لو كنت **أنت المرسل الوحيد**. - يكمن أكبر خطر عندما تكون الأدوات مفعّلة: إذ يمكن خداع النموذج - لاستخراج السياق أو استدعاء الأدوات نيابةً عنك. قلّل نطاق التأثير عبر: + يكمن الخطر الأكبر عند تمكين الأدوات: إذ يمكن خداع النموذج لكي + يسرّب السياق أو يستدعي الأدوات نيابةً عنك. قلّل مساحة الضرر عبر: - - استخدام وكيل "قارئ" للقراءة فقط أو معطّل الأدوات لتلخيص المحتوى غير الموثوق - - إبقاء `web_search` / `web_fetch` / `browser` معطّلة للوكلاء الممكّنين بالأدوات - - التعامل مع النصوص المفككة من الملفات/المستندات على أنها غير موثوقة أيضًا: يقوم كل من - `input_file` في OpenResponses واستخراج مرفقات الوسائط بتغليف النص المستخرج داخل - علامات صريحة لحدود المحتوى الخارجي بدلًا من تمرير نص الملف الخام + - استخدام وكيل "قارئ" للقراءة فقط أو معطَّل الأدوات لتلخيص المحتوى غير الموثوق + - إبقاء `web_search` / `web_fetch` / `browser` معطّلة للوكلاء الممكَّنين بالأدوات + - معاملة النص المفكوك من الملفات/المستندات على أنه غير موثوق أيضًا: يقوم OpenResponses + `input_file` واستخراج نص المرفقات الوسائطية كلاهما بتغليف النص المستخرج داخل + علامات حدود صريحة للمحتوى الخارجي بدلًا من تمرير نص الملف الخام - العزل وقوائم السماح الصارمة للأدوات التفاصيل: [الأمان](/ar/gateway/security). - - نعم، في معظم الإعدادات. إن عزل البوت بحسابات وأرقام هواتف منفصلة - يقلل نطاق التأثير إذا حدث خطأ ما. كما يجعل ذلك أسهل في تدوير - بيانات الاعتماد أو سحب الوصول دون التأثير في حساباتك الشخصية. + + نعم، في معظم الإعدادات. إن عزل الروبوت بحسابات وأرقام هواتف منفصلة + يقلل مساحة الضرر إذا حدث خطأ ما. كما يجعل ذلك تدوير + بيانات الاعتماد أو إلغاء الوصول أسهل من دون التأثير على حساباتك الشخصية. - ابدأ على نطاق صغير. امنح الوصول فقط إلى الأدوات والحسابات التي تحتاج إليها فعليًا، ووسّع + ابدأ على نطاق صغير. امنح الوصول فقط إلى الأدوات والحسابات التي تحتاجها فعلًا، ثم وسّع لاحقًا إذا لزم الأمر. - المستندات: [الأمان](/ar/gateway/security)، [الاقتران](/ar/channels/pairing). + الوثائق: [الأمان](/ar/gateway/security)، [الاقتران](/ar/channels/pairing). - نحن **لا** نوصي بالاستقلالية الكاملة على رسائلك الشخصية. والنمط الأكثر أمانًا هو: + نحن **لا** نوصي بالاستقلالية الكاملة على رسائلك الشخصية. النمط الأكثر أمانًا هو: - - أبقِ الرسائل الخاصة في **وضع الاقتران** أو ضمن قائمة سماح ضيقة. - - استخدم **رقمًا أو حسابًا منفصلًا** إذا كنت تريد أن يرسل الرسائل نيابةً عنك. - - دعه يصيغ، ثم **وافق قبل الإرسال**. + - أبقِ الرسائل الخاصة في **وضع الاقتران** أو ضمن قائمة سماح محكمة. + - استخدم **رقمًا أو حسابًا منفصلًا** إذا كنت تريد منه المراسلة نيابةً عنك. + - دعه يصوغ، ثم **وافق قبل الإرسال**. إذا كنت تريد التجربة، فافعل ذلك على حساب مخصص وأبقِه معزولًا. راجع [الأمان](/ar/gateway/security). @@ -3152,17 +3154,17 @@ x-i18n: - نعم، **إذا** كان الوكيل للدردشة فقط وكانت المدخلات موثوقة. فالطبقات الأصغر - أكثر عرضة لاختطاف التعليمات، لذا تجنّبها للوكلاء الممكّنين بالأدوات - أو عند قراءة محتوى غير موثوق. وإذا كان لا بد من استخدام نموذج أصغر، فقيّد + نعم، **إذا** كان الوكيل مخصصًا للدردشة فقط وكانت المدخلات موثوقة. الفئات الأصغر + أكثر عرضة لاختطاف التعليمات، لذا تجنبها للوكلاء الممكَّنين بالأدوات + أو عند قراءة محتوى غير موثوق. وإذا كان لا بد من استخدام نموذج أصغر، فأحكم الأدوات وشغّله داخل sandbox. راجع [الأمان](/ar/gateway/security). - - تُرسل رموز الاقتران **فقط** عندما يرسل مرسل غير معروف رسالة إلى البوت ويكون + + تُرسل رموز الاقتران **فقط** عندما يرسل مرسل غير معروف رسالة إلى الروبوت ويكون `dmPolicy: "pairing"` مفعّلًا. لا يؤدي `/start` وحده إلى إنشاء رمز. - تحقّق من الطلبات المعلقة: + تحقق من الطلبات المعلقة: ```bash openclaw pairing list telegram @@ -3173,8 +3175,8 @@ x-i18n: - - لا. السياسة الافتراضية لرسائل WhatsApp الخاصة هي **الاقتران**. يحصل المرسلون غير المعروفين فقط على رمز اقتران ولا **تُعالج** رسالتهم. ولا يرد OpenClaw إلا على الدردشات التي يتلقاها أو على الرسائل الصريحة التي تقوم أنت بتشغيلها. + + لا. سياسة الرسائل الخاصة الافتراضية في WhatsApp هي **الاقتران**. يتلقى المرسلون غير المعروفين رمز اقتران فقط ولا **تُعالَج** رسالتهم. لا يرد OpenClaw إلا على الدردشات التي يتلقاها أو على عمليات الإرسال الصريحة التي تقوم أنت بتشغيلها. وافق على الاقتران باستخدام: @@ -3188,19 +3190,19 @@ x-i18n: openclaw pairing list whatsapp ``` - مطالبة رقم الهاتف في المعالج: تُستخدم لضبط **قائمة السماح/المالك** الخاصة بك حتى تُسمح رسائلك الخاصة. ولا تُستخدم للإرسال التلقائي. وإذا كنت تشغّله على رقم WhatsApp الشخصي لديك، فاستخدم ذلك الرقم وفعّل `channels.whatsapp.selfChatMode`. + مطالبة رقم الهاتف في المعالج: تُستخدم لضبط **قائمة السماح/المالك** الخاصة بك بحيث تكون رسائلك الخاصة المرسلة من حسابك مسموحًا بها. ولا تُستخدم للإرسال التلقائي. وإذا كنت تشغّل على رقم WhatsApp الشخصي لديك، فاستخدم ذلك الرقم وفعّل `channels.whatsapp.selfChatMode`. -## أوامر الدردشة، وإيقاف المهام، و"إنه لا يتوقف" +## أوامر الدردشة، وإيقاف المهام، و"لن يتوقف" - تظهر معظم الرسائل الداخلية أو رسائل الأدوات فقط عندما يكون **verbose** أو **trace** أو **reasoning** مفعّلًا + لا تظهر معظم الرسائل الداخلية أو رسائل الأدوات إلا عندما يكون **verbose** أو **trace** أو **reasoning** مفعّلًا لتلك الجلسة. - الحل في الدردشة التي تراها فيها: + أصلح ذلك في الدردشة التي ترى فيها المشكلة: ``` /verbose off @@ -3208,16 +3210,16 @@ x-i18n: /reasoning off ``` - إذا ظل الأمر صاخبًا، فتحقق من إعدادات الجلسة في Control UI واضبط verbose - على **inherit**. وتأكد أيضًا من أنك لا تستخدم ملف تعريف بوت يحتوي على `verboseDefault` مضبوطًا - على `on` في الإعدادات. + إذا ظلت مزعجة، فتحقق من إعدادات الجلسة في Control UI واضبط verbose + على **inherit**. وتأكد أيضًا من أنك لا تستخدم ملف تعريف روبوت مع `verboseDefault` مضبوط + على `on` في التكوين. - المستندات: [التفكير وverbose](/ar/tools/thinking)، [الأمان](/ar/gateway/security#reasoning-verbose-output-in-groups). + الوثائق: [التفكير وverbose](/ar/tools/thinking)، [الأمان](/ar/gateway/security#reasoning-verbose-output-in-groups). - أرسل أيًّا مما يلي **كرسالة مستقلة** (من دون slash): + أرسل أيًا مما يلي **بوصفه رسالة مستقلة** (من دون شرطة مائلة): ``` stop @@ -3241,7 +3243,7 @@ x-i18n: interrupt ``` - هذه محفزات إيقاف، وليست أوامر slash. + هذه محفزات إيقاف، وليست أوامر بشرطة مائلة. بالنسبة إلى العمليات الخلفية (من أداة exec)، يمكنك أن تطلب من الوكيل تشغيل: @@ -3249,17 +3251,17 @@ x-i18n: process action:kill sessionId:XXX ``` - نظرة عامة على أوامر slash: راجع [أوامر الشرطة المائلة](/ar/tools/slash-commands). + لمحة عامة عن الأوامر ذات الشرطة المائلة: راجع [أوامر الشرطة المائلة](/ar/tools/slash-commands). - يجب إرسال معظم الأوامر **كرسالة مستقلة** تبدأ بـ `/`، لكن بعض الاختصارات (مثل `/status`) تعمل أيضًا داخل السطر للمرسلين الموجودين في قائمة السماح. + يجب إرسال معظم الأوامر بوصفها رسالة **مستقلة** تبدأ بـ `/`، لكن بعض الاختصارات القليلة (مثل `/status`) تعمل أيضًا ضمن الرسالة للمرسلين الموجودين في قائمة السماح. - يحظر OpenClaw المراسلة **عبر المزوّدات المختلفة** افتراضيًا. إذا كان استدعاء الأداة مرتبطًا - بـ Telegram، فلن يرسل إلى Discord ما لم تسمح بذلك صراحةً. + يمنع OpenClaw المراسلة **عبر المزوّدات** افتراضيًا. فإذا كانت أداة استدعاء مرتبطة + بـ Telegram، فلن ترسل إلى Discord ما لم تسمح بذلك صراحةً. - فعّل المراسلة عبر المزوّدات المختلفة للوكيل: + فعّل المراسلة عبر المزوّدات لهذا الوكيل: ```json5 { @@ -3274,20 +3276,20 @@ x-i18n: } ``` - أعد تشغيل gateway بعد تعديل الإعدادات. + أعد تشغيل Gateway بعد تعديل التكوين. - - يتحكم وضع قائمة الانتظار في كيفية تفاعل الرسائل الجديدة مع تشغيل جارٍ. استخدم `/queue` لتغيير الأوضاع: + + يتحكم وضع الطابور في كيفية تفاعل الرسائل الجديدة مع تشغيل جارٍ. استخدم `/queue` لتغيير الأوضاع: - `steer` - تعيد الرسائل الجديدة توجيه المهمة الحالية - - `followup` - يشغّل الرسائل واحدة تلو الأخرى - - `collect` - يجمع الرسائل في دفعة ويرد مرة واحدة (الافتراضي) - - `steer-backlog` - يعيد التوجيه الآن، ثم يعالج التراكم - - `interrupt` - يجهض التشغيل الحالي ويبدأ من جديد + - `followup` - تشغيل الرسائل واحدة تلو الأخرى + - `collect` - تجميع الرسائل والرد مرة واحدة (الافتراضي) + - `steer-backlog` - إعادة التوجيه الآن، ثم معالجة التراكم + - `interrupt` - إيقاف التشغيل الحالي وبدء تشغيل جديد - يمكنك إضافة خيارات مثل `debounce:2s cap:25 drop:summarize` لأوضاع followup. + يمكنك إضافة خيارات مثل `debounce:2s cap:25 drop:summarize` لأوضاع المتابعة. @@ -3295,11 +3297,11 @@ x-i18n: ## متفرقات - - في OpenClaw، تكون بيانات الاعتماد واختيار النموذج منفصلين. إن ضبط `ANTHROPIC_API_KEY` (أو تخزين مفتاح Anthropic API في ملفات تعريف المصادقة) يفعّل المصادقة، لكن النموذج الافتراضي الفعلي هو أي نموذج تضبطه في `agents.defaults.model.primary` (مثل `anthropic/claude-sonnet-4-6` أو `anthropic/claude-opus-4-6`). وإذا رأيت `No credentials found for profile "anthropic:default"`، فهذا يعني أن Gateway لم تتمكن من العثور على بيانات اعتماد Anthropic في `auth-profiles.json` المتوقع للوكيل الذي يعمل. + + في OpenClaw، تكون بيانات الاعتماد واختيار النموذج أمرين منفصلين. يؤدي ضبط `ANTHROPIC_API_KEY` (أو تخزين مفتاح Anthropic API في ملفات تعريف المصادقة) إلى تمكين المصادقة، لكن النموذج الافتراضي الفعلي هو أي نموذج تقوم بتكوينه في `agents.defaults.model.primary` (مثل `anthropic/claude-sonnet-4-6` أو `anthropic/claude-opus-4-6`). وإذا رأيت `No credentials found for profile "anthropic:default"`، فهذا يعني أن Gateway لم تتمكن من العثور على بيانات اعتماد Anthropic في ملف `auth-profiles.json` المتوقع للوكيل الذي يعمل. --- -ما زلت عالقًا؟ اسأل في [Discord](https://discord.com/invite/clawd) أو افتح [GitHub discussion](https://github.com/openclaw/openclaw/discussions). +ما زلت عالقًا؟ اسأل في [Discord](https://discord.com/invite/clawd) أو افتح [مناقشة على GitHub](https://github.com/openclaw/openclaw/discussions). diff --git a/docs/ar/install/index.md b/docs/ar/install/index.md index f5c273d81..a9adb535e 100644 --- a/docs/ar/install/index.md +++ b/docs/ar/install/index.md @@ -1,24 +1,24 @@ --- read_when: - - تحتاج إلى طريقة تثبيت غير البدء السريع في Getting Started - - تريد النشر على منصة سحابية - - تحتاج إلى التحديث أو الترحيل أو إلغاء التثبيت -summary: تثبيت OpenClaw — script التثبيت، وnpm/pnpm/bun، ومن المصدر، وDocker، وغير ذلك -title: التثبيت + - أنت بحاجة إلى طريقة تثبيت غير البدء السريع في قسم Getting Started + - تريد النشر إلى منصة سحابية + - تحتاج إلى التحديث، أو الترحيل، أو إلغاء التثبيت +summary: ثبّت OpenClaw — نص التثبيت البرمجي، وnpm/pnpm/bun، ومن المصدر، وDocker، والمزيد +title: ثبّت x-i18n: - generated_at: "2026-04-05T12:47:16Z" + generated_at: "2026-04-19T07:16:05Z" model: gpt-5.4 provider: openai - source_hash: eca17c76a2a66166b3d8cda9dc3144ab920d30ad0ed2a220eb9389d7a383ba5d + source_hash: ad0a5fdbbf13dcaf2fed6840f35aa22b2e9e458509509f98303c8d87c2556a6f source_path: install/index.md workflow: 15 --- # التثبيت -## الموصى به: script التثبيت +## الموصى به: نص التثبيت البرمجي -أسرع طريقة للتثبيت. يكتشف نظام التشغيل لديك، ويثبت Node عند الحاجة، ويثبت OpenClaw، ثم يشغّل onboarding. +أسرع طريقة للتثبيت. يكتشف نظام التشغيل لديك، ويثبّت Node إذا لزم الأمر، ويثبّت OpenClaw، ثم يبدأ الإعداد الأوّلي. @@ -33,7 +33,7 @@ x-i18n: -للتثبيت من دون تشغيل onboarding: +للتثبيت بدون تشغيل الإعداد الأوّلي: @@ -48,27 +48,26 @@ x-i18n: -للاطلاع على جميع العلامات وخيارات CI/الأتمتة، راجع [الجوانب الداخلية للمثبّت](/install/installer). +للاطّلاع على جميع العلامات وخيارات CI/الأتمتة، راجع [تفاصيل أداة التثبيت](/ar/install/installer). ## متطلبات النظام -- **Node 24** ‏(موصى به) أو Node 22.14+ — يتولى script التثبيت ذلك تلقائيًا -- **macOS أو Linux أو Windows** — يدعم كلًا من Windows الأصلي وWSL2؛ ويكون WSL2 أكثر استقرارًا. راجع [Windows](/platforms/windows). -- يلزم `pnpm` فقط إذا كنت ستبني من المصدر +- **Node 24** (موصى به) أو Node 22.14+ — يتولى نص التثبيت البرمجي هذا تلقائيًا +- **macOS أو Linux أو Windows** — كل من Windows الأصلي وWSL2 مدعومان؛ WSL2 أكثر استقرارًا. راجع [Windows](/ar/platforms/windows). +- لا تكون `pnpm` مطلوبة إلا إذا كنت ستبني من المصدر ## طرق التثبيت البديلة -### مثبّت local prefix ‏(`install-cli.sh`) +### أداة التثبيت ذات البادئة المحلية (`install-cli.sh`) -استخدمه عندما تريد الاحتفاظ بـ OpenClaw وNode تحت local prefix مثل +استخدم هذا عندما تريد الاحتفاظ بـ OpenClaw وNode ضمن بادئة محلية مثل `~/.openclaw`، من دون الاعتماد على تثبيت Node على مستوى النظام: ```bash curl -fsSL https://openclaw.ai/install-cli.sh | bash ``` -يدعم هذا المسار تثبيتات npm افتراضيًا، بالإضافة إلى تثبيتات نسخة git المحلية ضمن -تدفق prefix نفسه. المرجع الكامل: [الجوانب الداخلية للمثبّت](/install/installer#install-clish). +وهي تدعم تثبيتات npm افتراضيًا، بالإضافة إلى التثبيتات من نسخة git checkout ضمن تدفق البادئة نفسه. المرجع الكامل: [تفاصيل أداة التثبيت](/ar/install/installer#install-clish). ### npm أو pnpm أو bun @@ -89,7 +88,7 @@ curl -fsSL https://openclaw.ai/install-cli.sh | bash ``` - يتطلب pnpm موافقة صريحة على الحزم التي تحتوي على scripts بناء. شغّل `pnpm approve-builds -g` بعد أول تثبيت. + يتطلب pnpm موافقة صريحة على الحزم التي تحتوي على نصوص بناء برمجية. شغّل `pnpm approve-builds -g` بعد أول تثبيت. @@ -100,14 +99,14 @@ curl -fsSL https://openclaw.ai/install-cli.sh | bash ``` - يتم دعم Bun لمسار تثبيت CLI العام فقط. أما بالنسبة إلى وقت تشغيل Gateway، فما يزال Node هو بيئة daemon الموصى بها. + Bun مدعوم لمسار التثبيت العام لـ CLI. أمّا بالنسبة إلى بيئة تشغيل Gateway، فما يزال Node هو بيئة daemon الموصى بها. - - إذا فشل `sharp` بسبب libvips مثبّتة على مستوى النظام: + + إذا فشل `sharp` بسبب وجود libvips مثبّتة على مستوى النظام: ```bash SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw@latest @@ -117,17 +116,17 @@ SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw@latest ### من المصدر -للمساهمين أو لأي شخص يريد التشغيل من نسخة محلية: +للمساهمين أو لأي شخص يريد التشغيل من نسخة checkout محلية: ```bash git clone https://github.com/openclaw/openclaw.git cd openclaw -pnpm install && pnpm ui:build && pnpm build +pnpm install && pnpm build && pnpm ui:build pnpm link --global openclaw onboard --install-daemon ``` -أو تخطَّ الربط واستخدم `pnpm openclaw ...` من داخل المستودع. راجع [الإعداد](/start/setup) للحصول على تدفقات التطوير الكاملة. +أو يمكنك تخطي الربط واستخدام `pnpm openclaw ...` من داخل المستودع. راجع [الإعداد](/ar/start/setup) للاطّلاع على مسارات العمل التطويرية الكاملة. ### التثبيت من GitHub main @@ -138,82 +137,82 @@ npm install -g github:openclaw/openclaw#main ### الحاويات ومديرو الحزم - - عمليات نشر معبأة أو بلا واجهة. + + عمليات نشر داخل حاويات أو بدون واجهة. - - بديل حاويات rootless لـ Docker. + + بديل حاويات بدون صلاحيات root لـ Docker. - + تثبيت تصريحي عبر Nix flake. - - تجهيز آلي للأساطيل. + + تجهيز آلي على نطاق واسع. - - استخدام CLI فقط عبر وقت تشغيل Bun. + + استخدام CLI فقط عبر بيئة Bun. ## التحقق من التثبيت ```bash -openclaw --version # تأكيد توفر CLI -openclaw doctor # التحقق من مشكلات التكوين -openclaw gateway status # التحقق من أن Gateway تعمل +openclaw --version # تأكيد أن CLI متاح +openclaw doctor # التحقق من مشكلات الإعداد +openclaw gateway status # التحقق من أن Gateway يعمل ``` -إذا كنت تريد بدء تشغيل مُدارًا بعد التثبيت: +إذا كنت تريد بدءًا مُدارًا بعد التثبيت: -- macOS: ‏LaunchAgent عبر `openclaw onboard --install-daemon` أو `openclaw gateway install` -- Linux/WSL2: خدمة مستخدم systemd عبر الأوامر نفسها -- Windows الأصلي: ‏Scheduled Task أولًا، مع بديل عنصر تسجيل دخول لكل مستخدم في Startup folder إذا تم رفض إنشاء المهمة +- macOS: LaunchAgent عبر `openclaw onboard --install-daemon` أو `openclaw gateway install` +- Linux/WSL2: خدمة systemd على مستوى المستخدم عبر الأوامر نفسها +- Windows الأصلي: Scheduled Task أولًا، مع بديل عنصر تسجيل دخول لكل مستخدم في مجلد Startup إذا تم رفض إنشاء المهمة ## الاستضافة والنشر انشر OpenClaw على خادم سحابي أو VPS: - أي Linux VPS - خطوات Docker المشتركة - K8s - Fly.io - Hetzner - Google Cloud - Azure - Railway - Render - Northflank + أي VPS يعمل بنظام Linux + خطوات Docker المشتركة + K8s + Fly.io + Hetzner + Google Cloud + Azure + Railway + Render + Northflank ## التحديث أو الترحيل أو إلغاء التثبيت - - حافظ على تحديث OpenClaw. + + حافظ على OpenClaw محدّثًا. - - الانتقال إلى جهاز جديد. + + انقل إلى جهاز جديد. - - إزالة OpenClaw بالكامل. + + أزل OpenClaw بالكامل. -## استكشاف الأخطاء وإصلاحها: تعذر العثور على `openclaw` +## استكشاف الأخطاء وإصلاحها: تعذّر العثور على `openclaw` -إذا نجح التثبيت لكن تعذر العثور على `openclaw` في طرفيتك: +إذا نجح التثبيت لكن تعذّر العثور على `openclaw` في الطرفية لديك: ```bash -node -v # هل Node مثبت؟ +node -v # هل Node مثبّت؟ npm prefix -g # أين توجد الحزم العامة؟ -echo "$PATH" # هل يوجد دليل bin العام في PATH؟ +echo "$PATH" # هل دليل bin العام موجود في PATH؟ ``` -إذا لم يكن `$(npm prefix -g)/bin` موجودًا في `$PATH` لديك، فأضفه إلى ملف بدء shell ‏(`~/.zshrc` أو `~/.bashrc`): +إذا لم يكن `$(npm prefix -g)/bin` موجودًا في `$PATH` لديك، فأضفه إلى ملف بدء تشغيل الصدفة (`~/.zshrc` أو `~/.bashrc`): ```bash export PATH="$(npm prefix -g)/bin:$PATH" ``` -ثم افتح طرفية جديدة. راجع [إعداد Node](/install/node) لمزيد من التفاصيل. +ثم افتح طرفية جديدة. راجع [إعداد Node](/ar/install/node) لمزيد من التفاصيل. diff --git a/docs/ar/platforms/windows.md b/docs/ar/platforms/windows.md index d6c9dff1b..575a30ff6 100644 --- a/docs/ar/platforms/windows.md +++ b/docs/ar/platforms/windows.md @@ -1,43 +1,43 @@ --- read_when: - تثبيت OpenClaw على Windows - - الاختيار بين Windows الأصلية وWSL2 + - الاختيار بين Windows الأصلي وWSL2 - البحث عن حالة التطبيق المرافق لـ Windows -summary: 'دعم Windows: مسارات التثبيت الأصلية وWSL2، وdaemon، والمحاذير الحالية' +summary: 'دعم Windows: مسارات التثبيت الأصلية وWSL2، الخدمة الخلفية، والمحاذير الحالية' title: Windows x-i18n: - generated_at: "2026-04-05T12:50:48Z" + generated_at: "2026-04-19T07:16:04Z" model: gpt-5.4 provider: openai - source_hash: 7d9819206bdd65cf03519c1bc73ed0c7889b0ab842215ea94343262300adfd14 + source_hash: 1e7451c785a1d75c809522ad93e2c44a00b211f77f14c5c489fd0b01840d3fe2 source_path: platforms/windows.md workflow: 15 --- # Windows -يدعم OpenClaw كلاً من **Windows الأصلية** و**WSL2**. ويُعد WSL2 المسار الأكثر -استقرارًا والموصى به للحصول على التجربة الكاملة — حيث تعمل CLI وGateway -والأدوات داخل Linux مع توافق كامل. أما Windows الأصلية فتعامل بشكل جيد -مع CLI الأساسية واستخدامات Gateway، مع بعض المحاذير المذكورة أدناه. +يدعم OpenClaw كلاً من **Windows الأصلي** و**WSL2**. يُعد WSL2 المسار الأكثر +استقرارًا ويوصى به للحصول على التجربة الكاملة — إذ تعمل CLI وGateway وأدوات +العمل داخل Linux مع توافق كامل. يعمل Windows الأصلي مع استخدامات CLI وGateway +الأساسية، مع بعض المحاذير الموضحة أدناه. -من المخطط توفير تطبيقات مرافقة أصلية لـ Windows. +تطبيقات Windows المرافقة الأصلية مخطط لها. ## WSL2 (موصى به) -- [Getting Started](/ar/start/getting-started) (استخدمه داخل WSL) -- [Install & updates](/install/updating) +- [البدء](/ar/start/getting-started) (استخدمه داخل WSL) +- [التثبيت والتحديثات](/ar/install/updating) - دليل WSL2 الرسمي (Microsoft): [https://learn.microsoft.com/windows/wsl/install](https://learn.microsoft.com/windows/wsl/install) -## حالة Windows الأصلية +## حالة Windows الأصلي -تتحسن تدفقات CLI الأصلية على Windows، لكن WSL2 ما تزال المسار الموصى به. +تتحسن تدفقات CLI الأصلية على Windows، لكن WSL2 لا يزال هو المسار الموصى به. -ما الذي يعمل جيدًا على Windows الأصلية اليوم: +ما الذي يعمل جيدًا على Windows الأصلي اليوم: -- مثبّت الموقع عبر `install.ps1` +- مُثبّت الموقع عبر `install.ps1` - استخدام CLI المحلي مثل `openclaw --version` و`openclaw doctor` و`openclaw plugins list --json` -- اختبارات smoke المحلية للوكيل/المزوّد المضمّنين مثل: +- اختبارات local-agent/provider المضمنة مثل: ```powershell openclaw agent --local --agent main --thinking low -m "Reply with exactly WINDOWS-HATCH-OK." @@ -45,34 +45,34 @@ openclaw agent --local --agent main --thinking low -m "Reply with exactly WINDOW المحاذير الحالية: -- ما يزال `openclaw onboard --non-interactive` يتوقع gateway محلية قابلة للوصول ما لم تمرر `--skip-health` -- يحاول `openclaw onboard --non-interactive --install-daemon` و`openclaw gateway install` استخدام Windows Scheduled Tasks أولًا -- إذا تم رفض إنشاء Scheduled Task، يعود OpenClaw إلى عنصر تسجيل دخول لكل مستخدم في مجلد Startup ويبدأ gateway فورًا -- إذا تعطلت `schtasks` نفسها أو توقفت عن الاستجابة، يوقف OpenClaw هذا المسار بسرعة الآن ويعود إلى الرجوع الاحتياطي بدلًا من التعليق إلى الأبد -- ما تزال Scheduled Tasks هي المفضلة عندما تكون متاحة لأنها توفّر حالة مشرف أفضل +- لا يزال `openclaw onboard --non-interactive` يتوقع وجود Gateway محلي قابل للوصول ما لم تمرر `--skip-health` +- يحاول `openclaw onboard --non-interactive --install-daemon` و`openclaw gateway install` استخدام Windows Scheduled Tasks أولاً +- إذا تم رفض إنشاء Scheduled Task، يعود OpenClaw إلى عنصر تسجيل دخول لكل مستخدم داخل مجلد Startup ويبدأ Gateway فورًا +- إذا تعطل `schtasks` نفسه أو توقف عن الاستجابة، فإن OpenClaw يوقف هذا المسار الآن بسرعة ويعود إلى البديل بدلًا من التعليق إلى الأبد +- لا تزال Scheduled Tasks هي الخيار المفضل عند توفرها لأنها توفّر حالة إشراف أفضل -إذا كنت تريد CLI الأصلية فقط، من دون تثبيت خدمة gateway، فاستخدم أحد هذين: +إذا كنت تريد CLI الأصلي فقط، من دون تثبيت خدمة Gateway، فاستخدم أحد هذين الأمرين: ```powershell openclaw onboard --non-interactive --skip-health openclaw gateway run ``` -إذا كنت تريد بدءًا مُدارًا على Windows الأصلية: +إذا كنت تريد تشغيلًا مُدارًا عند بدء التشغيل على Windows الأصلي: ```powershell openclaw gateway install openclaw gateway status --json ``` -إذا تم حظر إنشاء Scheduled Task، فسيظل وضع الخدمة الاحتياطية يبدأ تلقائيًا بعد تسجيل الدخول عبر مجلد Startup الخاص بالمستخدم الحالي. +إذا كان إنشاء Scheduled Task محظورًا، فسيظل وضع الخدمة الاحتياطي يبدأ تلقائيًا بعد تسجيل الدخول عبر مجلد Startup الخاص بالمستخدم الحالي. ## Gateway -- [Gateway runbook](/gateway) -- [Configuration](/gateway/configuration) +- [دليل تشغيل Gateway](/ar/gateway) +- [الإعدادات](/ar/gateway/configuration) -## تثبيت خدمة Gateway ‏(CLI) +## تثبيت خدمة Gateway (CLI) داخل WSL2: @@ -92,7 +92,7 @@ openclaw gateway install openclaw configure ``` -اختر **Gateway service** عند مطالبتك. +اختر **خدمة Gateway** عند ظهور المطالبة. الإصلاح/الترحيل: @@ -100,12 +100,12 @@ openclaw configure openclaw doctor ``` -## التشغيل التلقائي لـ Gateway قبل تسجيل الدخول إلى Windows +## البدء التلقائي لـ Gateway قبل تسجيل الدخول إلى Windows -بالنسبة إلى الإعدادات بدون واجهة، تأكد من أن سلسلة الإقلاع الكاملة تعمل حتى عندما لا يسجّل أحد الدخول إلى -Windows. +لإعدادات التشغيل دون واجهة، تأكد من أن سلسلة الإقلاع الكاملة تعمل حتى عندما لا +يقوم أحد بتسجيل الدخول إلى Windows. -### 1) إبقاء خدمات المستخدم تعمل من دون تسجيل الدخول +### 1) إبقاء خدمات المستخدم قيد التشغيل دون تسجيل دخول داخل WSL: @@ -121,15 +121,15 @@ sudo loginctl enable-linger "$(whoami)" openclaw gateway install ``` -### 3) بدء WSL تلقائيًا عند إقلاع Windows +### 3) تشغيل WSL تلقائيًا عند إقلاع Windows -في PowerShell بصلاحية المسؤول: +في PowerShell بصلاحيات Administrator: ```powershell schtasks /create /tn "WSL Boot" /tr "wsl.exe -d Ubuntu --exec /bin/true" /sc onstart /ru SYSTEM ``` -استبدل `Ubuntu` باسم التوزيعة لديك من: +استبدل `Ubuntu` باسم توزيعتك من: ```powershell wsl --list --verbose @@ -144,14 +144,14 @@ systemctl --user is-enabled openclaw-gateway.service systemctl --user status openclaw-gateway.service --no-pager ``` -## متقدم: كشف خدمات WSL عبر LAN ‏(portproxy) +## متقدم: إتاحة خدمات WSL عبر LAN ‏(portproxy) -تملك WSL شبكتها الافتراضية الخاصة. إذا كان جهاز آخر يحتاج إلى الوصول إلى خدمة -تعمل **داخل WSL** ‏(SSH أو خادم TTS محلي أو Gateway)، فيجب -تمرير منفذ من Windows إلى عنوان IP الحالي الخاص بـ WSL. ويتغير عنوان IP الخاص بـ WSL بعد إعادة التشغيل، -لذا قد تحتاج إلى تحديث قاعدة التمرير. +يمتلك WSL شبكته الافتراضية الخاصة. إذا كانت هناك حاجة لأن يصل جهاز آخر إلى خدمة +تعمل **داخل WSL** (مثل SSH أو خادم TTS محلي أو Gateway)، فيجب عليك إعادة توجيه +منفذ في Windows إلى عنوان IP الحالي لـ WSL. يتغير عنوان IP الخاص بـ WSL بعد +إعادة التشغيل، لذا قد تحتاج إلى تحديث قاعدة إعادة التوجيه. -مثال (PowerShell **بصلاحية المسؤول**): +مثال (PowerShell **بصلاحيات Administrator**): ```powershell $Distro = "Ubuntu-24.04" @@ -165,7 +165,7 @@ netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=$ListenPor connectaddress=$WslIp connectport=$TargetPort ``` -اسمح بالمنفذ عبر Windows Firewall ‏(مرة واحدة): +اسمح بمرور المنفذ عبر Windows Firewall (مرة واحدة): ```powershell New-NetFirewallRule -DisplayName "WSL SSH $ListenPort" -Direction Inbound ` @@ -182,29 +182,29 @@ netsh interface portproxy add v4tov4 listenport=$ListenPort listenaddress=0.0.0. ملاحظات: -- يستهدف SSH من جهاز آخر **عنوان IP الخاص بمضيف Windows** ‏(مثال: `ssh user@windows-host -p 2222`). -- يجب أن تشير العقد البعيدة إلى عنوان URL لـ Gateway **يمكن الوصول إليه** (وليس `127.0.0.1`)؛ استخدم - `openclaw status --all` للتأكيد. +- يستهدف SSH من جهاز آخر **عنوان IP لمضيف Windows** (مثال: `ssh user@windows-host -p 2222`). +- يجب أن تشير Node البعيدة إلى عنوان URL لـ Gateway **قابل للوصول** (وليس `127.0.0.1`)؛ استخدم + `openclaw status --all` للتأكد. - استخدم `listenaddress=0.0.0.0` للوصول عبر LAN؛ أما `127.0.0.1` فيبقيه محليًا فقط. -- إذا كنت تريد تنفيذ ذلك تلقائيًا، فسجّل Scheduled Task لتشغيل +- إذا أردت أن يتم هذا تلقائيًا، فسجّل Scheduled Task لتشغيل خطوة التحديث عند تسجيل الدخول. ## تثبيت WSL2 خطوة بخطوة ### 1) تثبيت WSL2 + Ubuntu -افتح PowerShell ‏(المسؤول): +افتح PowerShell (بصلاحيات Admin): ```powershell wsl --install -# Or pick a distro explicitly: +# أو اختر توزيعة بشكل صريح: wsl --list --online wsl --install -d Ubuntu-24.04 ``` أعد التشغيل إذا طلب Windows ذلك. -### 2) تمكين systemd ‏(مطلوب لتثبيت gateway) +### 2) تفعيل systemd (مطلوب لتثبيت Gateway) في طرفية WSL لديك: @@ -227,22 +227,32 @@ wsl --shutdown systemctl --user status ``` -### 3) تثبيت OpenClaw ‏(داخل WSL) +### 3) تثبيت OpenClaw (داخل WSL) -اتبع تدفق Linux Getting Started داخل WSL: +لإعداد أولي عادي داخل WSL، اتبع تدفق البدء الخاص بـ Linux: ```bash git clone https://github.com/openclaw/openclaw.git cd openclaw pnpm install -pnpm ui:build # auto-installs UI deps on first run pnpm build -openclaw onboard +pnpm ui:build +pnpm openclaw onboard --install-daemon ``` -الدليل الكامل: [Getting Started](/ar/start/getting-started) +إذا كنت تطور من المصدر بدلًا من تنفيذ الإعداد الأولي لأول مرة، فاستخدم +حلقة تطوير المصدر من [الإعداد](/ar/start/setup): -## التطبيق المرافق لـ Windows +```bash +pnpm install +# التشغيل الأول فقط (أو بعد إعادة تعيين إعدادات/مساحة عمل OpenClaw المحلية) +pnpm openclaw setup +pnpm gateway:watch +``` -ليس لدينا تطبيق مرافق لـ Windows حتى الآن. المساهمات مرحب بها إذا كنت تريد +الدليل الكامل: [البدء](/ar/start/getting-started) + +## تطبيق Windows المرافق + +لا نملك تطبيق Windows مرافقًا بعد. نرحب بالمساهمات إذا كنت تريد المساعدة في تحقيق ذلك. diff --git a/docs/ar/start/setup.md b/docs/ar/start/setup.md index 479eab84e..1517a6f46 100644 --- a/docs/ar/start/setup.md +++ b/docs/ar/start/setup.md @@ -1,14 +1,14 @@ --- read_when: - إعداد جهاز جديد - - تريد "أحدث وأفضل" دون كسر إعدادك الشخصي -summary: إعدادات متقدمة ومسارات عمل التطوير لـ OpenClaw + - تريد الحصول على «أحدث وأفضل» إصدار من دون تعطيل إعدادك الشخصي. +summary: إعدادات متقدمة وسير عمل التطوير لـ OpenClaw title: الإعداد x-i18n: - generated_at: "2026-04-05T12:56:56Z" + generated_at: "2026-04-19T07:16:05Z" model: gpt-5.4 provider: openai - source_hash: be4e280dde7f3a224345ca557ef2fb35a9c9db8520454ff63794ac6f8d4e71e7 + source_hash: 773cdbef5f38b069303b5e13fca5fcdc28f082746869f17b8b92aab1610b95a8 source_path: start/setup.md workflow: 15 --- @@ -16,44 +16,44 @@ x-i18n: # الإعداد -إذا كنت تُعد النظام لأول مرة، فابدأ بـ [البدء](/ar/start/getting-started). -للحصول على تفاصيل الإعداد الأولي، راجع [الإعداد الأولي (CLI)](/ar/start/wizard). +إذا كنت تُجري الإعداد لأول مرة، فابدأ من [البدء](/ar/start/getting-started). +للاطلاع على تفاصيل التهيئة الأولية، راجع [التهيئة الأولية (CLI)](/ar/start/wizard). ## الخلاصة -- **التخصيص يوجد خارج المستودع:** `~/.openclaw/workspace` (مساحة العمل) + `~/.openclaw/openclaw.json` (التهيئة). -- **مسار العمل المستقر:** ثبّت تطبيق macOS ودعه يشغّل Gateway المضمّن. -- **مسار العمل الأحدث:** شغّل Gateway بنفسك عبر `pnpm gateway:watch`، ثم دع تطبيق macOS يتصل في الوضع المحلي. +- **التخصيص يوجد خارج المستودع:** `~/.openclaw/workspace` (مساحة العمل) + `~/.openclaw/openclaw.json` (الإعدادات). +- **سير العمل المستقر:** ثبّت تطبيق macOS ودعه يشغّل Gateway المضمّن. +- **سير عمل أحدث الإصدارات:** شغّل Gateway بنفسك عبر `pnpm gateway:watch`، ثم دع تطبيق macOS يتصل به في وضع Local. ## المتطلبات المسبقة (من المصدر) -- يوصى باستخدام Node 24 (ولا يزال Node 22 LTS، حاليًا `22.14+`، مدعومًا) -- يُفضّل `pnpm` (أو Bun إذا كنت تستخدم عمدًا [مسار عمل Bun](/ar/install/bun)) -- Docker (اختياري؛ فقط للإعداد/اختبارات e2e داخل الحاويات — راجع [Docker](/ar/install/docker)) +- يُوصى باستخدام Node 24 (ولا يزال Node 22 LTS، حاليًا `22.14+`، مدعومًا) +- يُفضَّل `pnpm` (أو Bun إذا كنت تستخدم عمدًا [سير عمل Bun](/ar/install/bun)) +- Docker (اختياري؛ فقط للإعداد داخل الحاويات/اختبارات e2e — راجع [Docker](/ar/install/docker)) -## استراتيجية التخصيص (حتى لا تضر التحديثات) +## استراتيجية التخصيص (حتى لا تضرّك التحديثات) -إذا كنت تريد "مخصصًا لي 100%" _و_ تحديثات سهلة، فاحتفظ بتخصيصك في: +إذا كنت تريد إعدادًا «مخصصًا لي 100%» _وفي الوقت نفسه_ تحديثات سهلة، فاحتفظ بتخصيصاتك في: -- **التهيئة:** `~/.openclaw/openclaw.json` ‏(JSON/بصيغة شبيهة بـ JSON5) -- **مساحة العمل:** `~/.openclaw/workspace` ‏(Skills، والموجّهات، والذكريات؛ اجعلها مستودع git خاصًا) +- **الإعدادات:** `~/.openclaw/openclaw.json` (بصيغة JSON/مشابهة لـ JSON5) +- **مساحة العمل:** `~/.openclaw/workspace` (Skills، وprompts، وmemories؛ اجعلها مستودع git خاصًا) -نفّذ التمهيد مرة واحدة: +هيّئ مرة واحدة: ```bash openclaw setup ``` -من داخل هذا المستودع، استخدم نقطة إدخال CLI المحلية: +من داخل هذا المستودع، استخدم مدخل CLI المحلي: ```bash openclaw setup ``` -إذا لم يكن لديك تثبيت عام بعد، فشغّله عبر `pnpm openclaw setup` (أو `bun run openclaw setup` إذا كنت تستخدم مسار عمل Bun). +إذا لم يكن لديك تثبيت عام بعد، فشغّله عبر `pnpm openclaw setup` (أو `bun run openclaw setup` إذا كنت تستخدم سير عمل Bun). -## تشغيل Gateway من هذا المستودع +## شغّل Gateway من هذا المستودع بعد `pnpm build`، يمكنك تشغيل CLI المجمّع مباشرة: @@ -61,11 +61,11 @@ openclaw setup node openclaw.mjs gateway --port 18789 --verbose ``` -## مسار العمل المستقر (تطبيق macOS أولًا) +## سير العمل المستقر (تطبيق macOS أولًا) 1. ثبّت وشغّل **OpenClaw.app** (شريط القوائم). -2. أكمل قائمة التحقق الخاصة بالإعداد الأولي/الأذونات (مطالبات TCC). -3. تأكد من أن Gateway مضبوط على **Local** ويعمل (يتولى التطبيق إدارته). +2. أكمل قائمة التحقق الخاصة بالتهيئة الأولية/الأذونات (مطالبات TCC). +3. تأكد من أن Gateway مضبوط على **Local** ويعمل (التطبيق يديره). 4. اربط الواجهات (مثال: WhatsApp): ```bash @@ -78,17 +78,17 @@ openclaw channels login openclaw health ``` -إذا لم يكن الإعداد الأولي متاحًا في نسختك: +إذا لم تكن التهيئة الأولية متاحة في نسختك: - شغّل `openclaw setup`، ثم `openclaw channels login`، ثم ابدأ Gateway يدويًا (`openclaw gateway`). -## مسار العمل الأحدث (Gateway في طرفية) +## سير عمل أحدث الإصدارات (Gateway في الطرفية) -الهدف: العمل على TypeScript Gateway، والحصول على إعادة تحميل فورية، مع إبقاء واجهة تطبيق macOS متصلة. +الهدف: العمل على Gateway المكتوب بـ TypeScript، والحصول على إعادة تحميل فورية، مع إبقاء واجهة تطبيق macOS متصلة. ### 0) (اختياري) شغّل تطبيق macOS من المصدر أيضًا -إذا كنت تريد أيضًا أن يكون تطبيق macOS على أحدث نسخة: +إذا كنت تريد أيضًا أن يكون تطبيق macOS على أحدث إصدار: ```bash ./scripts/restart-mac.sh @@ -98,82 +98,88 @@ openclaw health ```bash pnpm install +# التشغيل الأول فقط (أو بعد إعادة تعيين إعدادات/مساحة عمل OpenClaw المحلية) +pnpm openclaw setup pnpm gateway:watch ``` -يقوم `gateway:watch` بتشغيل gateway في وضع المراقبة ويعيد التحميل عند تغييرات المصدر، -والتهيئة، وبيانات تعريف plugin المجمّعة ذات الصلة. +يشغّل `gateway:watch` البوابة في وضع المراقبة ويعيد تحميلها عند تغيّر المصدر ذي الصلة، +أو الإعدادات، أو بيانات Plugin المضمّنة. +وتُعد `pnpm openclaw setup` خطوة تهيئة محلية تُنفَّذ مرة واحدة لإعداد الإعدادات/مساحة العمل في نسخة checkout جديدة. +ولا يعيد `pnpm gateway:watch` بناء `dist/control-ui`، لذا أعد تشغيل `pnpm ui:build` بعد تغييرات `ui/` أو استخدم `pnpm ui:dev` أثناء تطوير Control UI. -إذا كنت تستخدم عمدًا مسار عمل Bun، فالأوامر المكافئة هي: +إذا كنت تستخدم عمدًا سير عمل Bun، فالأوامر المكافئة هي: ```bash bun install +# التشغيل الأول فقط (أو بعد إعادة تعيين إعدادات/مساحة عمل OpenClaw المحلية) +bun run openclaw setup bun run gateway:watch ``` -### 2) وجّه تطبيق macOS إلى Gateway الذي تشغّله +### 2) وجّه تطبيق macOS إلى Gateway الذي تعمل عليه في **OpenClaw.app**: - وضع الاتصال: **Local** - سيتصل التطبيق بالـ gateway الجاري تشغيله على المنفذ المهيأ. + سيتصل التطبيق بالبوابة العاملة على المنفذ المُعَد. ### 3) تحقّق -- يجب أن تعرض حالة Gateway داخل التطبيق: **“Using existing gateway …”** +- يجب أن تظهر حالة Gateway داخل التطبيق على أنها **«استخدام بوابة موجودة …»** - أو عبر CLI: ```bash openclaw health ``` -### الأخطاء الشائعة +### أخطاء شائعة -- **منفذ خاطئ:** يستخدم Gateway WS افتراضيًا `ws://127.0.0.1:18789`؛ حافظ على التطبيق وCLI على المنفذ نفسه. -- **مكان تخزين الحالة:** - - حالة القناة/الموفر: `~/.openclaw/credentials/` - - ملفات تعريف مصادقة النموذج: `~/.openclaw/agents//agent/auth-profiles.json` +- **منفذ خاطئ:** يستخدم Gateway WS افتراضيًا `ws://127.0.0.1:18789`؛ احرص على أن يستخدم التطبيق وCLI المنفذ نفسه. +- **مكان وجود الحالة:** + - حالة القنوات/المزوّدين: `~/.openclaw/credentials/` + - ملفات تعريف مصادقة النماذج: `~/.openclaw/agents//agent/auth-profiles.json` - الجلسات: `~/.openclaw/agents//sessions/` - السجلات: `/tmp/openclaw/` ## خريطة تخزين بيانات الاعتماد -استخدم هذا عند تصحيح أخطاء المصادقة أو عند تحديد ما يجب نسخه احتياطيًا: +استخدم هذا عند تصحيح أخطاء المصادقة أو عند تقرير ما ينبغي نسخه احتياطيًا: -- **WhatsApp**: `~/.openclaw/credentials/whatsapp//creds.json` -- **رمز bot الخاص بـ Telegram**: التهيئة/البيئة أو `channels.telegram.tokenFile` (ملف عادي فقط؛ الروابط الرمزية مرفوضة) -- **رمز bot الخاص بـ Discord**: التهيئة/البيئة أو SecretRef (موفرو env/file/exec) -- **رموز Slack**: التهيئة/البيئة (`channels.slack.*`) -- **قوائم السماح للإقران**: +- **WhatsApp**: ‏`~/.openclaw/credentials/whatsapp//creds.json` +- **رمز bot الخاص بـ Telegram**: الإعدادات/المتغيرات البيئية أو `channels.telegram.tokenFile` (ملف عادي فقط؛ تُرفَض الروابط الرمزية) +- **رمز bot الخاص بـ Discord**: الإعدادات/المتغيرات البيئية أو SecretRef (موفرو env/file/exec) +- **رموز Slack**: الإعدادات/المتغيرات البيئية (`channels.slack.*`) +- **قوائم السماح بالاقتران**: - `~/.openclaw/credentials/-allowFrom.json` (الحساب الافتراضي) - - `~/.openclaw/credentials/--allowFrom.json` (للحسابات غير الافتراضية) -- **ملفات تعريف مصادقة النموذج**: `~/.openclaw/agents//agent/auth-profiles.json` -- **حمولة الأسرار المعتمدة على الملفات (اختياري)**: `~/.openclaw/secrets.json` + - `~/.openclaw/credentials/--allowFrom.json` (الحسابات غير الافتراضية) +- **ملفات تعريف مصادقة النماذج**: `~/.openclaw/agents//agent/auth-profiles.json` +- **حمولة الأسرار المخزنة في ملف (اختياري)**: `~/.openclaw/secrets.json` - **استيراد OAuth القديم**: `~/.openclaw/credentials/oauth.json` مزيد من التفاصيل: [الأمان](/ar/gateway/security#credential-storage-map). ## التحديث (من دون إفساد إعدادك) -- احتفظ بـ `~/.openclaw/workspace` و`~/.openclaw/` باعتبارهما "أغراضك الخاصة"؛ لا تضع الموجّهات/التهيئة الشخصية داخل مستودع `openclaw`. -- تحديث المصدر: `git pull` + خطوة تثبيت مدير الحزم الذي اخترته (`pnpm install` افتراضيًا؛ `bun install` لمسار عمل Bun) + الاستمرار في استخدام أمر `gateway:watch` المطابق. +- احتفظ بـ `~/.openclaw/workspace` و`~/.openclaw/` باعتبارهما «أشياءك الخاصة»؛ لا تضع prompts أو إعداداتك الشخصية داخل مستودع `openclaw`. +- لتحديث المصدر: `git pull` + خطوة تثبيت مدير الحزم التي اخترتها (`pnpm install` افتراضيًا؛ أو `bun install` لسير عمل Bun) + واصل استخدام أمر `gateway:watch` المطابق. -## Linux (خدمة مستخدم systemd) +## Linux (خدمة systemd للمستخدم) -تستخدم تثبيتات Linux خدمة مستخدم **systemd**. بشكل افتراضي، يوقف systemd خدمات المستخدم -عند تسجيل الخروج/الخمول، مما يؤدي إلى إيقاف Gateway. يحاول الإعداد الأولي تمكين -الاستمرار نيابةً عنك (وقد يطلب sudo). إذا ظل معطّلًا، فشغّل: +تستخدم عمليات التثبيت على Linux خدمة systemd **للمستخدم**. افتراضيًا، يوقف systemd +خدمات المستخدم عند تسجيل الخروج/الخمول، مما يؤدي إلى إيقاف Gateway. تحاول +التهيئة الأولية تفعيل خاصية الاستمرار لك (وقد تطلب sudo). إذا كانت لا تزال معطلة، فشغّل: ```bash sudo loginctl enable-linger $USER ``` -بالنسبة للخوادم الدائمة التشغيل أو متعددة المستخدمين، فكر في استخدام خدمة **system** بدلًا من -خدمة مستخدم (ولا حاجة إلى الاستمرار). راجع [دليل تشغيل Gateway](/ar/gateway) لملاحظات systemd. +بالنسبة إلى الخوادم التي تعمل دائمًا أو متعددة المستخدمين، فكّر في استخدام خدمة **نظام** +بدلًا من خدمة مستخدم (ولا حاجة عندها إلى خاصية الاستمرار). راجع [دليل تشغيل Gateway](/ar/gateway) للاطلاع على ملاحظات systemd. ## مستندات ذات صلة -- [دليل تشغيل Gateway](/ar/gateway) (العلامات، والإشراف، والمنافذ) -- [تهيئة Gateway](/ar/gateway/configuration) (مخطط التهيئة + أمثلة) -- [Discord](/ar/channels/discord) و[Telegram](/ar/channels/telegram) (علامات الرد + إعدادات replyToMode) -- [إعداد مساعد OpenClaw](/start/openclaw) -- [تطبيق macOS](/ar/platforms/macos) (دورة حياة gateway) +- [دليل تشغيل Gateway](/ar/gateway) (الخيارات، والإشراف، والمنافذ) +- [إعدادات Gateway](/ar/gateway/configuration) (مخطط الإعدادات + أمثلة) +- [Discord](/ar/channels/discord) و[Telegram](/ar/channels/telegram) (وسوم الرد + إعدادات replyToMode) +- [إعداد مساعد OpenClaw](/ar/start/openclaw) +- [تطبيق macOS](/ar/platforms/macos) (دورة حياة البوابة)