Skip to main content

دليل تشغيل خدمة Gateway

Deep troubleshooting

دليل إعداد موجه حسب المهام + مرجع إعدادات كامل.

Configuration

Task-oriented setup guide + full configuration reference.

تشغيل محلي خلال 5 دقائق

1

Start the Gateway

2

Verify service health

خط أساس سليم: Runtime: running و RPC probe: ok.
3

Validate channel readiness

تراقب إعادة تحميل إعدادات Gateway مسار ملف الإعداد النشط (المحدد من افتراضات الملف الشخصي/الحالة، أو OPENCLAW_CONFIG_PATH عند تعيينه). الوضع الافتراضي: gateway.reload.mode="hybrid" (تطبيق فوري للتغييرات الآمنة، وإعادة تشغيل عند الحرجة).

نموذج وقت التشغيل

  • عملية واحدة تعمل دائمًا للتوجيه، ومستوى التحكم، واتصالات القنوات.
  • تعدد الإرسال على منفذ واحد.
    • WebSocket للتحكم/RPC
    • OpenResponses (HTTP): /v1/responses.
    • واجهة تحكم ويب وخطافات
  • وضع الربط الافتراضي: loopback.
  • يتطلب توثيق Gateway افتراضيًا: اضبط gateway.auth.token (أو OPENCLAW_GATEWAY_TOKEN) أو gateway.auth.password.

أولوية المنفذ والربط

أوضاع إعادة التحميل السريع

مجموعة أوامر المشغّل

الوصول عن بُعد

يُفضَّل Tailscale/VPN؛ وإلا فنفق SSH: خيار احتياطي: نفق SSH.
يتصل العملاء بعد ذلك بـ ws://127.0.0.1:18789 عبر النفق.
إذا تمت تهيئة مصادقة gateway، فلا يزال يتعين على العملاء إرسال بيانات المصادقة (token/password) حتى عبر أنفاق SSH.
انظر: Remote Gateway، Authentication، Tailscale.

الإشراف ودورة حياة الخدمة

استخدم التشغيل تحت الإشراف لموثوقية شبيهة ببيئات الإنتاج.
تسميات LaunchAgent هي ai.openclaw.gateway (الافتراضي) أو ai.openclaw.<profile> (ملف شخصي مُسمّى). يقوم openclaw doctor بتدقيق وإصلاح انحراف إعدادات الخدمة.

بوابات متعددة (على المضيف نفسه)

غالبًا غير ضروري: يمكن لـ Gateway واحدة خدمة قنوات مراسلة ووكلاء متعددين. استخدم بوابات متعددة فقط للتكرار أو العزل الصارم (مثل: روبوت إنقاذ). Checklist per instance:
  • gateway.port فريد
  • OPENCLAW_CONFIG_PATH فريد
  • OPENCLAW_STATE_DIR فريد
  • agents.defaults.workspace فريد
مثال:
الدليل الكامل: بوابات متعددة.

مسار سريع لملف تعريف التطوير

تتضمن الإعدادات الافتراضية حالة/إعدادات معزولة ومنفذ gateway أساسي 19001.

البروتوكول (منظور المشغّل)

  • يجب أن يكون أول إطار من العميل هو connect.
  • يعيد Gateway لقطة hello-ok (presence، health، stateVersion، uptimeMs، الحدود/السياسة).
  • الطلبات: {type:"req", id, method, params}{type:"res", id, ok, payload|error}
  • الأحداث الشائعة: connect.challenge، agent، chat، presence، tick، health، heartbeat، shutdown.
تشغيل الوكيل يتم على مرحلتين:
  1. إقرار فوري بالقبول (status:"accepted")
  2. استجابات agent على مرحلتين: أولًا تأكيد res {runId,status:"accepted"}، ثم res {runId,status:"ok"|"error",summary} النهائي بعد انتهاء التشغيل؛ ويصل الخرج المتدفق كـ event:"agent".
الوثائق الكاملة: بروتوكول Gateway وبروتوكول Bridge (قديم).

فحوصات تشغيلية

التحقق من الحيوية (Liveness)

  • الحيوية: افتح WS وأرسل req:connect → توقّع res مع payload.type="hello-ok" (مع لقطة).
  • توقّع استجابة hello-ok مع لقطة (snapshot).

الجاهزية

استعادة الفجوات

لا تتم إعادة تشغيل الأحداث. عند وجود فجوات في التسلسل، حدّث الحالة (health, system-presence) قبل المتابعة.

أنماط الأعطال الشائعة

للحصول على مسارات تشخيص كاملة، استخدم Gateway Troubleshooting.

ضمانات السلامة

  • لا يوجد مسار بديل لاتصالات Baileys المباشرة؛ إذا كانت Gateway متوقفة، تفشل عمليات الإرسال سريعًا.
  • تُرفَض الإطارات الأولى غير المتصلة أو JSON المشوّه ويُغلق المقبس.
  • إيقاف رشيق: بث حدث shutdown قبل الإغلاق؛ يجب على العملاء التعامل مع الإغلاق + إعادة الاتصال.

ذات صلة: