Gateway
استكشاف الأخطاء وإصلاحها
هذا هو دليل التشغيل المتعمّق. ابدأ أولًا من /help/troubleshooting لمسار الفرز السريع.
تسلسل الأوامر
شغّل بالترتيب الآتي:
openclaw statusopenclaw gateway statusopenclaw logs --followopenclaw doctoropenclaw channels status --probeمؤشرات الحالة السليمة:
openclaw gateway statusيعرضRuntime: runningوConnectivity probe: okوسطرCapability: ....openclaw doctorلا يبلّغ عن أي مشكلات مانعة في الإعدادات أو الخدمة.openclaw channels status --probeيعرض حالة النقل المباشرة لكل حساب، وحيثما يكون ذلك مدعومًا،worksأوaudit ok.
بعد التحديث
استخدم هذا عندما ينتهي التحديث لكن Gateway متوقف، أو تكون القنوات فارغة، أو تفشل استدعاءات النموذج بأخطاء 401.
openclaw status --allopenclaw update status --jsonopenclaw gateway status --deepopenclaw doctor --fixopenclaw gateway restartابحث عن:
Update restartفيopenclaw status/openclaw status --all. تتضمن عمليات التسليم المعلّقة أو الفاشلة الأمر التالي المطلوب تشغيله.plugin load failed: dependency tree corrupted; run openclaw doctor --fixضمن القنوات: لا يزال إعداد القناة موجودًا، لكن تسجيل Plugin فشل قبل أن تتمكن القناة من التحميل.- أخطاء 401 من المزوّد بعد إعادة المصادقة: يتحقق
openclaw doctor --fixمن ظلال مصادقة OAuth القديمة الخاصة بكل وكيل ويزيل النسخ القديمة لكي تحل جميع الوكلاء ملف التعريف المشترك الحالي.
عمليات التثبيت المنقسمة وحارس الإعدادات الأحدث
استخدم هذا عندما تتوقف خدمة Gateway بصورة غير متوقعة بعد تحديث، أو تُظهر السجلات أن أحد ملفات openclaw التنفيذية أقدم من الإصدار الذي كتب openclaw.json آخر مرة.
يضع OpenClaw ختمًا على عمليات كتابة الإعدادات باستخدام meta.lastTouchedVersion. يمكن للأوامر المخصصة للقراءة فقط فحص إعدادات كتبها إصدار أحدث من OpenClaw، لكن تغييرات العمليات والخدمات ترفض التنفيذ من ملف تنفيذي أقدم. تشمل الإجراءات المحظورة: بدء خدمة Gateway وإيقافها وإعادة تشغيلها وإلغاء تثبيتها، وإعادة تثبيت الخدمة إجباريًا، وتشغيل Gateway في وضع الخدمة، وتنظيف منفذ gateway --force.
which openclawopenclaw --versionopenclaw gateway status --deepopenclaw config get meta.lastTouchedVersionإصلاح PATH
أصلح PATH بحيث يحل openclaw إلى التثبيت الأحدث، ثم أعد تشغيل الإجراء.
إعادة تثبيت خدمة Gateway
أعد تثبيت خدمة Gateway المقصودة من التثبيت الأحدث:
openclaw gateway install --forceopenclaw gateway restartإزالة الأغلفة القديمة
أزل إدخالات حزمة النظام القديمة أو الأغلفة القديمة التي لا تزال تشير إلى ملف openclaw تنفيذي قديم.
عدم تطابق البروتوكول بعد التراجع
استخدم هذا عندما تستمر السجلات في طباعة protocol mismatch بعد خفض الإصدار أو التراجع. يعمل Gateway أقدم، لكن عملية عميل محلية أحدث لا تزال تعيد الاتصال بنطاق بروتوكول لا يستطيع Gateway الأقدم التعامل معه.
openclaw --versionwhich -a openclawopenclaw gateway status --deepopenclaw doctor --deepopenclaw logs --followابحث عن:
protocol mismatch ... client=... v<version> min=<n> max=<n> expected=<n>في سجلات Gateway.Established clients:فيopenclaw gateway status --deepأوGateway clientsفيopenclaw doctor --deep: عملاء TCP نشطون متصلون بمنفذ Gateway، مع معرّفات العمليات وأسطر الأوامر عندما يسمح نظام التشغيل بذلك.- عملية عميل يشير سطر أوامرها إلى تثبيت OpenClaw الأحدث أو الغلاف الذي تراجعت عنه.
الإصلاح:
- أوقف عملية عميل OpenClaw القديمة التي يعرضها
gateway status --deepأو أعد تشغيلها. - أعد تشغيل التطبيقات أو الأغلفة التي تدمج OpenClaw: لوحات المعلومات المحلية، أو المحررات، أو أدوات خادم التطبيقات المساعدة، أو أغلفة
openclaw logs --followطويلة التشغيل. - أعد تشغيل
openclaw gateway status --deepأوopenclaw doctor --deepوتأكد من اختفاء معرّف عملية العميل القديم.
لا تجعل Gateway أقدم يقبل بروتوكولًا أحدث غير متوافق. تحمي ترقيات البروتوكول عقد الاتصال؛ واسترداد التراجع مشكلة تنظيف للعمليات والإصدارات.
تخطي الرابط الرمزي لـ Skill باعتباره خروجًا من المسار
استخدم هذا عندما تتضمن السجلات:
تخطي مسار Skill الخارج من جذره المُعدّ: ... reason=symlink-escapeيمثل كل جذر لـ Skill حدًا للاحتواء. يُتخطى الرابط الرمزي ضمن ~/.agents/skills أو <workspace>/.agents/skills أو <workspace>/skills أو ~/.openclaw/skills عندما يحل هدفه الحقيقي خارج ذلك الجذر، ما لم يكن الهدف موثوقًا به صراحةً.
افحص الرابط:
ls -l ~/.agents/skills/<name>realpath ~/.agents/skills/<name>openclaw config get skills.loadإذا كان الهدف مقصودًا، فاضبط كلاً من جذر Skill المباشر وهدف الرابط الرمزي المسموح به:
{ skills: { load: { extraDirs: ["~/Projects/manager/skills"], allowSymlinkTargets: ["~/Projects/manager/skills"], }, },}ثم ابدأ جلسة جديدة أو انتظر حتى يحدّث مراقب Skills حالته. أعد تشغيل Gateway إذا كانت العملية الجارية تسبق تغيير الإعدادات.
لا تستخدم أهدافًا واسعة مثل ~ أو / أو مجلد مشروع متزامن بالكامل. أبقِ allowSymlinkTargets محصورًا في جذر Skill الحقيقي الذي يحتوي أدلة SKILL.md الموثوقة.
إذا كان ينبغي لتطبيق Skill Workshop أن يكتب أيضًا عبر مسارات Skills الموثوقة المرتبطة رمزيًا في مساحة العمل، ففعّل skills.workshop.allowSymlinkTargetWrites. أبقه معطّلًا لجذور Skills المشتركة المخصصة للقراءة فقط.
ذو صلة:
يتطلب خطأ Anthropic 429 استخدامًا إضافيًا للسياق الطويل
استخدم هذا عندما تتضمن السجلات أو الأخطاء: HTTP 429: rate_limit_error: Extra usage is required for long context requests.
openclaw logs --followopenclaw models statusopenclaw config get agents.defaults.modelsابحث عن:
- نموذج Anthropic المحدد هو نموذج Claude 4.x بسياق 1M يدعم التوافر العام (Opus 4.6/4.7/4.8، Sonnet 4.6)، أو لا تزال إعدادات النموذج تحمل
params.context1m: trueالقديم. - بيانات اعتماد Anthropic الحالية غير مؤهلة لاستخدام السياق الطويل.
- تفشل الطلبات فقط في الجلسات الطويلة أو عمليات تشغيل النموذج التي تحتاج إلى مسار سياق 1M.
خيارات الإصلاح:
استخدام نافذة سياق قياسية
انتقل إلى نموذج بنافذة قياسية، أو أزل context1m القديم من إعدادات
النماذج الأقدم التي لا تدعم التوافر العام لسياق 1M.
استخدام بيانات اعتماد مؤهلة
استخدم بيانات اعتماد Anthropic مؤهلة لطلبات السياق الطويل، أو انتقل إلى مفتاح API من Anthropic.
إعداد نماذج احتياطية
اضبط النماذج الاحتياطية لكي تستمر عمليات التشغيل عند رفض Anthropic لطلبات السياق الطويل.
ذو صلة:
استجابات 403 المحظورة من المصدر الأعلى
استخدم هذا عندما يعيد مزوّد LLM في المصدر الأعلى استجابة 403 عامة مثل Your request was blocked.
لا تفترض أن هذه دائمًا مشكلة في إعدادات OpenClaw. قد تأتي الاستجابة من طبقة أمان في المصدر الأعلى، مثل CDN أو WAF أو قاعدة لإدارة الروبوتات أو وكيل عكسي أمام نقطة نهاية متوافقة مع OpenAI.
openclaw statusopenclaw gateway statusopenclaw logs --followابحث عن:
- فشل عدة نماذج ضمن المزوّد نفسه بالطريقة ذاتها.
- نص HTML أو نص أمان عام بدلًا من خطأ API عادي من المزوّد.
- أحداث أمان من جانب المزوّد في وقت الطلب نفسه.
- نجاح اختبار
curlمباشر وصغير، بينما تفشل الطلبات العادية المشكلة بأسلوب SDK.
أصلح التصفية من جانب المزوّد أولًا عندما تشير الأدلة إلى حظر من WAF/CDN. يُفضّل استخدام قاعدة سماح أو تخطٍ محدودة النطاق لمسار API الذي يستخدمه OpenClaw، وتجنب تعطيل الحماية للموقع بأكمله.
ذو صلة:
يجتاز الجزء الخلفي المحلي المتوافق مع OpenAI الاختبارات المباشرة لكن تفشل عمليات الوكيل
استخدم هذا عندما:
- يعمل
curl ... /v1/models. - تعمل استدعاءات
/v1/chat/completionsالمباشرة الصغيرة. - تفشل عمليات تشغيل نموذج OpenClaw فقط في أدوار الوكيل العادية.
curl http://127.0.0.1:1234/v1/modelscurl http://127.0.0.1:1234/v1/chat/completions \ -H 'content-type: application/json' \ -d '{"model":"<id>","messages":[{"role":"user","content":"مرحبًا"}],"stream":false}'openclaw infer model run --model <provider/model> --prompt "مرحبًا" --jsonopenclaw logs --followابحث عن:
- نجاح الاستدعاءات المباشرة الصغيرة، لكن عمليات OpenClaw لا تفشل إلا مع المطالبات الأكبر.
- أخطاء
model_not_foundأو 404 رغم أن/v1/chat/completionsالمباشر يعمل بمعرّف النموذج المجرد نفسه. - أخطاء من الجزء الخلفي تفيد بأن
messages[].contentيتوقع سلسلة نصية. - تحذيرات
incomplete turn detected ... stopReason=stop payloads=0متقطعة مع جزء خلفي محلي متوافق مع OpenAI. - أعطال الجزء الخلفي التي لا تظهر إلا مع أعداد أكبر من رموز المطالبة أو مطالبات وقت تشغيل الوكيل الكاملة.
العلامات الشائعة
model_not_foundمع خادم محلي بأسلوب MLX/vLLM: تحقق من أنbaseUrlيتضمن/v1، وأنapiيساوي"openai-completions"للأجزاء الخلفية من نوع/v1/chat/completions، وأنmodels.providers.<provider>.models[].idهو المعرّف المحلي المجرد لدى المزوّد. حدده ببادئة المزوّد مرة واحدة، مثلmlx/mlx-community/Qwen3-30B-A3B-6bit؛ وأبقِ إدخال الكتالوج على هيئةmlx-community/Qwen3-30B-A3B-6bit.messages[...].content: invalid type: sequence, expected a string: يرفض الجزء الخلفي أجزاء محتوى Chat Completions المنظمة. الإصلاح: عيّنmodels.providers.<provider>.models[].compat.requiresStringContent: true.validation.keysأو مفاتيح الرسائل المسموح بها مثل["role","content"]: يرفض الجزء الخلفي بيانات تعريف إعادة التشغيل بأسلوب OpenAI في رسائل Chat Completions. الإصلاح: عيّنmodels.providers.<provider>.models[].compat.strictMessageKeys: true.incomplete turn detected ... stopReason=stop payloads=0: أكمل الجزء الخلفي طلب Chat Completions لكنه لم يُرجع أي نص من المساعد مرئي للمستخدم في ذلك الدور. يعيد OpenClaw محاولة الأدوار الفارغة المتوافقة مع OpenAI والآمنة لإعادة التشغيل مرة واحدة؛ وتعني حالات الفشل المستمرة عادةً أن الجزء الخلفي يصدر محتوى فارغًا أو غير نصي، أو يمنع نص الإجابة النهائية.- تنجح الطلبات المباشرة الصغيرة، لكن عمليات وكيل OpenClaw تفشل مع أعطال في الجزء الخلفي أو النموذج (مثل Gemma في بعض إصدارات
inferrs): من المرجح أن نقل OpenClaw صحيح بالفعل؛ فالجزء الخلفي يفشل مع بنية مطالبة وقت تشغيل الوكيل الأكبر. - تتراجع حالات الفشل بعد تعطيل الأدوات لكنها لا تختفي: كانت مخططات الأدوات جزءًا من الضغط، لكن المشكلة المتبقية لا تزال في سعة النموذج أو الخادم في المصدر الأعلى، أو في خلل بالجزء الخلفي.
خيارات الإصلاح
- عيّن
compat.requiresStringContent: trueللأجزاء الخلفية لـ Chat Completions التي تقبل السلاسل النصية فقط. - عيّن
compat.strictMessageKeys: trueللأجزاء الخلفية الصارمة لـ Chat Completions التي لا تقبل سوىroleوcontentفي كل رسالة. - عيّن
compat.supportsTools: falseللنماذج أو الأجزاء الخلفية التي لا تستطيع التعامل بصورة موثوقة مع سطح مخطط أدوات OpenClaw. - قلّل ضغط المطالبة حيثما أمكن: تمهيد أصغر لمساحة العمل، أو سجل جلسة أقصر، أو نموذج محلي أخف، أو جزء خلفي بدعم أقوى للسياق الطويل.
- إذا استمرت الطلبات المباشرة الصغيرة في النجاح بينما لا تزال أدوار وكيل OpenClaw تتعطل داخل الجزء الخلفي، فتعامل مع ذلك باعتباره قيدًا في خادم أو نموذج المصدر الأعلى، وقدّم هناك حالة إعادة إنتاج تتضمن بنية الحمولة المقبولة.
ذو صلة:
لا توجد ردود
إذا كانت القنوات تعمل ولكن لا يصل أي رد، فتحقق من التوجيه والسياسة قبل إعادة توصيل أي شيء.
openclaw statusopenclaw channels status --probeopenclaw pairing list --channel <channel> [--account <id>]openclaw config get channelsopenclaw logs --followابحث عن:
- اقتران معلّق لمرسلي الرسائل المباشرة.
- تقييد الإشارات في المجموعات (
requireMention،mentionPatterns). - حالات عدم التطابق في قوائم السماح للقنوات/المجموعات.
الأنماط الشائعة:
drop guild message (mention required← تُتجاهل رسالة المجموعة حتى حدوث إشارة.pairing request← يحتاج المرسل إلى موافقة.blocked/allowlist← تمت تصفية المرسل/القناة بواسطة السياسة.
مواضيع ذات صلة:
اتصال واجهة التحكم في لوحة المعلومات
عندما يتعذر اتصال لوحة المعلومات/واجهة التحكم، تحقق من عنوان URL ووضع المصادقة وافتراضات السياق الآمن.
openclaw gateway statusopenclaw statusopenclaw logs --followopenclaw doctoropenclaw gateway status --jsonابحث عن:
- عنوان URL الصحيح للفحص وعنوان URL الصحيح للوحة المعلومات.
- عدم تطابق وضع المصادقة/الرمز المميز بين العميل وGateway.
- استخدام HTTP عندما تكون هوية الجهاز مطلوبة.
إذا تعذر على متصفح محلي الاتصال بـ 127.0.0.1:18789 بعد تحديث، فاستعد أولًا خدمة Gateway المحلية وتأكد من أنها تعرض لوحة المعلومات:
openclaw gateway restartlsof -i :18789curl http://127.0.0.1:18789إذا أعاد curl محتوى HTML الخاص بـ OpenClaw، فهذا يعني أن Gateway يعمل، وعلى الأرجح أن المشكلة المتبقية هي ذاكرة التخزين المؤقت للمتصفح أو رابط عميق قديم أو حالة علامة تبويب قديمة. افتح http://127.0.0.1:18789 مباشرة وانتقل من لوحة المعلومات. إذا لم تظل الخدمة قيد التشغيل بعد إعادة التشغيل، فنفّذ openclaw gateway start وأعد التحقق من openclaw gateway status.
أنماط الاتصال / المصادقة
device identity required← سياق غير آمن أو مصادقة الجهاز مفقودة.origin not allowed← قيمةOriginفي المتصفح غير موجودة فيgateway.controlUi.allowedOrigins(أو يجري الاتصال من أصل متصفح غير استرجاعي دون قائمة سماح صريحة).device nonce required/device nonce mismatch← لا يُكمل العميل تدفق مصادقة الجهاز القائم على التحدي (connect.challenge+device.nonce).device signature invalid/device signature expired← وقّع العميل الحمولة الخطأ (أو استخدم طابعًا زمنيًا قديمًا) للمصافحة الحالية.AUTH_TOKEN_MISMATCHمعcanRetryWithDeviceToken=true← يمكن للعميل إجراء إعادة محاولة موثوقة واحدة باستخدام الرمز المميز المخزّن مؤقتًا للجهاز.- تعيد محاولة الرمز المميز المخزّن مؤقتًا استخدام مجموعة النطاقات المخزنة مع رمز الجهاز المقترن. أما المستدعون الذين يستخدمون
deviceTokenصراحةً /scopesصراحةً فيحتفظون بمجموعة النطاقات المطلوبة لديهم. AUTH_SCOPE_MISMATCH← تم التعرّف على رمز الجهاز، لكن نطاقاته المعتمدة لا تغطي طلب الاتصال هذا؛ أعد الاقتران أو وافق على عقد النطاق المطلوب بدلًا من تدوير رمز Gateway مشترك.- خارج مسار إعادة المحاولة هذا، تكون أسبقية مصادقة الاتصال: الرمز المشترك/كلمة المرور الصريحة أولًا، ثم
deviceTokenالصريح، ثم رمز الجهاز المخزّن، ثم رمز التمهيد. - في مسار واجهة التحكم غير المتزامن لخدمة Tailscale Serve، تُنفّذ المحاولات الفاشلة للقيمة نفسها من
{scope, ip}تسلسليًا قبل أن يسجل محدِّد المعدل الفشل. لذلك قد تُظهر محاولتا إعادة متزامنتان سيئتان من العميل نفسهretry laterفي المحاولة الثانية بدلًا من حالتي عدم تطابق عاديتين. too many failed authentication attempts (retry later)من عميل استرجاعي ذي أصل متصفح ← تُحظر مؤقتًا حالات الفشل المتكررة من القيمة الموحّدة نفسها لـOrigin؛ ويستخدم أصل localhost آخر حاوية منفصلة.- تكرار
unauthorizedبعد إعادة المحاولة تلك ← انحراف بين الرمز المشترك ورمز الجهاز؛ حدّث إعداد الرمز وأعد اعتماد/تدوير رمز الجهاز عند الحاجة. gateway connect failed:← هدف مضيف/منفذ/عنوان URL غير صحيح.
خريطة سريعة لرموز تفاصيل المصادقة
استخدم error.details.code من استجابة connect الفاشلة لاختيار الإجراء التالي:
| رمز التفاصيل | المعنى | الإجراء الموصى به |
|---|---|---|
AUTH_TOKEN_MISSING |
لم يرسل العميل رمزًا مشتركًا مطلوبًا. | الصق/عيّن الرمز في العميل وأعد المحاولة. لمسارات لوحة المعلومات: openclaw config get gateway.auth.token ثم الصقه في إعدادات واجهة التحكم. |
AUTH_TOKEN_MISMATCH |
لم يتطابق الرمز المشترك مع رمز مصادقة Gateway. | إذا كان canRetryWithDeviceToken=true، فاسمح بإعادة محاولة موثوقة واحدة. تعيد محاولات الرمز المخزّن مؤقتًا استخدام النطاقات المعتمدة المخزنة؛ ويحتفظ المستدعون الذين يستخدمون deviceToken / scopes صراحةً بالنطاقات المطلوبة. إذا استمر الفشل، فنفّذ قائمة التحقق من استعادة انحراف الرمز. |
AUTH_DEVICE_TOKEN_MISMATCH |
الرمز المخزّن مؤقتًا لكل جهاز قديم أو ملغى. | دوّر/أعد اعتماد رمز الجهاز باستخدام CLI للأجهزة، ثم أعد الاتصال. |
AUTH_SCOPE_MISMATCH |
رمز الجهاز صالح، لكن دوره/نطاقاته المعتمدة لا تغطي طلب الاتصال هذا. | أعد إقران الجهاز أو وافق على عقد النطاق المطلوب؛ لا تتعامل مع هذا باعتباره انحرافًا في الرمز المشترك. |
PAIRING_REQUIRED |
تحتاج هوية الجهاز إلى موافقة. تحقق من error.details.reason بحثًا عن not-paired أو scope-upgrade أو role-upgrade أو metadata-upgrade، واستخدم requestId / remediationHint عند توفرهما. |
وافق على الطلب المعلّق: openclaw devices list ثم openclaw devices approve <requestId>. تستخدم ترقيات النطاق/الدور التدفق نفسه بعد مراجعة الوصول المطلوب. |
فحص ترحيل مصادقة الجهاز v2:
openclaw --versionopenclaw doctoropenclaw gateway statusإذا أظهرت السجلات أخطاء nonce/التوقيع، فحدّث العميل المتصل وتحقق منه:
انتظر connect.challenge
ينتظر العميل connect.challenge الصادر عن Gateway.
وقّع الحمولة
يوقّع العميل الحمولة المرتبطة بالتحدي.
أرسل nonce الجهاز
يرسل العميل connect.params.device.nonce باستخدام nonce التحدي نفسه.
إذا رُفض openclaw devices rotate / revoke / remove على نحو غير متوقع:
- لا يمكن لجلسات رموز الأجهزة المقترنة إدارة سوى الجهاز الخاص بها ما لم يكن لدى المستدعي أيضًا
operator.admin. - لا يمكن لـ
openclaw devices rotate --scope ...طلب سوى نطاقات المشغّل التي تحتفظ بها جلسة المستدعي بالفعل.
مواضيع ذات صلة:
- الإعداد (أوضاع مصادقة Gateway)
- واجهة التحكم
- الأجهزة
- الوصول عن بُعد
- مصادقة الوكيل الموثوق
خدمة Gateway لا تعمل
استخدم هذا عندما تكون الخدمة مثبّتة، لكن العملية لا تظل قيد التشغيل.
openclaw gateway statusopenclaw statusopenclaw logs --followopenclaw doctoropenclaw gateway status --deep # افحص أيضًا الخدمات على مستوى النظامابحث عن:
Runtime: stoppedمع تلميحات الخروج.- عدم تطابق إعداد الخدمة (
Config (cli)مقابلConfig (service)). - تعارضات المنفذ/المستمع.
- تثبيتات إضافية لـ launchd/systemd/schtasks عند استخدام
--deep. - تلميحات تنظيف
Other gateway-like services detected (best effort).
الأنماط الشائعة
Gateway start blocked: set gateway.mode=localأوexisting config is missing gateway.mode← وضع Gateway المحلي غير مفعّل، أو تمت الكتابة فوق ملف الإعداد وفُقدgateway.mode. الحل: عيّنgateway.mode="local"في إعدادك، أو أعد تشغيلopenclaw onboard --mode local/openclaw setupلإعادة تثبيت إعداد الوضع المحلي المتوقع. إذا كنت تشغّل OpenClaw عبر Podman، فمسار الإعداد الافتراضي هو~/.openclaw/openclaw.json.refusing to bind gateway ... without auth← ربط غير استرجاعي من دون مسار مصادقة صالح لـ Gateway (رمز/كلمة مرور، أو وكيل موثوق حيث يكون مُعدًا).another gateway instance is already listening/EADDRINUSE← تعارض في المنفذ.Other gateway-like services detected (best effort)← توجد وحدات launchd/systemd/schtasks قديمة أو متوازية. ينبغي لمعظم عمليات الإعداد الاحتفاظ بـ Gateway واحد لكل جهاز؛ وإذا احتجت إلى أكثر من واحد، فاعزل المنافذ + الإعداد/الحالة/مساحة العمل. راجع /gateway#multiple-gateways-same-host.System-level OpenClaw gateway service detectedمن doctor ← توجد وحدة نظام systemd بينما خدمة مستوى المستخدم مفقودة. أزل النسخة المكررة أو عطّلها قبل السماح لـ doctor بتثبيت خدمة مستخدم، أو عيّنOPENCLAW_SERVICE_REPAIR_POLICY=externalإذا كانت وحدة النظام هي المشرف المقصود.Gateway service port does not match current gateway config← لا يزال المشرف المثبّت يثبّت القيمة القديمة لـ--port. نفّذopenclaw doctor --fixأوopenclaw gateway install --force، ثم أعد تشغيل خدمة Gateway.
مواضيع ذات صلة:
يتوقف Gateway في macOS بصمت عن الاستجابة، ثم يستأنفها عند التفاعل مع لوحة المعلومات
استخدم هذا عندما تصمت القنوات (Telegram وWhatsApp وما إلى ذلك) على مضيف macOS لمدة تتراوح من دقائق إلى ساعات في كل مرة، ويبدو أن Gateway يعود إلى العمل لحظة فتح واجهة التحكم، أو الاتصال عبر SSH، أو التفاعل مع المضيف بأي طريقة أخرى. لا توجد عادةً أعراض واضحة في openclaw status لأن Gateway يكون قد عاد إلى العمل بحلول وقت التحقق منه.
ls ~/.openclaw/logs/stability/ | tail -5openclaw gateway stability --bundle latestpmset -g log | grep -iE "sleep|wake|maintenance" | tail -50launchctl print gui/$UID/ai.openclaw.gateway | grep -E "state|last exit|runs"ابحث عن:
- حزمة واحدة أو أكثر من حزم
*-uncaught_exception.jsonفي~/.openclaw/logs/stability/مع ضبطerror.codeعلى رمز شبكة عابر مثلENETDOWNأوENETUNREACHأوEHOSTUNREACHأوECONNREFUSED. - أسطر
pmset -g logمثلEntering Sleep state due to 'Maintenance Sleep'أوen0 driver is slow (msg: WillChangeState to 0)متزامنة مع الطوابع الزمنية للأعطال. يؤدي Power Nap / Maintenance Sleep لفترة وجيزة إلى وضع برنامج تشغيل Wi-Fi في الحالة 0؛ ويمكن أن يفشل أيconnect()صادر يقع ضمن تلك النافذة معENETDOWNحتى على مضيف يتمتع بخلاف ذلك باتصال كامل بالشبكة. - مخرجات
launchctl printالتي تعرضstate = not runningمع عدةrunsحديثة ورمز خروج، خصوصًا عندما تكون الفجوة بين العطل والتشغيل التالي في حدود ساعة بدلًا من ثوانٍ. يطبق launchd في macOS بوابة غير موثقة للحماية من إعادة التشغيل بعد سلسلة من الأعطال، وقد تتوقف عن احترامKeepAlive=trueإلى أن يعيد مُشغّل خارجي تفعيلها، مثل تسجيل الدخول التفاعلي أو اتصال لوحة المعلومات أوlaunchctl kickstart.
الأنماط الشائعة:
- حزمة استقرار تكون فيها
error.codeهيENETDOWNأو رمزًا مماثلًا، مع توجيه مكدس الاستدعاءات إلى NodenetlookupAndConnect/Socket.connect. يصنّف OpenClaw2026.5.26والإصدارات الأحدث هذه الأخطاء على أنها أخطاء شبكة عابرة غير ضارة، ولذلك لم تعد تنتقل إلى معالج الاستثناءات غير الملتقطة ذي المستوى الأعلى؛ إذا كان الإصدار المستخدم أقدم، فقم بالترقية أولًا. - فترات صمت طويلة تنتهي لحظة الاتصال بواجهة التحكم أو الاتصال بالمضيف عبر SSH: نشاط المستخدم المرئي هو ما يعيد تفعيل بوابة إعادة التشغيل في launchd، وليس أي إجراء تنفذه لوحة المعلومات على Gateway.
- تزايد عدد
runsعلى مدار اليوم دون وجود سطرreceived SIG*; shutting downمقابل في~/Library/Logs/openclaw/gateway.log: تسجل عمليات إيقاف التشغيل السليمة إشارة؛ أما الأعطال العابرة فلا تفعل ذلك.
ما يجب فعله:
-
رقِّ Gateway إذا كنت تستخدم إصدارًا يسبق
2026.5.26. بعد الترقية، ستُسجّل أخطاءENETDOWNالمستقبلية على هيئة تحذيرات بدلًا من إنهاء العملية. -
قلّل نشاط سكون الصيانة على مضيفات Mac mini / سطح المكتب المخصصة للعمل كخوادم دائمة التشغيل:
bash sudo pmset -a sleep 0 disksleep 0 standby 0 powernap 0يقلل هذا بدرجة كبيرة من تقلب برنامج التشغيل الأساسي، لكنه لا يزيله بالكامل. قد يظل النظام ينفذ بعض عمليات سكون الصيانة للحفاظ على اتصال TCP وصيانة mDNS بغض النظر عن هذه العلامات.
-
أضف مراقبًا للحيوية حتى تُكتشف بسرعة أي سلسلة أعطال مستقبلية يوقفها launchd:
bash # مثال لفحص الحيوية المدرك لـ launchd، مناسب لمهمة cron أو LaunchAgent تعمل كل 5 دقائقstate=$(launchctl print gui/$UID/ai.openclaw.gateway 2>/dev/null | awk -F'= ' '/state =/ {print $2; exit}')if [ "$state" != "running" ]; then launchctl kickstart -k gui/$UID/ai.openclaw.gatewayfiالهدف هو إعادة تفعيل بوابة إعادة التشغيل خارجيًا؛ لا يكفي
KeepAlive=trueوحده على macOS بعد سلسلة من الأعطال.
موضوعات ذات صلة:
حلقة مشرف launchd في macOS مع وحدات LaunchAgent مكررة لـ Gateway/node
استخدم هذا عندما تستمر عملية تثبيت على macOS في إعادة التشغيل كل بضع ثوانٍ، وتتقلب فحوصات صحة openclaw
بين حالة سليمة وغير متاحة، ويتوقف إرسال القنوات
على الرغم من أن الخدمة تبدو قيد التشغيل.
لوحظ هذا في عمليات التثبيت القديمة حيث كان كل من ai.openclaw.gateway و
ai.openclaw.node من وحدات LaunchAgent نشطًا، وكان كل منهما يحقن
OPENCLAW_LAUNCHD_LABEL. في هذه الحالة، يمكن لـ OpenClaw اكتشاف إشراف launchd
ومحاولة إعادة تسليم مسؤولية إعادة التشغيل إلى launchd، ثم الوقوع في حلقة سريعة من
EADDRINUSE/إعادة التشغيل بدلًا من تشغيل عملية Gateway مستقرة واحدة.
for i in 1 2 3 4; do ps aux | grep 'openclaw.*index.js' | grep -v grep | awk '{print $2}' sleep 10done openclaw gateway status --deepopenclaw node statuslaunchctl print gui/$UID/ai.openclaw.gateway | grep -E 'state|last exit|runs'tail -n 80 ~/Library/Logs/openclaw/gateway.logابحث عن:
- أكثر من معرّف PID واحد لـ Gateway خلال العينة التي مدتها 30 ثانية بدلًا من عملية مستقرة واحدة.
EADDRINUSEأوanother gateway instance is already listeningأو أسطر متكررة لإعادة التشغيل/التسليم فيgateway.log.- تحميل كل من
~/Library/LaunchAgents/ai.openclaw.gateway.plistو~/Library/LaunchAgents/ai.openclaw.node.plistفي الوقت نفسه على مضيف يُفترض أن يشغّل خدمة Gateway مُدارة واحدة فقط.
ما يجب فعله:
-
إذا كان يُفترض أن يشغّل هذا المضيف خدمة Gateway فقط، فأزل خدمة node المُدارة من خلال OpenClaw. تخطَّ هذه الخطوة إذا كنت تعتمد فعليًا على خدمة node لميزات node البعيدة؛ إذ يؤدي إلغاء تثبيتها إلى إيقاف تلك الميزات على هذا المضيف:
bash openclaw node uninstall -
ثبّت غلافًا دائمًا لـ Gateway يمسح علامات launchd الموروثة قبل بدء OpenClaw. استخدم خيار
--wrapperالمدعوم؛ ولا تعدّل الملف المُنشأ ضمن~/.openclaw/service-env/، لأن إعادة تثبيت الخدمة والتحديث وإصلاح Doctor تعيد إنشاء ذلك الملف:bash mkdir -p ~/.local/bincat >~/.local/bin/openclaw-launchd-workaround <<'EOF'#!/bin/shset -euunset OPENCLAW_LAUNCHD_LABEL LAUNCH_JOB_LABEL LAUNCH_JOB_NAME XPC_SERVICE_NAME || trueexec openclaw "$@"EOFchmod 700 ~/.local/bin/openclaw-launchd-workaround openclaw gateway install \ --wrapper ~/.local/bin/openclaw-launchd-workaround \ --forceيحافظ
gateway installعلى مسار الغلاف عبر عمليات إعادة التثبيت الإجبارية والتحديثات وإصلاحات Doctor. -
تحقق من أن Gateway مستقر ويخدم RPC، وليس مجرد الاستماع:
bash openclaw gateway status --deep --require-rpc for i in 1 2 3 4; do ps aux | grep 'openclaw.*index.js' | grep -v grep | awk '{print $2}' sleep 10doneيجب أن تعرض عينة PID عملية مستقرة واحدة بدلًا من مجموعة متبدلة من معرّفات PID، ويجب أن يُستأنف إرسال القنوات الواردة.
-
بعد الترقية إلى إصدار أُصلحت فيه حلقة LaunchAgent المزدوجة الأساسية، أزل الحل البديل وأعد تثبيت الخدمة المُدارة العادية:
bash OPENCLAW_WRAPPER= openclaw gateway install --forcerm ~/.local/bin/openclaw-launchd-workaround
موضوعات ذات صلة:
خروج Gateway أثناء الاستخدام المرتفع للذاكرة
استخدم هذا عندما يختفي Gateway تحت الحمل، أو يُبلغ المشرف عن إعادة تشغيل على نمط OOM، أو تشير السجلات إلى critical memory pressure bundle written.
openclaw gateway status --deepopenclaw logs --followopenclaw gateway stability --bundle latestopenclaw gateway diagnostics exportابحث عن:
Reason: diagnostic.memory.pressure.criticalفي أحدث حزمة استقرار.Memory pressure:معcritical/rss_thresholdأوcritical/heap_thresholdأوcritical/rss_growth.- قيم
V8 heap:قريبة من حد الكومة. - إدخالات
Largest session files:مثلagents/<agent>/sessions/<session>.jsonlأوsessions/<session>.jsonl. - عدادات ذاكرة cgroup في Linux عندما يعمل Gateway داخل حاوية أو خدمة محدودة الذاكرة.
الأنماط الشائعة:
- يظهر
critical memory pressure bundle writtenقبل إعادة التشغيل بوقت قصير ← التقط OpenClaw حزمة استقرار قبل OOM. افحصها باستخدامopenclaw gateway stability --bundle latest. - يظهر
memory pressure: level=critical ... memoryPressureSnapshot=disabledفي سجلات Gateway ← اكتشف OpenClaw ضغطًا حرجًا على الذاكرة، لكن لقطة الاستقرار قبل OOM معطلة. - يشير
Largest session files:إلى مسار نص جلسة منقّح كبير جدًا ← قلّل سجل الجلسة المحتفظ به، أو افحص نمو الجلسة، أو انقل النصوص القديمة خارج المخزن النشط قبل إعادة التشغيل. - البايتات المستخدمة في
V8 heap:قريبة من حد الكومة ← خفّض ضغط المطالبات/الجلسات، أو قلّل العمل المتزامن، أو ارفع حد كومة Node فقط بعد التأكد من أن عبء العمل متوقع. Memory pressure: critical/rss_growth← نمت الذاكرة بسرعة ضمن نافذة أخذ عينات واحدة. افحص أحدث السجلات بحثًا عن عملية استيراد كبيرة، أو مخرجات أدوات منفلتة، أو محاولات متكررة، أو دفعة من أعمال الوكلاء الموضوعة في قائمة الانتظار.- يظهر ضغط حرج على الذاكرة في السجلات لكن لا توجد حزمة ← هذا هو الإعداد الافتراضي. اضبط
diagnostics.memoryPressureSnapshot: trueلالتقاط حزمة الاستقرار قبل OOM عند أحداث ضغط الذاكرة الحرج المستقبلية.
حزمة الاستقرار خالية من الحمولة. وهي تتضمن أدلة تشغيلية عن الذاكرة ومسارات ملفات نسبية منقّحة، لا نصوص الرسائل أو أجسام Webhook أو بيانات الاعتماد أو الرموز المميزة أو ملفات تعريف الارتباط أو معرّفات الجلسات الأولية. أرفق تصدير التشخيصات بتقارير الأخطاء بدلًا من نسخ السجلات الأولية.
موضوعات ذات صلة:
رفض Gateway إعدادًا غير صالح
استخدم هذا عندما يفشل بدء تشغيل Gateway مع Invalid config أو عندما تشير سجلات إعادة التحميل الفوري إلى تخطي تعديل غير صالح.
openclaw logs --followopenclaw config fileopenclaw config validateopenclaw doctorابحث عن:
Invalid config at ...config reload skipped (invalid config): ...Config write rejected: ...- ملف
openclaw.json.rejected.*مزوّد بطابع زمني بجوار الإعداد النشط. - ملف
openclaw.json.clobbered.*مزوّد بطابع زمني إذا أصلحdoctor --fixتعديلًا مباشرًا معطوبًا. - يحتفظ OpenClaw بأحدث 32 ملفًا من ملفات
.clobbered.*لكل مسار إعداد ويدوّر الملفات الأقدم.
ما الذي حدث
- لم يجتز الإعداد التحقق أثناء بدء التشغيل أو إعادة التحميل الفوري أو عملية كتابة يملكها OpenClaw.
- يفشل بدء تشغيل Gateway في وضع مغلق بدلًا من إعادة كتابة
openclaw.json. - تتخطى إعادة التحميل الفوري التعديلات الخارجية غير الصالحة وتُبقي إعداد وقت التشغيل الحالي نشطًا.
- ترفض عمليات الكتابة التي يملكها OpenClaw الحمولات غير الصالحة/الهدامة قبل الالتزام وتحفظ
.rejected.*. - يتولى
openclaw doctor --fixالإصلاح. ويمكنه إزالة البادئات غير التابعة لـ JSON أو استعادة آخر نسخة سليمة معروفة مع الاحتفاظ بالحمولة المرفوضة باسم.clobbered.*. - عند حدوث إصلاحات كثيرة لمسار إعداد واحد، يدوّر OpenClaw ملفات
.clobbered.*الأقدم حتى تظل أحدث حمولة تم إصلاحها متاحة.
الفحص والإصلاح
CONFIG="$(openclaw config file)"ls -lt "$CONFIG".clobbered.* "$CONFIG".rejected.* 2>/dev/null | headdiff -u "$CONFIG" "$(ls -t "$CONFIG".clobbered.* 2>/dev/null | head -n 1)"openclaw config validateopenclaw doctorالعلامات الشائعة
.clobbered.*موجود → احتفظ doctor بتعديل خارجي معطّل أثناء إصلاح الإعداد النشط..rejected.*موجود → فشلت عملية كتابة إعداد مملوكة لـ OpenClaw في فحوصات المخطط أو الاستبدال قبل الإيداع.Config write rejected:→ حاولت عملية الكتابة إسقاط البنية المطلوبة، أو تقليص الملف بشدة، أو حفظ إعداد غير صالح.config reload skipped (invalid config):→ فشل التحقق من صحة تعديل مباشر وتجاهله Gateway قيد التشغيل.Invalid config at ...→ فشل بدء التشغيل قبل تشغيل خدمات Gateway.missing-meta-vs-last-goodأوgateway-mode-missing-vs-last-goodأوsize-drop-vs-last-good:*→ رُفضت عملية كتابة مملوكة لـ OpenClaw لأنها فقدت حقولًا أو حجمًا مقارنةً بآخر نسخة احتياطية سليمة معروفة.Config last-known-good promotion skipped→ احتوى الإعداد المرشح على عناصر نائبة لأسرار منقّحة مثل***.
خيارات الإصلاح
- شغّل
openclaw doctor --fixللسماح لـ doctor بإصلاح الإعداد ذي البادئة أو المستبدَل، أو استعادة آخر إعداد سليم معروف. - انسخ المفاتيح المقصودة فقط من
.clobbered.*أو.rejected.*، ثم طبّقها باستخدامopenclaw config setأوconfig.patch. - شغّل
openclaw config validateقبل إعادة التشغيل. - إذا عدّلت يدويًا، فاحتفظ بإعداد JSON5 كاملًا، وليس فقط بالكائن الجزئي الذي أردت تغييره.
مواضيع ذات صلة:
تحذيرات فحص Gateway
استخدم هذا عندما يصل openclaw gateway probe إلى شيء ما، لكنه يظل يطبع كتلة تحذير.
openclaw gateway probeopenclaw gateway probe --jsonopenclaw gateway probe --ssh user@gateway-hostابحث عن:
warnings[].codeوprimaryTargetIdفي مخرجات JSON.- ما إذا كان التحذير متعلقًا بالرجوع إلى SSH، أو تعدد بوابات Gateway، أو النطاقات المفقودة، أو مراجع المصادقة غير المحلولة.
العلامات الشائعة:
SSH tunnel failed to start; falling back to direct probes.→ فشل إعداد SSH، لكن الأمر ظل يحاول الاتصال بالأهداف المباشرة المضبوطة أو أهداف الاسترجاع الحلقي.multiple reachable gateway identities detected→ استجابت بوابات Gateway مختلفة، أو تعذّر على OpenClaw إثبات أن الأهداف التي يمكن الوصول إليها هي Gateway نفسها. يُعامل نفق SSH أو عنوان URL للوكيل أو عنوان URL بعيد مضبوط يؤدي إلى Gateway نفسها باعتباره Gateway واحدة ذات وسائل نقل متعددة، حتى عندما تختلف منافذ النقل.Read-probe diagnostics are limited by gateway scopes (missing operator.read)→ نجح الاتصال، لكن RPC التفصيلي مقيّد بالنطاق؛ أقرن هوية الجهاز أو استخدم بيانات اعتماد تتضمنoperator.read.Gateway accepted the WebSocket connection, but follow-up read diagnostics failed→ نجح الاتصال، لكن انتهت مهلة مجموعة RPC التشخيصية الكاملة أو فشلت. تعامل مع هذا بوصفه Gateway يمكن الوصول إليها لكن تشخيصاتها متدهورة؛ قارنconnect.okوconnect.rpcOkفي مخرجات--json.Capability: pairing-pendingأوgateway closed (1008): pairing required→ استجابت Gateway، لكن هذا العميل لا يزال يحتاج إلى الإقران أو الموافقة قبل وصول المشغّل المعتاد.- نص تحذير SecretRef غير المحلول لـ
gateway.auth.*/gateway.remote.*→ لم تكن مواد المصادقة متاحة في مسار الأمر هذا للهدف الذي فشل.
مواضيع ذات صلة:
القناة متصلة لكن الرسائل لا تتدفق
إذا كانت حالة القناة متصلة لكن تدفق الرسائل متوقف، فركّز على السياسة والأذونات وقواعد التسليم الخاصة بالقناة.
openclaw channels status --probeopenclaw pairing list --channel <channel> [--account <id>]openclaw status --deepopenclaw logs --followopenclaw config get channelsابحث عن:
- سياسة الرسائل المباشرة (
pairingوallowlistوopenوdisabled). - قائمة السماح للمجموعات ومتطلبات الإشارة.
- أذونات أو نطاقات API المفقودة للقناة.
العلامات الشائعة:
mention required→ جرى تجاهل الرسالة بسبب سياسة الإشارة في المجموعة.pairing/ آثار الموافقة المعلّقة → المرسِل غير معتمد.missing_scopeوnot_in_channelوForbiddenو401/403→ مشكلة في مصادقة القناة أو أذوناتها.
مواضيع ذات صلة:
تسليم Cron وHeartbeat
إذا لم يعمل Cron أو Heartbeat أو لم يسلّم، فتحقق أولًا من حالة المجدول، ثم من هدف التسليم.
openclaw cron statusopenclaw cron listopenclaw cron runs --id <jobId> --limit 20openclaw system heartbeat lastopenclaw logs --followابحث عن:
- تمكين Cron ووجود وقت التنبيه التالي.
- حالة سجل تشغيل المهمة (
okوskippedوerror). - أسباب تخطي Heartbeat (
quiet-hoursوrequests-in-flightوcron-in-progressوlanes-busyوalerts-disabledوempty-heartbeat-fileوno-tasks-due).
العلامات الشائعة
cron: scheduler disabled; jobs will not run automatically→ Cron معطّل.cron: timer tick failed→ فشلت نبضة المجدول؛ تحقق من أخطاء الملف أو السجل أو بيئة التشغيل.heartbeat skippedمعreason=quiet-hours→ خارج نافذة الساعات النشطة.heartbeat skippedمعreason=empty-heartbeat-file→ يوجدHEARTBEAT.mdلكنه لا يحتوي إلا على بنية أولية فارغة، أو تعليق، أو عنوان، أو سياج، أو قائمة تحقق فارغة، لذلك يتخطى OpenClaw استدعاء النموذج.heartbeat skippedمعreason=no-tasks-due→ يحتويHEARTBEAT.mdعلى كتلةtasks:، لكن لا يحين موعد أي من المهام في هذه النبضة.heartbeat: unknown accountId→ معرّف حساب غير صالح لهدف تسليم Heartbeat.heartbeat skippedمعreason=dm-blocked→ تحوّل هدف Heartbeat إلى وجهة بنمط الرسائل المباشرة بينما ضُبطagents.defaults.heartbeat.directPolicy(أو التجاوز الخاص بالوكيل) علىblock.
مواضيع ذات صلة:
Node مقترنة لكن الأداة تفشل
إذا كانت Node مقترنة لكن الأدوات تفشل، فاعزل حالة الواجهة الأمامية والأذونات والموافقة.
openclaw nodes statusopenclaw nodes describe --node <idOrNameOrIp>openclaw approvals get --node <idOrNameOrIp>openclaw logs --followopenclaw statusابحث عن:
- اتصال Node بالإنترنت مع الإمكانات المتوقعة.
- منح أذونات نظام التشغيل للكاميرا والميكروفون والموقع والشاشة.
- موافقات التنفيذ وحالة قائمة السماح.
العلامات الشائعة:
NODE_BACKGROUND_UNAVAILABLE→ يجب أن يكون تطبيق Node في الواجهة الأمامية.*_PERMISSION_REQUIRED/LOCATION_PERMISSION_REQUIRED→ إذن نظام تشغيل مفقود.SYSTEM_RUN_DENIED: approval required→ موافقة التنفيذ معلّقة.SYSTEM_RUN_DENIED: allowlist miss→ الأمر محظور بواسطة قائمة السماح.
مواضيع ذات صلة:
أداة المتصفح تفشل
استخدم هذا عندما تفشل إجراءات أداة المتصفح رغم سلامة Gateway نفسها.
openclaw browser statusopenclaw browser start --browser-profile openclawopenclaw browser profilesopenclaw logs --followopenclaw doctorابحث عن:
- ما إذا كان
plugins.allowمضبوطًا ويتضمنbrowser. - مسار صالح لملف المتصفح التنفيذي.
- إمكانية الوصول إلى ملف تعريف CDP.
- توفر Chrome محليًا لملفات تعريف
existing-session/user.
علامات Plugin / الملف التنفيذي
unknown command "browser"أوunknown command 'browser'→ يستبعدplugins.allowPlugin المتصفح المضمّن.- أداة المتصفح مفقودة / غير متاحة بينما
browser.enabled=true→ يستبعدplugins.allowالقيمةbrowser، لذلك لم يُحمّل Plugin مطلقًا. Failed to start Chrome CDP on port→ فشل تشغيل عملية المتصفح.browser.executablePath not found→ المسار المضبوط غير صالح.browser.cdpUrl must be http(s) or ws(s)→ يستخدم عنوان URL المضبوط لـ CDP مخططًا غير مدعوم مثلfile:أوftp:.browser.cdpUrl has invalid port→ يحتوي عنوان URL المضبوط لـ CDP على منفذ غير صالح أو خارج النطاق.Playwright is not available in this gateway build; '<feature>' is unsupported.→ يفتقر تثبيت Gateway الحالي إلى تبعية بيئة تشغيل المتصفح الأساسية؛ أعد تثبيت OpenClaw أو حدّثه، ثم أعد تشغيل Gateway. يمكن أن تظل لقطات ARIA ولقطات الصفحة الأساسية تعمل، لكن يبقى التنقل ولقطات الذكاء الاصطناعي ولقطات العناصر باستخدام محددات CSS وتصدير PDF غير متاحة.
علامات Chrome MCP / الجلسة الحالية
Could not find DevToolsActivePort for chrome→ لم تتمكن جلسة Chrome MCP الحالية بعد من الاتصال بدليل بيانات المتصفح المحدد. افتح صفحة فحص المتصفح، وفعّل تصحيح الأخطاء عن بُعد، وأبقِ المتصفح مفتوحًا، ووافق على أول مطالبة اتصال، ثم أعد المحاولة. إذا لم تكن حالة تسجيل الدخول مطلوبة، ففضّل ملف التعريف المُدارopenclaw.No browser tabs found for profile="user"→ لا يحتوي ملف تعريف اتصال Chrome MCP على علامات تبويب Chrome محلية مفتوحة.Remote CDP for profile "<name>" is not reachable→ لا يمكن الوصول إلى نقطة نهاية CDP البعيدة المضبوطة من مضيف Gateway.Browser attachOnly is enabled ... not reachableأوBrowser attachOnly is enabled and CDP websocket ... is not reachable→ لا يحتوي ملف التعريف المخصص للاتصال فقط على هدف يمكن الوصول إليه، أو استجابت نقطة نهاية HTTP لكن تعذّر فتح WebSocket الخاص بـ CDP.
علامات العنصر / لقطة الشاشة / الرفع
fullPage is not supported for element screenshots→ مزج طلب لقطة الشاشة--full-pageمع--refأو--element.element screenshots are not supported for existing-session profiles; use ref from snapshot.→ يجب أن تستخدم استدعاءات لقطات الشاشة في Chrome MCP /existing-sessionالتقاط الصفحة أو--refمن لقطة، وليس--elementفي CSS.existing-session file uploads do not support element selectors; use ref/inputRef.→ تحتاج خطافات الرفع في Chrome MCP إلى مراجع اللقطات، لا محددات CSS.existing-session file uploads currently support one file at a time.→ أرسل عملية رفع واحدة لكل استدعاء في ملفات تعريف Chrome MCP.existing-session dialog handling does not support timeoutMs.→ لا تدعم خطافات مربعات الحوار في ملفات تعريف Chrome MCP تجاوزات المهلة.existing-session type does not support timeoutMs overrides.→ احذفtimeoutMsمنact:typeفي ملفات تعريفprofile="user"/ جلسة Chrome MCP الحالية، أو استخدم ملف تعريف متصفح مُدارًا أو CDP عندما تكون مهلة مخصصة مطلوبة.response body is not supported for existing-session profiles yet.→ لا يزالresponsebodyيتطلب متصفحًا مُدارًا أو ملف تعريف CDP خامًا.- تجاوزات قديمة لإطار العرض أو الوضع الداكن أو الإعدادات المحلية أو وضع عدم الاتصال في ملفات التعريف المخصصة للاتصال فقط أو ملفات تعريف CDP البعيدة → شغّل
openclaw browser stop --browser-profile <name>لإغلاق جلسة التحكم النشطة وتحرير حالة محاكاة Playwright/CDP من دون إعادة تشغيل Gateway بأكملها.
مواضيع ذات صلة:
إذا أجريت ترقية وتعطّل شيء فجأة
تنتج معظم الأعطال بعد الترقية عن انحراف الإعداد أو بدء فرض إعدادات افتراضية أكثر صرامة.
1. تغيّر سلوك المصادقة وتجاوز عنوان URL
openclaw gateway statusopenclaw config get gateway.modeopenclaw config get gateway.remote.urlopenclaw config get gateway.auth.modeما يجب التحقق منه:
- إذا كان
gateway.mode=remote، فقد تستهدف استدعاءات CLI جهة بعيدة بينما تعمل خدمتك المحلية بصورة سليمة. - لا تعود استدعاءات
--urlالصريحة إلى بيانات الاعتماد المخزنة كخيار احتياطي.
الدلالات الشائعة:
gateway connect failed:← عنوان URL المستهدف غير صحيح.unauthorized← نقطة النهاية قابلة للوصول، لكن المصادقة غير صحيحة.
2. أصبحت ضوابط الربط والمصادقة أكثر صرامة
openclaw config get gateway.bindopenclaw config get gateway.auth.modeopenclaw config get gateway.auth.tokenopenclaw gateway statusopenclaw logs --followما يجب التحقق منه:
- تتطلب عمليات الربط بواجهات غير استرجاعية (
lan،tailnet،custom) مسار مصادقة صالحًا لـ Gateway: مصادقة برمز مميز/كلمة مرور مشتركة، أو نشرtrusted-proxyغير استرجاعي ومهيأ بصورة صحيحة. - لا تحل المفاتيح القديمة مثل
gateway.tokenمحلgateway.auth.token.
الدلالات الشائعة:
refusing to bind gateway ... without auth← ربط بواجهة غير استرجاعية من دون مسار مصادقة صالح لـ Gateway.Connectivity probe: failedأثناء تشغيل وقت التشغيل ← Gateway يعمل، لكن لا يمكن الوصول إليه باستخدام المصادقة/عنوان URL الحاليين.
3. تغيّرت حالة الاقتران وهوية الجهاز
openclaw devices listopenclaw pairing list --channel <channel> [--account <id>]openclaw logs --followopenclaw doctorما يجب التحقق منه:
- موافقات الأجهزة المعلّقة للوحة المعلومات/العُقد.
- موافقات اقتران الرسائل المباشرة المعلّقة بعد تغييرات السياسة أو الهوية.
الدلالات الشائعة:
device identity required← لم تُستوفَ مصادقة الجهاز.pairing required← يجب اعتماد المرسل/الجهاز.
إذا ظل إعداد الخدمة ووقت التشغيل غير متوافقين بعد عمليات التحقق، فأعد تثبيت بيانات الخدمة الوصفية من دليل الملف الشخصي/الحالة نفسه:
openclaw gateway install --forceopenclaw gateway restartموضوعات ذات صلة: