دليل تشغيل خدمة Gateway
Deep troubleshooting
دليل إعداد موجه حسب المهام + مرجع إعدادات كامل.
Configuration
Task-oriented setup guide + full configuration reference.
تشغيل محلي خلال 5 دقائق
تراقب إعادة تحميل إعدادات 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.
أولوية المنفذ والربط
| الإعداد | ترتيب الحل |
|---|---|
المنفذ الأساسي = gateway.port (أو OPENCLAW_GATEWAY_PORT / --port) | أسبقية المنفذ: --port > OPENCLAW_GATEWAY_PORT > gateway.port > الافتراضي 18789. |
| وضع الربط | CLI/override ← gateway.bind ← loopback |
أوضاع إعادة التحميل السريع
التعطيل باستخدام gateway.reload.mode="off". | سلوك الإبقاء حيًا |
|---|---|
off | بدون إعادة تحميل للإعدادات |
hot | تطبيق التغييرات الآمنة للتحميل السريع فقط |
restart | إعادة التشغيل عند التغييرات التي تتطلب إعادة تحميل |
hybrid (الافتراضي) | تطبيق سريع عند الأمان، وإعادة تشغيل عند الحاجة |
مجموعة أوامر المشغّل
الوصول عن بُعد
يُفضَّل Tailscale/VPN؛ وإلا فنفق SSH: خيار احتياطي: نفق SSH.ws://127.0.0.1:18789 عبر النفق.
انظر: Remote Gateway، Authentication، Tailscale.
الإشراف ودورة حياة الخدمة
استخدم التشغيل تحت الإشراف لموثوقية شبيهة ببيئات الإنتاج.- macOS (launchd)
- Linux (systemd user)
- Linux (system service)
ai.openclaw.gateway (الافتراضي) أو ai.openclaw.<profile> (ملف شخصي مُسمّى). يقوم openclaw doctor بتدقيق وإصلاح انحراف إعدادات الخدمة.بوابات متعددة (على المضيف نفسه)
غالبًا غير ضروري: يمكن لـ Gateway واحدة خدمة قنوات مراسلة ووكلاء متعددين. استخدم بوابات متعددة فقط للتكرار أو العزل الصارم (مثل: روبوت إنقاذ). Checklist per instance:gateway.portفريدOPENCLAW_CONFIG_PATHفريدOPENCLAW_STATE_DIRفريدagents.defaults.workspaceفريد
مسار سريع لملف تعريف التطوير
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.
- إقرار فوري بالقبول (
status:"accepted") - استجابات
agentعلى مرحلتين: أولًا تأكيدres{runId,status:"accepted"}، ثمres{runId,status:"ok"|"error",summary}النهائي بعد انتهاء التشغيل؛ ويصل الخرج المتدفق كـevent:"agent".
فحوصات تشغيلية
التحقق من الحيوية (Liveness)
- الحيوية: افتح WS وأرسل
req:connect→ توقّعresمعpayload.type="hello-ok"(مع لقطة). - توقّع استجابة
hello-okمع لقطة (snapshot).
الجاهزية
استعادة الفجوات
لا تتم إعادة تشغيل الأحداث. عند وجود فجوات في التسلسل، حدّث الحالة (health, system-presence) قبل المتابعة.
أنماط الأعطال الشائعة
| النمط | المشكلة المحتملة |
|---|---|
refusing to bind gateway ... without auth` | محاولة الربط بواجهة غير loopback دون رمز/كلمة مرور |
another gateway instance is already listening / EADDRINUSE | تعارض في المنفذ |
Gateway start blocked: set gateway.mode=local | تم ضبط الإعداد على وضع remote |
unauthorized أثناء الاتصال | عدم تطابق المصادقة بين العميل وGateway |
ضمانات السلامة
- لا يوجد مسار بديل لاتصالات Baileys المباشرة؛ إذا كانت Gateway متوقفة، تفشل عمليات الإرسال سريعًا.
- تُرفَض الإطارات الأولى غير المتصلة أو JSON المشوّه ويُغلق المقبس.
- إيقاف رشيق: بث حدث
shutdownقبل الإغلاق؛ يجب على العملاء التعامل مع الإغلاق + إعادة الاتصال.
ذات صلة: