إجابات سريعة مع استكشاف أعمق للأخطاء وإصلاحها لإعدادات العالم الحقيقي (التطوير المحلي، VPS، تعدد الوكلاء، OAuth/API keys، تجاوز فشل النموذج). لتشخيصات وقت التشغيل، راجع استكشاف الأخطاء وإصلاحها. لمرجع الإعدادات الكامل، راجع الإعدادات.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
أول 60 ثانية إذا كان هناك شيء معطّل
-
الحالة السريعة (الفحص الأول)
ملخص محلي سريع: OS + التحديث، قابلية الوصول إلى gateway/service، الوكلاء/الجلسات، إعدادات المزوّد + مشكلات وقت التشغيل (عندما يكون Gateway قابلًا للوصول).
-
تقرير قابل للصق (آمن للمشاركة)
تشخيص للقراءة فقط مع ذيل السجل (مع تنقيح الرموز).
-
حالة Daemon + المنفذ
يعرض وقت تشغيل المشرف مقابل قابلية الوصول عبر RPC، وعنوان URL هدف الفحص، وأي إعدادات يُرجّح أن الخدمة استخدمتها.
-
فحوصات عميقة
يشغّل فحصًا حيًا لصحة Gateway، بما في ذلك فحوصات القنوات عندما تكون مدعومة (يتطلب Gateway قابلًا للوصول). راجع الصحة.
-
تابع أحدث سجل
إذا كان RPC متوقفًا، فارجع إلى:سجلات الملفات منفصلة عن سجلات الخدمة؛ راجع التسجيل واستكشاف الأخطاء وإصلاحها.
-
شغّل الطبيب (الإصلاحات)
يصلح/يرحّل الإعدادات/الحالة + يشغّل فحوصات الصحة. راجع الطبيب.
-
لقطة Gateway
يطلب من Gateway العامل لقطة كاملة (WS فقط). راجع الصحة.
البدء السريع وإعداد التشغيل الأول
أسئلة وأجوبة التشغيل الأول — التثبيت، الإعداد الأولي، مسارات المصادقة، الاشتراكات، الإخفاقات الأولية — موجودة في الأسئلة الشائعة للتشغيل الأول.ما هو OpenClaw؟
ما هو OpenClaw، في فقرة واحدة؟
ما هو OpenClaw، في فقرة واحدة؟
عرض القيمة
عرض القيمة
- أجهزتك، بياناتك: شغّل Gateway حيثما تريد (Mac، Linux، VPS) واحتفظ بمساحة العمل + سجل الجلسات محليًا.
- قنوات حقيقية، لا بيئة ويب معزولة: WhatsApp/Telegram/Slack/Discord/Signal/iMessage/إلخ، بالإضافة إلى الصوت على الهاتف وCanvas على المنصات المدعومة.
- محايد تجاه النماذج: استخدم Anthropic، OpenAI، MiniMax، OpenRouter، إلخ، مع توجيه وتجاوز فشل لكل وكيل.
- خيار محلي فقط: شغّل النماذج المحلية بحيث يمكن أن تبقى كل البيانات على جهازك إذا أردت.
- توجيه متعدد الوكلاء: وكلاء منفصلون لكل قناة أو حساب أو مهمة، ولكل منهم مساحة عمل وإعدادات افتراضية خاصة به.
- مفتوح المصدر وقابل للتعديل: افحصه، ووسّعه، واستضفه ذاتيًا دون ارتباط بمورّد.
لقد أعددته للتو - ماذا أفعل أولًا؟
لقد أعددته للتو - ماذا أفعل أولًا؟
- أنشئ موقعًا إلكترونيًا (WordPress أو Shopify أو موقعًا ثابتًا بسيطًا).
- ابنِ نموذجًا أوليًا لتطبيق هاتف (مخطط، شاشات، خطة API).
- نظّم الملفات والمجلدات (تنظيف، تسمية، وسم).
- اربط Gmail وأتمت الملخصات أو المتابعات.
ما أهم خمس حالات استخدام يومية لـ OpenClaw؟
ما أهم خمس حالات استخدام يومية لـ OpenClaw؟
- إحاطات شخصية: ملخصات لصندوق الوارد، والتقويم، والأخبار التي تهمك.
- البحث والصياغة: بحث سريع، وملخصات، ومسودات أولى لرسائل البريد أو المستندات.
- التذكيرات والمتابعات: تنبيهات وقوائم تحقق مدفوعة بـ Cron أو Heartbeat.
- أتمتة المتصفح: ملء النماذج، وجمع البيانات، وتكرار مهام الويب.
- تنسيق عبر الأجهزة: أرسل مهمة من هاتفك، ودع Gateway يشغّلها على خادم، واحصل على النتيجة في الدردشة.
هل يمكن أن يساعد OpenClaw في توليد العملاء المحتملين، والتواصل، والإعلانات، والمدونات لـ SaaS؟
هل يمكن أن يساعد OpenClaw في توليد العملاء المحتملين، والتواصل، والإعلانات، والمدونات لـ SaaS؟
ما المزايا مقارنةً بـ Claude Code لتطوير الويب؟
ما المزايا مقارنةً بـ Claude Code لتطوير الويب؟
- ذاكرة + مساحة عمل دائمتان عبر الجلسات
- وصول متعدد المنصات (WhatsApp، Telegram، TUI، WebChat)
- تنسيق الأدوات (المتصفح، الملفات، الجدولة، الخطافات)
- Gateway يعمل دائمًا (شغّله على VPS، وتفاعل من أي مكان)
- Nodes للمتصفح/الشاشة/الكاميرا/التنفيذ المحلي
Skills والأتمتة
كيف أخصص Skills دون إبقاء المستودع متسخًا؟
كيف أخصص Skills دون إبقاء المستودع متسخًا؟
~/.openclaw/skills/<name>/SKILL.md (أو أضف مجلدًا عبر skills.load.extraDirs في ~/.openclaw/openclaw.json). ترتيب الأولوية هو <workspace>/skills ← <workspace>/.agents/skills ← ~/.agents/skills ← ~/.openclaw/skills ← المضمّنة ← skills.load.extraDirs، لذا تظل التجاوزات المُدارة أعلى أولوية من Skills المضمّنة دون لمس git. إذا احتجت إلى تثبيت Skill عالميًا لكن مع جعلها مرئية لبعض الوكلاء فقط، فاحتفظ بالنسخة المشتركة في ~/.openclaw/skills وتحكّم في الرؤية باستخدام agents.defaults.skills وagents.list[].skills. يجب أن تعيش في المستودع فقط التعديلات الجديرة بالرفع إلى upstream وأن تخرج كـ PRs.هل يمكنني تحميل Skills من مجلد مخصص؟
هل يمكنني تحميل Skills من مجلد مخصص؟
skills.load.extraDirs في ~/.openclaw/openclaw.json (أدنى أولوية). ترتيب الأولوية الافتراضي هو <workspace>/skills ← <workspace>/.agents/skills ← ~/.agents/skills ← ~/.openclaw/skills ← المضمّنة ← skills.load.extraDirs. يثبّت clawhub في ./skills افتراضيًا، وهو ما يتعامل معه OpenClaw كـ <workspace>/skills في الجلسة التالية. إذا كان يجب أن تكون Skill مرئية لوكلاء معيّنين فقط، فاقرن ذلك مع agents.defaults.skills أو agents.list[].skills.كيف يمكنني استخدام نماذج مختلفة لمهام مختلفة؟
كيف يمكنني استخدام نماذج مختلفة لمهام مختلفة؟
- وظائف Cron: يمكن للوظائف المعزولة تعيين تجاوز
modelلكل وظيفة. - الوكلاء الفرعيون: وجّه المهام إلى وكلاء منفصلين بنماذج افتراضية مختلفة.
- تبديل عند الطلب: استخدم
/modelلتبديل نموذج الجلسة الحالية في أي وقت.
يتجمّد البوت أثناء تنفيذ عمل ثقيل. كيف أفرّغ ذلك؟
يتجمّد البوت أثناء تنفيذ عمل ثقيل. كيف أفرّغ ذلك؟
/subagents.
استخدم /status في الدردشة لمعرفة ما يفعله Gateway الآن (وما إذا كان مشغولًا).نصيحة للرموز: تستهلك المهام الطويلة والوكلاء الفرعيون الرموز. إذا كانت التكلفة مصدر قلق، فعيّن
نموذجًا أرخص للوكلاء الفرعيين عبر agents.defaults.subagents.model.المستندات: الوكلاء الفرعيون، مهام الخلفية.كيف تعمل جلسات الوكيل الفرعي المرتبطة بسلسلة على Discord؟
كيف تعمل جلسات الوكيل الفرعي المرتبطة بسلسلة على Discord؟
- ابدأ باستخدام
sessions_spawnمعthread: true(واختياريًاmode: "session"للمتابعة المستمرة). - أو اربط يدويًا باستخدام
/focus <target>. - استخدم
/agentsلفحص حالة الربط. - استخدم
/session idle <duration|off>و/session max-age <duration|off>للتحكم في إلغاء التركيز التلقائي. - استخدم
/unfocusلفصل السلسلة.
- الإعدادات الافتراضية العامة:
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.spawnSessionsافتراضيًاtrue؛ اضبطها علىfalseلتعطيل إنشاء الجلسات المرتبطة بالسلاسل.
أنهى وكيل فرعي عمله، لكن تحديث الاكتمال ذهب إلى المكان الخطأ أو لم يُنشر أبدًا. ماذا يجب أن أفحص؟
أنهى وكيل فرعي عمله، لكن تحديث الاكتمال ذهب إلى المكان الخطأ أو لم يُنشر أبدًا. ماذا يجب أن أفحص؟
- يفضّل تسليم الوكيل الفرعي في وضع الاكتمال أي سلسلة مرتبطة أو مسار محادثة عندما يكون أحدهما موجودًا.
- إذا كان أصل الاكتمال يحمل قناة فقط، يعود OpenClaw إلى المسار المخزن لجلسة الطالب (
lastChannel/lastTo/lastAccountId) بحيث يمكن أن ينجح التسليم المباشر رغم ذلك. - إذا لم يوجد مسار مرتبط ولا مسار مخزن قابل للاستخدام، فقد يفشل التسليم المباشر وتعود النتيجة إلى تسليم الجلسة في قائمة الانتظار بدلًا من النشر فورًا في الدردشة.
- لا تزال الأهداف غير الصالحة أو القديمة قادرة على فرض الرجوع إلى قائمة الانتظار أو فشل التسليم النهائي.
- إذا كانت آخر رسالة مرئية من المساعد الابن هي بالضبط الرمز الصامت
NO_REPLY/no_reply، أو بالضبطANNOUNCE_SKIP، فإن OpenClaw يكبت الإعلان عمدًا بدلًا من نشر تقدم سابق قديم. - إذا انتهت مهلة الابن بعد استدعاءات أدوات فقط، فيمكن للإعلان أن يختصر ذلك في ملخص قصير للتقدم الجزئي بدلًا من إعادة تشغيل مخرجات الأدوات الخام.
لا تعمل Cron أو التذكيرات. ماذا يجب أن أفحص؟
لا تعمل Cron أو التذكيرات. ماذا يجب أن أفحص؟
- تأكد من تمكين cron (
cron.enabled) وأنOPENCLAW_SKIP_CRONغير معيّن. - تحقق من أن Gateway يعمل 24/7 (دون نوم/إعادة تشغيل).
- تحقق من إعدادات المنطقة الزمنية للوظيفة (
--tzمقابل المنطقة الزمنية للمضيف).
تم تشغيل Cron، لكن لم يُرسل أي شيء إلى القناة. لماذا؟
تم تشغيل Cron، لكن لم يُرسل أي شيء إلى القناة. لماذا؟
--no-deliver/delivery.mode: "none"يعني أنه لا يُتوقع إرسال احتياطي من المشغّل.- هدف إعلان مفقود أو غير صالح (
channel/to) يعني أن المشغّل تخطّى التسليم الصادر. - فشل مصادقة القناة (
unauthorized,Forbidden) يعني أن المشغّل حاول التسليم لكن بيانات الاعتماد منعته. - تُعامل النتيجة المعزولة الصامتة (
NO_REPLY/no_replyفقط) على أنها غير قابلة للتسليم عمداً، لذلك يكبت المشغّل أيضاً التسليم الاحتياطي المصفوف في قائمة الانتظار.
message
عندما يكون مسار الدردشة متاحاً. يتحكم --announce فقط في مسار المشغّل
الاحتياطي للنص النهائي الذي لم يكن الوكيل قد أرسله بالفعل.تصحيح الأخطاء:لماذا بدّل تشغيل Cron معزول النماذج أو أعاد المحاولة مرة واحدة؟
لماذا بدّل تشغيل Cron معزول النماذج أو أعاد المحاولة مرة واحدة؟
LiveSessionModelSwitchError. تُبقي إعادة المحاولة المزوّد/النموذج
الذي تم التبديل إليه، وإذا حمل التبديل تجاوزاً جديداً لملف تعريف المصادقة، فإن cron
يحفظ ذلك أيضاً قبل إعادة المحاولة.قواعد الاختيار ذات الصلة:- يتقدم تجاوز نموذج خطاف Gmail أولاً عند انطباقه.
- ثم
modelلكل مهمة. - ثم أي تجاوز مخزّن لنموذج جلسة cron.
- ثم اختيار النموذج العادي للوكيل/الافتراضي.
كيف أثبّت Skills على Linux؟
كيف أثبّت Skills على Linux؟
openclaw skills الأصلية أو ضع Skills في مساحة عملك. واجهة Skills على macOS غير متاحة على Linux.
تصفّح Skills على https://clawhub.ai.openclaw skills install الأصلي داخل دليل skills/
في مساحة العمل النشطة. ثبّت CLI المنفصل clawhub فقط إذا كنت تريد نشر
Skills الخاصة بك أو مزامنتها. للتثبيتات المشتركة بين الوكلاء، ضع Skill تحت
~/.openclaw/skills واستخدم agents.defaults.skills أو
agents.list[].skills إذا أردت تضييق نطاق الوكلاء الذين يمكنهم رؤيتها.هل يستطيع OpenClaw تشغيل المهام وفق جدول أو باستمرار في الخلفية؟
هل يستطيع OpenClaw تشغيل المهام وفق جدول أو باستمرار في الخلفية؟
هل يمكنني تشغيل Skills الخاصة بـ Apple macOS فقط من Linux؟
هل يمكنني تشغيل Skills الخاصة بـ Apple macOS فقط من Linux؟
metadata.openclaw.os بالإضافة إلى الثنائيات المطلوبة، ولا تظهر Skills في موجه النظام إلا عندما تكون مؤهلة على مضيف Gateway. على Linux، لن تُحمّل Skills المخصصة لـ darwin فقط (مثل apple-notes وapple-reminders وthings-mac) ما لم تتجاوز التقييد.لديك ثلاثة أنماط مدعومة:الخيار أ - شغّل Gateway على Mac (الأبسط).
شغّل Gateway حيث توجد ثنائيات macOS، ثم اتصل من Linux في الوضع البعيد أو عبر Tailscale. تُحمّل Skills بشكل طبيعي لأن مضيف Gateway هو macOS.الخيار ب - استخدم Node بنظام macOS (بلا SSH).
شغّل Gateway على Linux، واقرن Node بنظام macOS (تطبيق شريط القوائم)، واضبط أوامر تشغيل Node على “السؤال دائماً” أو “السماح دائماً” على Mac. يستطيع OpenClaw معاملة Skills الخاصة بـ macOS فقط على أنها مؤهلة عندما توجد الثنائيات المطلوبة على Node. يشغّل الوكيل تلك Skills عبر أداة nodes. إذا اخترت “السؤال دائماً”، فإن الموافقة على “السماح دائماً” في الموجه تضيف ذلك الأمر إلى قائمة السماح.الخيار ج - وكّل ثنائيات macOS عبر SSH (متقدم).
أبقِ Gateway على Linux، لكن اجعل ثنائيات CLI المطلوبة تُحل إلى أغلفة SSH تعمل على Mac. ثم تجاوز Skill للسماح بـ Linux حتى تبقى مؤهلة.-
أنشئ غلاف SSH للثنائي (مثال:
memoلـ Apple Notes): -
ضع الغلاف على
PATHعلى مضيف Linux (مثلاً~/bin/memo). -
تجاوز بيانات Skill الوصفية (مساحة العمل أو
~/.openclaw/skills) للسماح بـ Linux: - ابدأ جلسة جديدة حتى تُحدّث لقطة Skills.
هل لديكم تكامل مع Notion أو HeyGen؟
هل لديكم تكامل مع Notion أو HeyGen؟
- Skill / Plugin مخصص: الأفضل للوصول الموثوق إلى API (يمتلك كل من Notion/HeyGen واجهات API).
- أتمتة المتصفح: تعمل دون كود لكنها أبطأ وأكثر هشاشة.
- صفحة Notion واحدة لكل عميل (السياق + التفضيلات + العمل النشط).
- اطلب من الوكيل جلب تلك الصفحة في بداية الجلسة.
skills/ في مساحة العمل النشطة. بالنسبة إلى Skills المشتركة بين الوكلاء، ضعها في ~/.openclaw/skills/<name>/SKILL.md. إذا كان يجب أن يرى بعض الوكلاء فقط تثبيتاً مشتركاً، فاضبط agents.defaults.skills أو agents.list[].skills. تتوقع بعض Skills ثنائيات مثبّتة عبر Homebrew؛ على Linux يعني ذلك Linuxbrew (راجع إدخال الأسئلة الشائعة عن Homebrew على Linux أعلاه). راجع Skills، وإعدادات Skills، وClawHub.كيف أستخدم Chrome الحالي الذي سجلت الدخول إليه مع OpenClaw؟
كيف أستخدم Chrome الحالي الذي سجلت الدخول إليه مع OpenClaw؟
user، الذي يتصل عبر Chrome DevTools MCP:existing-session / user:- تعتمد الإجراءات على
ref، وليست مدفوعة بمحددات CSS - تتطلب عمليات الرفع
ref/inputRefوتدعم حالياً ملفاً واحداً في كل مرة - لا تزال
responsebody، وتصدير PDF، واعتراض التنزيل، والإجراءات الدفعية تحتاج إلى متصفح مُدار أو ملف تعريف CDP خام
العزل وMemory
هل توجد وثيقة مخصصة للعزل؟
هل توجد وثيقة مخصصة للعزل؟
يبدو Docker محدوداً - كيف أفعّل الميزات الكاملة؟
يبدو Docker محدوداً - كيف أفعّل الميزات الكاملة؟
node، لذلك لا
تتضمن حزم النظام أو Homebrew أو المتصفحات المجمعة. لإعداد أكمل:- استمرر
/home/nodeباستخدامOPENCLAW_HOME_VOLUMEحتى تبقى الذاكرات المؤقتة. - ادمج تبعيات النظام في الصورة باستخدام
OPENCLAW_DOCKER_APT_PACKAGES. - ثبّت متصفحات Playwright عبر CLI المجمّع:
node /app/node_modules/playwright-core/cli.js install chromium - اضبط
PLAYWRIGHT_BROWSERS_PATHوتأكد من أن المسار مستمر.
هل يمكنني إبقاء الرسائل المباشرة شخصية وجعل المجموعات عامة/معزولة مع وكيل واحد؟
هل يمكنني إبقاء الرسائل المباشرة شخصية وجعل المجموعات عامة/معزولة مع وكيل واحد؟
agents.defaults.sandbox.mode: "non-main" حتى تعمل جلسات المجموعات/القنوات (المفاتيح غير الرئيسية) في خلفية العزل المضبوطة، بينما تبقى جلسة الرسائل المباشرة الرئيسية على المضيف. Docker هو الخلفية الافتراضية إذا لم تختر واحدة. ثم قيّد الأدوات المتاحة في الجلسات المعزولة عبر tools.sandbox.tools.شرح الإعداد + مثال إعداد: المجموعات: رسائل مباشرة شخصية + مجموعات عامةمرجع الإعدادات الرئيسي: إعداد Gatewayكيف أربط مجلداً من المضيف داخل العزل؟
كيف أربط مجلداً من المضيف داخل العزل؟
agents.defaults.sandbox.docker.binds على ["host:path:mode"] (مثل "/home/user/src:/src:ro"). تُدمج الربوط العامة وربوط كل وكيل؛ ويتم تجاهل ربوط كل وكيل عندما يكون scope: "shared". استخدم :ro لأي شيء حساس وتذكّر أن الربوط تتجاوز جدران نظام ملفات العزل.يتحقق OpenClaw من مصادر الربط مقابل كل من المسار المطبّع والمسار القانوني المحلول عبر أعمق سلف موجود. هذا يعني أن عمليات الهروب عبر أصل رمز رابط لا تزال تفشل بإغلاق حتى عندما لا يكون مقطع المسار الأخير موجوداً بعد، ولا تزال فحوصات الجذر المسموح بها تنطبق بعد حل الرموز الروابط.راجع العزل والعزل مقابل سياسة الأدوات مقابل الصلاحيات المرتفعة للاطلاع على أمثلة وملاحظات السلامة.كيف تعمل Memory؟
كيف تعمل Memory؟
- ملاحظات يومية في
memory/YYYY-MM-DD.md - ملاحظات طويلة الأمد منقحة في
MEMORY.md(الجلسات الرئيسية/الخاصة فقط)
Memory تستمر في نسيان الأشياء. كيف أجعلها تثبت؟
Memory تستمر في نسيان الأشياء. كيف أجعلها تثبت؟
MEMORY.md،
وينتقل السياق قصير الأمد إلى memory/YYYY-MM-DD.md.لا يزال هذا مجالاً نعمل على تحسينه. من المفيد تذكير النموذج بتخزين الذكريات؛
وسيعرف ما يجب فعله. إذا استمر في النسيان، فتحقق من أن Gateway يستخدم مساحة العمل نفسها
في كل تشغيل.الوثائق: Memory، مساحة عمل الوكيل.هل تستمر Memory إلى الأبد؟ ما الحدود؟
هل تستمر Memory إلى الأبد؟ ما الحدود؟
هل يتطلب بحث الذاكرة الدلالية مفتاح OpenAI API؟
هل يتطلب بحث الذاكرة الدلالية مفتاح OpenAI API؟
OPENAI_API_KEY أو models.providers.openai.apiKey).إذا لم تعيّن مزودًا صراحة، يختار OpenClaw مزودًا تلقائيًا عندما
يستطيع حل مفتاح API (ملفات تعريف المصادقة، أو models.providers.*.apiKey، أو متغيرات البيئة).
يفضّل OpenAI إذا تم حل مفتاح OpenAI، وإلا Gemini إذا تم حل مفتاح Gemini،
ثم Voyage، ثم Mistral. إذا لم يتوفر أي مفتاح بعيد، يبقى بحث
الذاكرة معطلاً حتى تهيئه. إذا كان لديك مسار نموذج محلي
مهيأ وموجود، فإن OpenClaw
يفضّل local. Ollama مدعوم عند تعيين
memorySearch.provider = "ollama" صراحة.إذا كنت تفضّل البقاء محليًا، عيّن memorySearch.provider = "local" (واختياريًا
memorySearch.fallback = "none"). إذا كنت تريد Gemini embeddings، فعيّن
memorySearch.provider = "gemini" ووفّر GEMINI_API_KEY (أو
memorySearch.remote.apiKey). ندعم نماذج OpenAI، Gemini، Voyage، Mistral، Ollama، أو local الخاصة بـ embedding- راجع الذاكرة لتفاصيل الإعداد.
أين توجد الأشياء على القرص
هل تُحفظ كل البيانات المستخدمة مع OpenClaw محليًا؟
هل تُحفظ كل البيانات المستخدمة مع OpenClaw محليًا؟
- محلي افتراضيًا: الجلسات، وملفات الذاكرة، والتهيئة، ومساحة العمل تعيش على مضيف Gateway
(
~/.openclaw+ دليل مساحة العمل لديك). - بعيد بحكم الضرورة: الرسائل التي ترسلها إلى مزودي النماذج (Anthropic/OpenAI/إلخ) تذهب إلى واجهات API الخاصة بهم، ومنصات الدردشة (WhatsApp/Telegram/Slack/إلخ) تخزن بيانات الرسائل على خوادمها.
- أنت تتحكم في الأثر: استخدام النماذج المحلية يبقي المطالبات على جهازك، لكن حركة القناة لا تزال تمر عبر خوادم القناة.
أين يخزن OpenClaw بياناته؟
أين يخزن OpenClaw بياناته؟
$OPENCLAW_STATE_DIR (الافتراضي: ~/.openclaw):| المسار | الغرض |
|---|---|
$OPENCLAW_STATE_DIR/openclaw.json | التهيئة الرئيسية (JSON5) |
$OPENCLAW_STATE_DIR/credentials/oauth.json | استيراد OAuth القديم (يُنسخ إلى ملفات تعريف المصادقة عند أول استخدام) |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth-profiles.json | ملفات تعريف المصادقة (OAuth، مفاتيح API، وkeyRef/tokenRef اختياريان) |
$OPENCLAW_STATE_DIR/secrets.json | حمولة أسرار اختيارية مدعومة بملف لمزودي file SecretRef |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth.json | ملف توافق قديم (تتم إزالة إدخالات api_key الثابتة منه) |
$OPENCLAW_STATE_DIR/credentials/ | حالة المزود (مثل whatsapp/<accountId>/creds.json) |
$OPENCLAW_STATE_DIR/agents/ | حالة لكل وكيل (agentDir + جلسات) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/ | سجل المحادثات والحالة (لكل وكيل) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/sessions.json | بيانات الجلسات الوصفية (لكل وكيل) |
~/.openclaw/agent/* (يرحّله openclaw doctor).مساحة العمل لديك (AGENTS.md، ملفات الذاكرة، Skills، إلخ) منفصلة وتُهيأ عبر agents.defaults.workspace (الافتراضي: ~/.openclaw/workspace).أين يجب أن توجد AGENTS.md / SOUL.md / USER.md / MEMORY.md؟
أين يجب أن توجد AGENTS.md / SOUL.md / USER.md / MEMORY.md؟
~/.openclaw.- مساحة العمل (لكل وكيل):
AGENTS.md،SOUL.md،IDENTITY.md،USER.md،MEMORY.md،memory/YYYY-MM-DD.md، وHEARTBEAT.mdاختياريًا. الملف الجذري الصغيرmemory.mdهو إدخال إصلاح قديم فقط؛ يمكن لـopenclaw doctor --fixدمجه فيMEMORY.mdعندما يكون كلا الملفين موجودين. - دليل الحالة (
~/.openclaw): التهيئة، وحالة القناة/المزود، وملفات تعريف المصادقة، والجلسات، والسجلات، وSkills المشتركة (~/.openclaw/skills).
~/.openclaw/workspace، قابلة للتهيئة عبر:استراتيجية النسخ الاحتياطي الموصى بها
استراتيجية النسخ الاحتياطي الموصى بها
~/.openclaw (بيانات اعتماد، جلسات، رموز، أو حمولات أسرار مشفرة).
إذا كنت تحتاج إلى استعادة كاملة، فانسخ مساحة العمل ودليل الحالة احتياطيًا
بشكل منفصل (راجع سؤال الترحيل أعلاه).المستندات: مساحة عمل الوكيل.كيف ألغي تثبيت OpenClaw بالكامل؟
كيف ألغي تثبيت OpenClaw بالكامل؟
هل يمكن للوكلاء العمل خارج مساحة العمل؟
هل يمكن للوكلاء العمل خارج مساحة العمل؟
agents.defaults.sandbox أو إعدادات العزل الرملي لكل وكيل. إذا كنت
تريد أن يكون مستودع ما هو دليل العمل الافتراضي، فاجعل
workspace لذلك الوكيل يشير إلى جذر المستودع. مستودع OpenClaw هو مجرد كود مصدر؛ أبقِ
مساحة العمل منفصلة ما لم تكن تريد عمدًا أن يعمل الوكيل داخله.مثال (المستودع كـ cwd افتراضي):الوضع البعيد: أين مخزن الجلسات؟
الوضع البعيد: أين مخزن الجلسات؟
أساسيات التهيئة
ما تنسيق التهيئة؟ وأين توجد؟
ما تنسيق التهيئة؟ وأين توجد؟
$OPENCLAW_CONFIG_PATH (الافتراضي: ~/.openclaw/openclaw.json):~/.openclaw/workspace).عيّنت gateway.bind: "lan" (أو "tailnet") والآن لا يوجد شيء يستمع / تقول واجهة المستخدم إنني غير مصرح لي
عيّنت gateway.bind: "lan" (أو "tailnet") والآن لا يوجد شيء يستمع / تقول واجهة المستخدم إنني غير مصرح لي
- مصادقة السر المشترك: رمز أو كلمة مرور
gateway.auth.mode: "trusted-proxy"خلف وكيل عكسي مدرك للهوية ومهيأ بشكل صحيح
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"، تتطلب وكلاء reverse proxy عبر loopback على المضيف نفسه تعيينًا صريحًا لـgateway.auth.trustedProxy.allowLoopback = trueوإدخال loopback فيgateway.trustedProxies.
لماذا أحتاج الآن إلى رمز على localhost؟
لماذا أحتاج الآن إلى رمز على localhost؟
gateway.auth.token، أو gateway.auth.password، أو OPENCLAW_GATEWAY_TOKEN، أو OPENCLAW_GATEWAY_PASSWORD صراحة عندما يحتاج العملاء إلى سر ثابت عبر عمليات إعادة التشغيل. يمنع هذا العمليات المحلية الأخرى من استدعاء Gateway.إذا كنت تفضّل مسار مصادقة مختلفًا، يمكنك اختيار وضع كلمة المرور صراحة (أو trusted-proxy للوكلاء العكسيين المدركين للهوية). إذا كنت حقًا تريد loopback مفتوحًا، فعيّن gateway.auth.mode: "none" صراحة في تهيئتك. يمكن لـ Doctor توليد رمز لك في أي وقت: openclaw doctor --generate-gateway-token.هل يجب أن أعيد التشغيل بعد تغيير التهيئة؟
هل يجب أن أعيد التشغيل بعد تغيير التهيئة؟
gateway.reload.mode: "hybrid"(الافتراضي): يطبق التغييرات الآمنة فورًا، ويعيد التشغيل للتغييرات الحرجةhot، وrestart، وoffمدعومة أيضًا
كيف أعطّل عبارات CLI الطريفة؟
كيف أعطّل عبارات CLI الطريفة؟
cli.banner.taglineMode في التهيئة:off: يخفي نص العبارة لكنه يبقي سطر عنوان/إصدار اللافتة.default: يستخدمAll your chats, one OpenClaw.في كل مرة.random: عبارات طريفة/موسمية متناوبة (السلوك الافتراضي).- إذا كنت لا تريد أي لافتة على الإطلاق، فعيّن متغير البيئة
OPENCLAW_HIDE_BANNER=1.
كيف أفعّل بحث الويب (وجلب الويب)؟
كيف أفعّل بحث الويب (وجلب الويب)؟
web_fetch دون مفتاح API. يعتمد web_search على
المزود المحدد لديك:- المزودون المدعومون بواجهة 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.
openclaw configure --section web واختر مزودًا.
بدائل البيئة:- Brave:
BRAVE_API_KEY - Exa:
EXA_API_KEY - Firecrawl:
FIRECRAWL_API_KEY - Gemini:
GEMINI_API_KEY - Grok:
XAI_API_KEY - Kimi:
KIMI_API_KEYأوMOONSHOT_API_KEY - MiniMax Search:
MINIMAX_CODE_PLAN_KEYأوMINIMAX_CODING_API_KEYأوMINIMAX_API_KEY - Perplexity:
PERPLEXITY_API_KEYأوOPENROUTER_API_KEY - SearXNG:
SEARXNG_BASE_URL - Tavily:
TAVILY_API_KEY
plugins.entries.<plugin>.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 تلقائيًا أول موفّر رجوع جاهز للجلب من بيانات الاعتماد المتاحة. اليوم الموفّر المضمّن هو Firecrawl. - تقرأ الخدمات الخفية متغيرات البيئة من
~/.openclaw/.env(أو من بيئة الخدمة).
config.apply مسح إعدادي. كيف أستعيده وأتجنب ذلك؟
config.apply مسح إعدادي. كيف أستعيده وأتجنب ذلك؟
config.apply الإعداد بالكامل. إذا أرسلت كائنًا جزئيًا، فسيُزال كل
ما سواه.يحمي OpenClaw الحالي من كثير من حالات الاستبدال العرضي:- تتحقق كتابات الإعداد المملوكة لـ OpenClaw من الإعداد الكامل بعد التغيير قبل الكتابة.
- تُرفض الكتابات غير الصالحة أو المدمّرة المملوكة لـ OpenClaw وتُحفَظ باسم
openclaw.json.rejected.*. - إذا عطّل تعديل مباشر بدء التشغيل أو إعادة التحميل الساخنة، يفشل Gateway بإغلاق آمن أو يتخطى إعادة التحميل؛ ولا يعيد كتابة
openclaw.json. - يملك
openclaw doctor --fixالإصلاح ويمكنه استعادة آخر نسخة سليمة مع حفظ الملف المرفوض باسمopenclaw.json.clobbered.*.
- افحص
openclaw logs --followبحثًا عنInvalid config atأوConfig write rejected:أوconfig reload skipped (invalid config). - افحص أحدث
openclaw.json.clobbered.*أوopenclaw.json.rejected.*بجانب الإعداد النشط. - شغّل
openclaw config validateوopenclaw doctor --fix. - انسخ المفاتيح المقصودة فقط مرة أخرى باستخدام
openclaw config setأوconfig.patch. - إذا لم تكن لديك آخر نسخة سليمة أو حمولة مرفوضة، فاستعد من نسخة احتياطية، أو أعد تشغيل
openclaw doctorوأعد إعداد القنوات/النماذج. - إذا كان هذا غير متوقع، فأبلغ عن خلل وأرفق آخر إعداد معروف لديك أو أي نسخة احتياطية.
- يمكن لوكيل ترميز محلي غالبًا إعادة بناء إعداد عامل من السجلات أو السجل التاريخي.
- استخدم
openclaw config setللتغييرات الصغيرة. - استخدم
openclaw configureللتعديلات التفاعلية. - استخدم
config.schema.lookupأولًا عندما لا تكون متأكدًا من المسار الدقيق أو شكل الحقل؛ فهو يعيد عقدة مخطط سطحية مع ملخصات للأبناء المباشرين للتعمّق. - استخدم
config.patchلتعديلات RPC الجزئية؛ واجعلconfig.applyلاستبدال الإعداد الكامل فقط. - إذا كنت تستخدم أداة
gatewayالمقتصرة على المالك من تشغيل وكيل، فستظل ترفض الكتابة إلىtools.exec.ask/tools.exec.security(بما في ذلك الأسماء المستعارة القديمةtools.bash.*التي تُطبَّع إلى مسارات التنفيذ المحمية نفسها).
كيف أشغّل Gateway مركزيًا مع عمال متخصصين عبر الأجهزة؟
كيف أشغّل Gateway مركزيًا مع عمال متخصصين عبر الأجهزة؟
- Gateway (مركزي): يملك القنوات (Signal/WhatsApp) والتوجيه والجلسات.
- العُقد (الأجهزة): تتصل أجهزة Macs/iOS/Android كأطراف وتكشف أدوات محلية (
system.run،canvas،camera). - الوكلاء (العمال): عقول/مساحات عمل منفصلة لأدوار خاصة (مثل “عمليات Hetzner”، “البيانات الشخصية”).
- الوكلاء الفرعيون: شغّل عملًا في الخلفية من وكيل رئيسي عندما تريد التوازي.
- TUI: اتصل بـ Gateway وبدّل الوكلاء/الجلسات.
هل يمكن لمتصفح OpenClaw العمل دون واجهة؟
هل يمكن لمتصفح OpenClaw العمل دون واجهة؟
false (بواجهة مرئية). يزيد وضع دون واجهة احتمال تشغيل فحوصات مكافحة الروبوتات في بعض المواقع. راجع المتصفح.يستخدم وضع دون واجهة محرك Chromium نفسه ويعمل لمعظم الأتمتة (النماذج، النقرات، الكشط، تسجيلات الدخول). الفروق الرئيسية:- لا توجد نافذة متصفح مرئية (استخدم لقطات الشاشة إذا كنت تحتاج إلى مرئيات).
- بعض المواقع أكثر صرامة بشأن الأتمتة في وضع دون واجهة (CAPTCHA، مكافحة الروبوتات). على سبيل المثال، يحظر X/Twitter الجلسات دون واجهة غالبًا.
كيف أستخدم Brave للتحكم في المتصفح؟
كيف أستخدم Brave للتحكم في المتصفح؟
browser.executablePath على ملف Brave الثنائي لديك (أو أي متصفح مستند إلى Chromium) وأعد تشغيل Gateway.
راجع أمثلة الإعداد الكاملة في المتصفح.البوابات والعُقد البعيدة
كيف تنتقل الأوامر بين Telegram والبوابة والعُقد؟
كيف تنتقل الأوامر بين Telegram والبوابة والعُقد؟
node.* → Node → Gateway → Telegramلا ترى العُقد حركة مرور الموفّر الواردة؛ فهي تتلقى فقط استدعاءات RPC الخاصة بالعُقد.كيف يمكن لوكيلي الوصول إلى حاسوبي إذا كان Gateway مستضافًا عن بُعد؟
كيف يمكن لوكيلي الوصول إلى حاسوبي إذا كان Gateway مستضافًا عن بُعد؟
node.* (الشاشة، الكاميرا، النظام) على جهازك المحلي عبر Gateway WebSocket.إعداد نموذجي:- شغّل Gateway على المضيف الدائم التشغيل (VPS/خادم منزلي).
- ضع مضيف Gateway وحاسوبك على الشبكة الخاصة نفسها.
- تأكد أن Gateway WS قابل للوصول (ربط الشبكة الخاصة أو نفق SSH).
- افتح تطبيق macOS محليًا واتصل بوضع Remote over SSH (أو الشبكة الخاصة مباشرة) حتى يتمكن من التسجيل كعقدة.
-
وافق على العقدة على Gateway:
system.run على ذلك الجهاز. لا
تقرن إلا الأجهزة التي تثق بها، وراجع الأمان.المستندات: العُقد، بروتوكول Gateway، وضع macOS البعيد، الأمان.Tailscale متصل لكن لا تصلني ردود. ماذا الآن؟
Tailscale متصل لكن لا تصلني ردود. ماذا الآن؟
- Gateway يعمل:
openclaw gateway status - صحة Gateway:
openclaw status - صحة القناة:
openclaw channels status
- إذا كنت تستخدم Tailscale Serve، فتأكد من ضبط
gateway.auth.allowTailscaleبشكل صحيح. - إذا كنت تتصل عبر نفق SSH، فأكد أن النفق المحلي يعمل ويشير إلى المنفذ الصحيح.
- أكد أن قوائم السماح لديك (رسالة مباشرة أو مجموعة) تتضمن حسابك.
هل يمكن لمثيلي OpenClaw التحدث إلى بعضهما (محلي + VPS)؟
هل يمكن لمثيلي OpenClaw التحدث إلى بعضهما (محلي + VPS)؟
openclaw agent --message ... --deliver، مستهدفًا دردشة يستمع فيها الروبوت الآخر.
إذا كان أحد الروبوتين على VPS بعيد، فوجّه CLI لديك إلى ذلك Gateway البعيد
عبر SSH/Tailscale (راجع الوصول البعيد).نمط مثال (شغّله من جهاز يمكنه الوصول إلى Gateway الهدف):هل أحتاج إلى خوادم VPS منفصلة لعدة وكلاء؟
هل أحتاج إلى خوادم VPS منفصلة لعدة وكلاء؟
هل هناك فائدة من استخدام عقدة على حاسوبي المحمول الشخصي بدلًا من SSH من VPS؟
هل هناك فائدة من استخدام عقدة على حاسوبي المحمول الشخصي بدلًا من SSH من VPS؟
- لا يلزم SSH وارد. تتصل العُقد صادرًا إلى Gateway WebSocket وتستخدم إقران الأجهزة.
- ضوابط تنفيذ أكثر أمانًا. يخضع
system.runلقوائم السماح/الموافقات الخاصة بالعقدة على ذلك الحاسوب المحمول. - أدوات أجهزة أكثر. تكشف العُقد
canvasوcameraوscreenبالإضافة إلىsystem.run. - أتمتة متصفح محلية. أبقِ Gateway على VPS، لكن شغّل Chrome محليًا عبر مضيف عقدة على الحاسوب المحمول، أو اتصل بـ Chrome المحلي على المضيف عبر Chrome MCP.
هل تشغّل العُقد خدمة Gateway؟
هل تشغّل العُقد خدمة Gateway؟
gateway وdiscovery وسطح Plugin المستضاف.هل توجد طريقة API / RPC لتطبيق الإعداد؟
هل توجد طريقة API / RPC لتطبيق الإعداد؟
config.schema.lookup: افحص شجرة فرعية واحدة من الإعدادات مع عقدة المخطط السطحية الخاصة بها، وتلميح الواجهة المطابق، وملخصات الأبناء المباشرين قبل الكتابةconfig.get: اجلب اللقطة الحالية + التجزئةconfig.patch: تحديث جزئي آمن (مفضّل لمعظم تعديلات RPC)؛ يعيد التحميل الفوري عند الإمكان ويعيد التشغيل عند اللزومconfig.apply: تحقّق + استبدل الإعدادات الكاملة؛ يعيد التحميل الفوري عند الإمكان ويعيد التشغيل عند اللزوم- لا تزال أداة وقت التشغيل
gatewayالمخصّصة للمالك فقط ترفض إعادة كتابةtools.exec.ask/tools.exec.security؛ وتُطبّع الأسماء المستعارة القديمةtools.bash.*إلى مسارات exec المحمية نفسها
أدنى إعدادات سليمة للتثبيت الأول
أدنى إعدادات سليمة للتثبيت الأول
كيف أعد Tailscale على VPS وأتصل من Mac؟
كيف أعد Tailscale على VPS وأتصل من Mac؟
-
ثبّت + سجّل الدخول على VPS
-
ثبّت + سجّل الدخول على Mac
- استخدم تطبيق Tailscale وسجّل الدخول إلى tailnet نفسها.
-
فعّل MagicDNS (موصى به)
- في وحدة تحكم إدارة Tailscale، فعّل MagicDNS حتى يكون لدى VPS اسم ثابت.
-
استخدم اسم مضيف tailnet
- SSH:
ssh user@your-vps.tailnet-xxxx.ts.net - Gateway WS:
ws://your-vps.tailnet-xxxx.ts.net:18789
- SSH:
كيف أوصل عقدة Mac بـ Gateway بعيد (Tailscale Serve)؟
كيف أوصل عقدة Mac بـ Gateway بعيد (Tailscale Serve)؟
- تأكّد من أن VPS + Mac على tailnet نفسها.
- استخدم تطبيق macOS في الوضع البعيد (يمكن أن يكون هدف SSH هو اسم مضيف tailnet). سيُنشئ التطبيق نفقًا لمنفذ Gateway ويتصل كعقدة.
-
وافق على العقدة على Gateway:
هل يجب أن أثبّت على حاسوب محمول ثانٍ أم أضيف عقدة فقط؟
هل يجب أن أثبّت على حاسوب محمول ثانٍ أم أضيف عقدة فقط؟
متغيرات البيئة وتحميل .env
كيف يحمّل OpenClaw متغيرات البيئة؟
كيف يحمّل OpenClaw متغيرات البيئة؟
.envمن دليل العمل الحالي- ملف
.envعام احتياطي من~/.openclaw/.env(المعروف أيضًا باسم$OPENCLAW_STATE_DIR/.env)
.env متغيرات البيئة الموجودة.يمكنك أيضًا تعريف متغيرات بيئة مضمّنة في الإعدادات (تُطبّق فقط إذا كانت مفقودة من بيئة العملية):بدأت Gateway عبر الخدمة واختفت متغيرات البيئة لدي. ماذا الآن؟
بدأت Gateway عبر الخدمة واختفت متغيرات البيئة لدي. ماذا الآن؟
- ضع المفاتيح المفقودة في
~/.openclaw/.envحتى تُلتقط حتى عندما لا ترث الخدمة بيئة shell لديك. - فعّل استيراد shell (ميزة اختيارية للراحة):
OPENCLAW_LOAD_SHELL_ENV=1، OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000.ضبطت COPILOT_GITHUB_TOKEN، لكن حالة النماذج تعرض "Shell env: off." لماذا؟
ضبطت COPILOT_GITHUB_TOKEN، لكن حالة النماذج تعرض "Shell env: off." لماذا؟
openclaw models status عمّا إذا كان استيراد بيئة shell مفعّلًا. لا تعني “Shell env: off”
أن متغيرات البيئة لديك مفقودة - بل تعني فقط أن OpenClaw لن يحمّل
shell تسجيل الدخول لديك تلقائيًا.إذا كان Gateway يعمل كخدمة (launchd/systemd)، فلن يرث بيئة shell
لديك. أصلح ذلك بإحدى الطرق التالية:-
ضع الرمز في
~/.openclaw/.env: -
أو فعّل استيراد shell (
env.shellEnv.enabled: true). -
أو أضفه إلى كتلة
envفي إعداداتك (يُطبّق فقط إذا كان مفقودًا).
COPILOT_GITHUB_TOKEN (وأيضًا GH_TOKEN / GITHUB_TOKEN).
راجع /concepts/model-providers و/environment.الجلسات والمحادثات المتعددة
كيف أبدأ محادثة جديدة؟
كيف أبدأ محادثة جديدة؟
/new أو /reset كرسالة مستقلة. راجع إدارة الجلسات.هل تُعاد الجلسات تلقائيًا إذا لم أرسل /new أبدًا؟
هل تُعاد الجلسات تلقائيًا إذا لم أرسل /new أبدًا؟
session.idleMinutes، لكن هذا معطّل افتراضيًا (الافتراضي 0).
اضبطه على قيمة موجبة لتفعيل انتهاء الصلاحية بسبب الخمول. عند تفعيله، تبدأ الرسالة التالية
بعد فترة الخمول معرّف جلسة جديدًا لمفتاح الدردشة ذلك.
لا يحذف هذا النصوص المنسوخة - بل يبدأ جلسة جديدة فقط.هل توجد طريقة لإنشاء فريق من مثيلات OpenClaw (مدير تنفيذي واحد والعديد من الوكلاء)؟
هل توجد طريقة لإنشاء فريق من مثيلات OpenClaw (مدير تنفيذي واحد والعديد من الوكلاء)؟
لماذا اقتُطع السياق في منتصف المهمة؟ كيف أمنع ذلك؟
لماذا اقتُطع السياق في منتصف المهمة؟ كيف أمنع ذلك؟
- اطلب من البوت تلخيص الحالة الحالية وكتابتها إلى ملف.
- استخدم
/compactقبل المهام الطويلة، و/newعند تبديل المواضيع. - أبقِ السياق المهم في مساحة العمل واطلب من البوت قراءته مرة أخرى.
- استخدم الوكلاء الفرعيين للعمل الطويل أو المتوازي حتى تبقى الدردشة الرئيسية أصغر.
- اختر نموذجًا بنافذة سياق أكبر إذا حدث هذا كثيرًا.
كيف أعيد ضبط OpenClaw بالكامل مع إبقائه مثبتًا؟
كيف أعيد ضبط OpenClaw بالكامل مع إبقائه مثبتًا؟
- يقدّم الإعداد الأولي أيضًا إعادة ضبط إذا اكتشف إعدادات موجودة. راجع الإعداد الأولي (CLI).
- إذا استخدمت ملفات تعريف (
--profile/OPENCLAW_PROFILE)، فأعد ضبط كل دليل حالة (الافتراضيات هي~/.openclaw-<profile>). - إعادة ضبط التطوير:
openclaw gateway --dev --reset(للتطوير فقط؛ يمسح إعدادات التطوير + بيانات الاعتماد + الجلسات + مساحة العمل).
أتلقى أخطاء "context too large" - كيف أعيد الضبط أو أضغط السياق؟
أتلقى أخطاء "context too large" - كيف أعيد الضبط أو أضغط السياق؟
-
Compaction (يبقي المحادثة لكنه يلخص الجولات الأقدم):
أو
/compact <instructions>لتوجيه الملخص. -
إعادة ضبط (معرّف جلسة جديد لمفتاح الدردشة نفسه):
- فعّل أو اضبط تشذيب الجلسة (
agents.defaults.contextPruning) لقص مخرجات الأدوات القديمة. - استخدم نموذجًا بنافذة سياق أكبر.
لماذا أرى "LLM request rejected: messages.content.tool_use.input field required"؟
لماذا أرى "LLM request rejected: messages.content.tool_use.input field required"؟
tool_use دون input المطلوبة.
يعني ذلك عادةً أن سجل الجلسة قديم أو تالف (غالبًا بعد سلاسل طويلة
أو تغيير في أداة/مخطط).الإصلاح: ابدأ جلسة جديدة باستخدام /new (رسالة مستقلة).لماذا تصلني رسائل Heartbeat كل 30 دقيقة؟
لماذا تصلني رسائل Heartbeat كل 30 دقيقة؟
HEARTBEAT.md موجودًا لكنه فارغ فعليًا (أسطر فارغة فقط ورؤوس markdown
مثل # Heading)، يتخطى OpenClaw تشغيل Heartbeat لتوفير استدعاءات API.
إذا كان الملف مفقودًا، فسيستمر تشغيل Heartbeat ويقرر النموذج ما يجب فعله.تستخدم التجاوزات لكل وكيل agents.list[].heartbeat. الوثائق: Heartbeat.هل أحتاج إلى إضافة "حساب بوت" إلى مجموعة WhatsApp؟
هل أحتاج إلى إضافة "حساب بوت" إلى مجموعة WhatsApp؟
groupPolicy: "allowlist").إذا كنت تريد أن تكون أنت فقط قادرًا على تشغيل ردود المجموعات:كيف أحصل على JID لمجموعة WhatsApp؟
كيف أحصل على JID لمجموعة WhatsApp؟
لماذا لا يرد OpenClaw في مجموعة؟
لماذا لا يرد OpenClaw في مجموعة؟
- تقييد الإشارة مفعّل (افتراضيًا). يجب أن تشير إلى البوت باستخدام @mention (أو تطابق
mentionPatterns). - هيّأت
channels.whatsapp.groupsدون"*"والمجموعة ليست في قائمة السماح.
هل تشارك المجموعات/السلاسل السياق مع الرسائل المباشرة؟
هل تشارك المجموعات/السلاسل السياق مع الرسائل المباشرة؟
كم عدد مساحات العمل والوكلاء التي يمكنني إنشاؤها؟
كم عدد مساحات العمل والوكلاء التي يمكنني إنشاؤها؟
- نمو القرص: تعيش الجلسات + النسخ النصية ضمن
~/.openclaw/agents/<agentId>/sessions/. - تكلفة الرموز: المزيد من الوكلاء يعني استخدامًا متزامنًا أكبر للنموذج.
- عبء التشغيل: ملفات تعريف المصادقة، ومساحات العمل، وتوجيه القنوات لكل وكيل.
- احتفظ بمساحة عمل نشطة واحدة لكل وكيل (
agents.defaults.workspace). - قلّم الجلسات القديمة (احذف JSONL أو إدخالات المخزن) إذا نما القرص.
- استخدم
openclaw doctorلاكتشاف مساحات العمل الشاردة وعدم تطابق ملفات التعريف.
هل يمكنني تشغيل عدة بوتات أو محادثات في الوقت نفسه (Slack)، وكيف أعد ذلك؟
هل يمكنني تشغيل عدة بوتات أو محادثات في الوقت نفسه (Slack)، وكيف أعد ذلك؟
- مضيف Gateway يعمل دائمًا (VPS/Mac mini).
- وكيل واحد لكل دور (ارتباطات).
- قناة/قنوات Slack مرتبطة بهؤلاء الوكلاء.
- متصفح محلي عبر Chrome MCP أو عقدة عند الحاجة.
النماذج، تجاوز الفشل، وملفات تعريف المصادقة
تعيش أسئلة وأجوبة النماذج — الإعدادات الافتراضية، والاختيار، والأسماء المستعارة، والتبديل، وتجاوز الفشل، وملفات تعريف المصادقة — في الأسئلة الشائعة حول النماذج.Gateway: المنافذ، “قيد التشغيل بالفعل”، والوضع البعيد
ما المنفذ الذي يستخدمه Gateway؟
ما المنفذ الذي يستخدمه Gateway؟
gateway.port في المنفذ الفردي متعدد الاستخدامات لـ WebSocket + HTTP (واجهة التحكم، الخطافات، وغير ذلك).ترتيب الأولوية:لماذا يقول openclaw gateway status "Runtime: running" لكن "Connectivity probe: failed"؟
لماذا يقول openclaw gateway status "Runtime: running" لكن "Connectivity probe: failed"؟
openclaw gateway status وثق بهذه الأسطر:Probe target:(عنوان URL الذي استخدمه المسبار فعليًا)Listening:(ما هو مرتبط فعليًا على المنفذ)Last gateway error:(سبب جذري شائع عندما تكون العملية حية لكن المنفذ لا يستمع)
لماذا يعرض openclaw gateway status قيمتي "Config (cli)" و"Config (service)" مختلفتين؟
لماذا يعرض openclaw gateway status قيمتي "Config (cli)" و"Config (service)" مختلفتين؟
--profile / OPENCLAW_STATE_DIR).الإصلاح:--profile / البيئة التي تريد أن تستخدمها الخدمة.ماذا يعني "another gateway instance is already listening"؟
ماذا يعني "another gateway instance is already listening"؟
ws://127.0.0.1:18789). إذا فشل الربط مع EADDRINUSE، فإنه يرمي GatewayLockError مشيرًا إلى أن مثيلًا آخر يستمع بالفعل.الإصلاح: أوقف المثيل الآخر، أو حرر المنفذ، أو شغّل باستخدام openclaw gateway --port <port>.كيف أشغّل OpenClaw في الوضع البعيد (عميل يتصل بـ Gateway في مكان آخر)؟
كيف أشغّل OpenClaw في الوضع البعيد (عميل يتصل بـ Gateway في مكان آخر)؟
gateway.mode: "remote" ووجّهه إلى عنوان WebSocket بعيد، اختياريًا مع بيانات اعتماد بعيدة بسر مشترك:- يبدأ
openclaw gatewayفقط عندما يكونgateway.modeهوlocal(أو عندما تمرر علم التجاوز). - يراقب تطبيق macOS ملف الإعدادات ويبدّل الأوضاع مباشرةً عند تغيّر هذه القيم.
gateway.remote.token/.passwordهي بيانات اعتماد بعيدة من جهة العميل فقط؛ ولا تفعّل مصادقة Gateway محلية بذاتها.
تقول واجهة التحكم "unauthorized" (أو تواصل إعادة الاتصال). ماذا الآن؟
تقول واجهة التحكم "unauthorized" (أو تواصل إعادة الاتصال). ماذا الآن؟
ضبطت gateway.bind على tailnet لكنه لا يستطيع الربط ولا شيء يستمع
ضبطت gateway.bind على tailnet لكنه لا يستطيع الربط ولا شيء يستمع
tailnet عنوان IP من Tailscale من واجهات شبكتك (100.64.0.0/10). إذا لم يكن الجهاز على Tailscale (أو كانت الواجهة معطلة)، فلا يوجد ما يمكن الربط به.الإصلاح:- شغّل Tailscale على ذلك المضيف (حتى يحصل على عنوان 100.x)، أو
- بدّل إلى
gateway.bind: "loopback"/"lan".
tailnet صريح. يفضّل auto local loopback؛ استخدم gateway.bind: "tailnet" عندما تريد ربطًا خاصًا بـ tailnet فقط.هل يمكنني تشغيل عدة Gateways على المضيف نفسه؟
هل يمكنني تشغيل عدة Gateways على المضيف نفسه؟
OPENCLAW_CONFIG_PATH(إعدادات لكل مثيل)OPENCLAW_STATE_DIR(حالة لكل مثيل)agents.defaults.workspace(عزل مساحة العمل)gateway.port(منافذ فريدة)
- استخدم
openclaw --profile <name> ...لكل مثيل (ينشئ تلقائيًا~/.openclaw-<name>). - اضبط
gateway.portفريدًا في إعدادات كل ملف تعريف (أو مرر--portللتشغيل اليدوي). - ثبّت خدمة لكل ملف تعريف:
openclaw --profile <name> gateway install.
ai.openclaw.<profile>؛ القديم com.openclaw.*، openclaw-gateway-<profile>.service، OpenClaw Gateway (<profile>)).
الدليل الكامل: بوابات متعددة.ماذا يعني "invalid handshake" / الرمز 1008؟
ماذا يعني "invalid handshake" / الرمز 1008؟
connect. إذا تلقى أي شيء آخر، فإنه يغلق الاتصال
باستخدام الرمز 1008 (انتهاك السياسة).الأسباب الشائعة:- فتحت عنوان URL الخاص بـ HTTP في متصفح (
http://...) بدلًا من عميل WS. - استخدمت المنفذ أو المسار الخطأ.
- أزال وكيل أو نفق رؤوس المصادقة أو أرسل طلبًا ليس لـ Gateway.
- استخدم عنوان WS:
ws://<host>:18789(أوwss://...إذا كان HTTPS). - لا تفتح منفذ WS في تبويب متصفح عادي.
- إذا كانت المصادقة مفعّلة، ضمّن الرمز/كلمة المرور في إطار
connect.
التسجيل وتصحيح الأخطاء
أين توجد السجلات؟
أين توجد السجلات؟
logging.file. يتحكم logging.level في مستوى سجل الملف. ويتحكم --verbose وlogging.consoleLevel في إسهاب وحدة التحكم.أسرع متابعة للسجل:- macOS:
$OPENCLAW_STATE_DIR/logs/gateway.logوgateway.err.log(افتراضيًا:~/.openclaw/logs/...؛ تستخدم ملفات التعريف~/.openclaw-<profile>/logs/...) - Linux:
journalctl --user -u openclaw-gateway[-<profile>].service -n 200 --no-pager - Windows:
schtasks /Query /TN "OpenClaw Gateway (<profile>)" /V /FO LIST
كيف أبدأ/أوقف/أعيد تشغيل خدمة Gateway؟
كيف أبدأ/أوقف/أعيد تشغيل خدمة Gateway؟
openclaw gateway --force استعادة المنفذ. راجع Gateway.أغلقت الطرفية على Windows - كيف أعيد تشغيل OpenClaw؟
أغلقت الطرفية على Windows - كيف أعيد تشغيل OpenClaw؟
Gateway يعمل لكن الردود لا تصل أبدًا. ما الذي يجب أن أتحقق منه؟
Gateway يعمل لكن الردود لا تصل أبدًا. ما الذي يجب أن أتحقق منه؟
- لم يتم تحميل مصادقة النموذج على مضيف Gateway (تحقق من
models status). - اقتران القناة/قائمة السماح يحظران الردود (تحقق من إعدادات القناة + السجلات).
- WebChat/Dashboard مفتوح بدون الرمز الصحيح.
"تم قطع الاتصال بـ gateway: لا يوجد سبب" - ماذا الآن؟
"تم قطع الاتصال بـ gateway: لا يوجد سبب" - ماذا الآن؟
- هل Gateway قيد التشغيل؟
openclaw gateway status - هل Gateway سليمة؟
openclaw status - هل تملك واجهة المستخدم الرمز الصحيح؟
openclaw dashboard - إذا كنت تعمل عن بُعد، هل رابط النفق/Tailscale يعمل؟
فشل Telegram setMyCommands. ما الذي ينبغي أن أتحقق منه؟
فشل Telegram setMyCommands. ما الذي ينبغي أن أتحقق منه؟
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.
لا يعرض TUI أي مخرجات. ما الذي ينبغي أن أتحقق منه؟
لا يعرض TUI أي مخرجات. ما الذي ينبغي أن أتحقق منه؟
/status لرؤية الحالة الحالية. إذا كنت تتوقع ردودًا في قناة
دردشة، فتأكد من تفعيل التسليم (/deliver on).المستندات: TUI، أوامر الشرطة المائلة.كيف أوقف Gateway تمامًا ثم أبدأ تشغيله؟
كيف أوقف Gateway تمامًا ثم أبدأ تشغيله؟
تبسيط: openclaw gateway restart مقابل openclaw gateway
تبسيط: openclaw gateway restart مقابل openclaw gateway
openclaw gateway restart: يعيد تشغيل خدمة الخلفية (launchd/systemd).openclaw gateway: يشغّل gateway في المقدمة لجلسة الطرفية هذه.
openclaw gateway عندما
تريد تشغيلًا لمرة واحدة في المقدمة.أسرع طريقة للحصول على تفاصيل أكثر عند فشل شيء ما
أسرع طريقة للحصول على تفاصيل أكثر عند فشل شيء ما
--verbose للحصول على تفاصيل أكثر في وحدة التحكم. ثم افحص ملف السجل بحثًا عن أخطاء مصادقة القناة، وتوجيه النموذج، وRPC.الوسائط والمرفقات
أنشأت Skill صورة/PDF، لكن لم يتم إرسال شيء
أنشأت Skill صورة/PDF، لكن لم يتم إرسال شيء
MEDIA:<path-or-url> (في سطر مستقل). راجع إعداد مساعد OpenClaw وإرسال الوكيل.الإرسال عبر CLI:- القناة المستهدفة تدعم الوسائط الصادرة ولا تحظرها قوائم السماح.
- الملف ضمن حدود الحجم الخاصة بالمزود (تُعاد تحجيم الصور إلى حد أقصى 2048px).
- يحافظ
tools.fs.workspaceOnly=trueعلى إرسال المسارات المحلية محدودًا بمساحة العمل، ومخزن temp/media-store، والملفات التي تم التحقق منها عبر sandbox. - يتيح
tools.fs.workspaceOnly=falseلـMEDIA:إرسال ملفات محلية على المضيف يستطيع الوكيل قراءتها بالفعل، لكن فقط للوسائط وأنواع المستندات الآمنة (الصور، والصوت، والفيديو، وPDF، ومستندات Office). لا تزال الملفات النصية العادية والملفات التي تبدو كأسرار محظورة.
الأمان والتحكم في الوصول
هل من الآمن تعريض OpenClaw للرسائل المباشرة الواردة؟
هل من الآمن تعريض OpenClaw للرسائل المباشرة الواردة؟
- السلوك الافتراضي في القنوات القادرة على الرسائل المباشرة هو الاقتران:
- يتلقى المرسلون غير المعروفين رمز اقتران؛ ولا يعالج bot رسالتهم.
- وافق باستخدام:
openclaw pairing approve --channel <channel> [--account <id>] <code> - الطلبات المعلقة محدودة بـ 3 لكل قناة؛ تحقق من
openclaw pairing list --channel <channel> [--account <id>]إذا لم يصل رمز.
- يتطلب فتح الرسائل المباشرة علنًا قبولًا صريحًا (
dmPolicy: "open"وقائمة سماح"*").
openclaw doctor لإظهار سياسات الرسائل المباشرة الخطرة.هل حقن المطالبات مصدر قلق للروبوتات العامة فقط؟
هل حقن المطالبات مصدر قلق للروبوتات العامة فقط؟
- استخدام وكيل “قارئ” للقراءة فقط أو معطّل الأدوات لتلخيص المحتوى غير الموثوق
- إبقاء
web_search/web_fetch/browserمعطلة للوكلاء المفعّلة أدواتهم - التعامل مع نص الملفات/المستندات المفكوك كغير موثوق أيضًا: يقوم OpenResponses
input_fileواستخراج مرفقات الوسائط كلاهما بتغليف النص المستخرج داخل علامات حدود محتوى خارجي صريحة بدلًا من تمرير نص الملف الخام - استخدام sandbox وقوائم سماح صارمة للأدوات
هل ينبغي أن يكون لـ bot بريد إلكتروني أو حساب GitHub أو رقم هاتف خاص به؟
هل ينبغي أن يكون لـ bot بريد إلكتروني أو حساب GitHub أو رقم هاتف خاص به؟
هل يمكنني منحه استقلالية على رسائلي النصية، وهل هذا آمن؟
هل يمكنني منحه استقلالية على رسائلي النصية، وهل هذا آمن؟
- إبقاء الرسائل المباشرة في وضع الاقتران أو ضمن قائمة سماح ضيقة.
- استخدام رقم أو حساب منفصل إذا أردته أن يرسل نيابةً عنك.
- اجعله يصيغ المسودة، ثم وافق قبل الإرسال.
هل يمكنني استخدام نماذج أرخص لمهام المساعد الشخصي؟
هل يمكنني استخدام نماذج أرخص لمهام المساعد الشخصي؟
شغّلت /start في Telegram لكن لم أحصل على رمز اقتران
شغّلت /start في Telegram لكن لم أحصل على رمز اقتران
dmPolicy: "pairing" مفعّلًا. لا ينشئ /start رمزًا بحد ذاته.تحقق من الطلبات المعلقة:dmPolicy: "open"
لذلك الحساب.WhatsApp: هل سيراسل جهات الاتصال لدي؟ كيف يعمل الاقتران؟
WhatsApp: هل سيراسل جهات الاتصال لدي؟ كيف يعمل الاقتران؟
channels.whatsapp.selfChatMode.أوامر الدردشة، وإلغاء المهام، و”لن يتوقف”
كيف أوقف ظهور رسائل النظام الداخلية في الدردشة؟
كيف أوقف ظهور رسائل النظام الداخلية في الدردشة؟
verboseDefault
على on في الإعدادات.المستندات: التفكير وverbose، الأمان.كيف أوقف/ألغي مهمة قيد التشغيل؟
كيف أوقف/ألغي مهمة قيد التشغيل؟
/، لكن بعض الاختصارات (مثل /status) تعمل أيضًا ضمن السطر للمرسلين الموجودين في قائمة السماح.كيف أرسل رسالة Discord من Telegram؟ ("تم رفض المراسلة عبر السياقات")
كيف أرسل رسالة Discord من Telegram؟ ("تم رفض المراسلة عبر السياقات")
لماذا يبدو أن bot "يتجاهل" الرسائل المتتابعة بسرعة؟
لماذا يبدو أن bot "يتجاهل" الرسائل المتتابعة بسرعة؟
/queue لتغيير الأوضاع:steer- وضع كل التوجيهات المعلقة في قائمة انتظار للحد التالي للنموذج في التشغيل الحاليqueue- توجيه قديم واحدًا تلو الآخرfollowup- تشغيل الرسائل واحدة تلو الأخرىcollect- تجميع الرسائل والرد مرة واحدةsteer-backlog- وجّه الآن، ثم عالج المتراكمinterrupt- إلغاء التشغيل الحالي والبدء من جديد
steer. يمكنك إضافة خيارات مثل debounce:0.5s cap:25 drop:summarize لأوضاع المتابعة. راجع قائمة انتظار الأوامر وقائمة انتظار التوجيه.متفرقات
ما النموذج الافتراضي لـ Anthropic عند استخدام مفتاح واجهة برمجة التطبيقات؟
ما النموذج الافتراضي لـ Anthropic عند استخدام مفتاح واجهة برمجة التطبيقات؟
ANTHROPIC_API_KEY (أو تخزين مفتاح واجهة برمجة تطبيقات Anthropic في ملفات تعريف المصادقة) إلى تفعيل المصادقة، لكن النموذج الافتراضي الفعلي هو ما تضبطه في 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 أو افتح مناقشة على GitHub.
ذات صلة
- الأسئلة الشائعة عن التشغيل الأول — التثبيت، الإعداد الأولي، المصادقة، الاشتراكات، الإخفاقات المبكرة
- الأسئلة الشائعة عن النماذج — اختيار النموذج، تجاوز الفشل، ملفات تعريف المصادقة
- استكشاف الأخطاء وإصلاحها — فرز يبدأ بالأعراض