Gateway
دليل تشغيل Gateway
استخدم هذه الصفحة لبدء تشغيل خدمة Gateway في اليوم الأول وعمليات اليوم الثاني.
تشخيصات تبدأ بالأعراض مع سلالم أوامر دقيقة وبصمات السجلات.
دليل إعداد موجه للمهام + مرجع إعدادات كامل.
عقد SecretRef، وسلوك لقطة وقت التشغيل، وعمليات الترحيل/إعادة التحميل.
قواعد الهدف/المسار الدقيقة لـ secrets apply وسلوك ملف تعريف المصادقة المعتمد على المراجع فقط.
بدء تشغيل محلي خلال 5 دقائق
بدء تشغيل Gateway
openclaw gateway --port 18789# debug/trace mirrored to stdioopenclaw gateway --port 18789 --verbose# force-kill listener on selected port, then startopenclaw gateway --forceالتحقق من صحة الخدمة
openclaw gateway statusopenclaw statusopenclaw logs --followخط الأساس السليم: Runtime: running، وConnectivity probe: ok، وCapability: ... التي تطابق ما تتوقعه. استخدم openclaw gateway status --require-rpc عندما تحتاج إلى إثبات RPC بنطاق القراءة، وليس مجرد قابلية الوصول.
التحقق من جاهزية القناة
openclaw channels status --probeمع Gateway قابل للوصول، يشغل هذا فحوصات قنوات مباشرة لكل حساب وعمليات تدقيق اختيارية. إذا كان Gateway غير قابل للوصول، يعود CLI إلى ملخصات قنوات مستندة إلى الإعدادات فقط بدلا من مخرجات الفحص المباشر.
نموذج وقت التشغيل
- عملية واحدة تعمل دائما للتوجيه، ومستوى التحكم، واتصالات القنوات.
- منفذ واحد متعدد الإرسال لـ:
- تحكم/RPC عبر WebSocket
- واجهات HTTP API، متوافقة مع OpenAI (
/v1/models،/v1/embeddings،/v1/chat/completions،/v1/responses،/tools/invoke) - واجهة التحكم والخطافات
- وضع الربط الافتراضي:
loopback. - المصادقة مطلوبة افتراضيا. تستخدم إعدادات السر المشترك
gateway.auth.token/gateway.auth.password(أوOPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD)، ويمكن لإعدادات الوكيل العكسي غيرloopbackاستخدامgateway.auth.mode: "trusted-proxy".
نقاط نهاية متوافقة مع OpenAI
أصبح سطح التوافق الأعلى أثرا في OpenClaw الآن هو:
GET /v1/modelsGET /v1/models/{id}POST /v1/embeddingsPOST /v1/chat/completionsPOST /v1/responses
لماذا تهم هذه المجموعة:
- تتحقق معظم تكاملات Open WebUI وLobeChat وLibreChat من
/v1/modelsأولا. - تتوقع كثير من مسارات RAG والذاكرة وجود
/v1/embeddings. - يفضل العملاء الأصليون للوكلاء بشكل متزايد
/v1/responses.
ملاحظة تخطيط:
/v1/modelsموجه للوكلاء أولا: يعيدopenclaw، وopenclaw/default، وopenclaw/<agentId>.openclaw/defaultهو الاسم المستعار المستقر الذي يرتبط دائما بالوكيل الافتراضي المضبوط.- استخدم
x-openclaw-modelعندما تريد تجاوز موفر/نموذج الخلفية؛ وإلا يبقى نموذج الوكيل المحدد العادي وإعداد التضمين الخاص به متحكمين.
تعمل كل هذه على منفذ Gateway الرئيسي وتستخدم حد مصادقة المشغل الموثوق نفسه كبقية واجهة Gateway HTTP API.
أسبقية المنفذ والربط
| الإعداد | ترتيب الحل |
|---|---|
| منفذ Gateway | --port → OPENCLAW_GATEWAY_PORT → gateway.port → 18789 |
| وضع الربط | CLI/override → gateway.bind → loopback |
تسجل خدمات Gateway المثبتة قيمة --port المحلولة في بيانات المشرف الوصفية. بعد تغيير gateway.port، شغل openclaw doctor --fix أو openclaw gateway install --force حتى يبدأ launchd/systemd/schtasks العملية على المنفذ الجديد.
يستخدم بدء تشغيل Gateway المنفذ والربط الفعالين نفسيهما عندما يزرع أصول
واجهة التحكم المحلية للروابط غير loopback. على سبيل المثال، --bind lan --port 3000
يزرع http://localhost:3000 وhttp://127.0.0.1:3000 قبل تشغيل
التحقق وقت التشغيل. أضف أي أصول متصفح بعيدة، مثل عناوين URL لوكيل HTTPS، إلى
gateway.controlUi.allowedOrigins صراحة.
أوضاع إعادة التحميل الساخن
gateway.reload.mode |
السلوك |
|---|---|
off |
لا توجد إعادة تحميل للإعدادات |
hot |
تطبيق التغييرات الآمنة ساخنا فقط |
restart |
إعادة التشغيل عند تغييرات تتطلب إعادة تحميل |
hybrid (افتراضي) |
تطبيق ساخن عندما يكون آمنا، وإعادة التشغيل عند اللزوم |
مجموعة أوامر المشغل
openclaw gateway statusopenclaw gateway status --deep # adds a system-level service scanopenclaw gateway status --jsonopenclaw gateway installopenclaw gateway restartopenclaw gateway stopopenclaw secrets reloadopenclaw logs --followopenclaw doctorgateway status --deep مخصص لاكتشاف خدمة إضافي (LaunchDaemons/وحدات نظام systemd/schtasks)،
وليس فحصا أعمق لصحة RPC.
عدة Gateways (المضيف نفسه)
يجب أن تشغل معظم عمليات التثبيت Gateway واحدا لكل جهاز. يمكن لـ Gateway واحد استضافة عدة وكلاء وقنوات.
لا تحتاج إلى عدة Gateways إلا عندما تريد العزل عمدا أو بوت إنقاذ.
فحوصات مفيدة:
openclaw gateway status --deepopenclaw gateway probeما يمكن توقعه:
- يمكن لـ
gateway status --deepالإبلاغ عنOther gateway-like services detected (best effort)وطباعة تلميحات تنظيف عندما تبقى تثبيتات launchd/systemd/schtasks قديمة. - يمكن لـ
gateway probeالتحذير منmultiple reachable gatewaysعندما يجيب أكثر من هدف واحد. - إذا كان ذلك مقصودا، فاعزل المنافذ والإعدادات/الحالة وجذور مساحات العمل لكل Gateway.
قائمة تحقق لكل مثيل:
gateway.portفريدOPENCLAW_CONFIG_PATHفريدOPENCLAW_STATE_DIRفريدagents.defaults.workspaceفريد
مثال:
OPENCLAW_CONFIG_PATH=~/.openclaw/a.json OPENCLAW_STATE_DIR=~/.openclaw-a openclaw gateway --port 19001OPENCLAW_CONFIG_PATH=~/.openclaw/b.json OPENCLAW_STATE_DIR=~/.openclaw-b openclaw gateway --port 19002الإعداد التفصيلي: /gateway/multiple-gateways.
الوصول البعيد
المفضل: Tailscale/VPN. الخيار الاحتياطي: نفق SSH.
ssh -N -L 18789:127.0.0.1:18789 user@hostثم وصّل العملاء محليا إلى ws://127.0.0.1:18789.
راجع: Gateway البعيد، المصادقة، Tailscale.
الإشراف ودورة حياة الخدمة
استخدم التشغيل تحت الإشراف لموثوقية شبيهة بالإنتاج.
macOS (launchd)
openclaw gateway installopenclaw gateway statusopenclaw gateway restartopenclaw gateway stopاستخدم openclaw gateway restart لإعادة التشغيل. لا تسلسل openclaw gateway stop وopenclaw gateway start كبديل لإعادة التشغيل.
على macOS، يستخدم gateway stop الأمر launchctl bootout افتراضيا — وهذا يزيل LaunchAgent من جلسة الإقلاع الحالية دون حفظ تعطيل دائم، لذلك يستمر الاسترداد التلقائي KeepAlive في العمل بعد الأعطال غير المتوقعة، ويعيد gateway start التمكين بنظافة. لكبت إعادة التشغيل التلقائي بشكل دائم عبر عمليات إعادة الإقلاع، مرر --disable: openclaw gateway stop --disable.
تسميات LaunchAgent هي ai.openclaw.gateway (افتراضي) أو ai.openclaw.<profile> (ملف شخصي مسمى). يدقق openclaw doctor انحراف إعدادات الخدمة ويصلحه.
Linux (systemd user)
openclaw gateway installsystemctl --user enable --now openclaw-gateway[-<profile>].serviceopenclaw gateway statusللاستمرارية بعد تسجيل الخروج، فعّل البقاء:
sudo loginctl enable-linger <user>مثال وحدة مستخدم يدوية عندما تحتاج إلى مسار تثبيت مخصص:
[Unit]Description=OpenClaw GatewayAfter=network-online.targetWants=network-online.target [Service]ExecStart=/usr/local/bin/openclaw gateway --port 18789Restart=alwaysRestartSec=5TimeoutStopSec=30TimeoutStartSec=30SuccessExitStatus=0 143KillMode=control-group [Install]WantedBy=default.targetWindows (native)
openclaw gateway installopenclaw gateway status --jsonopenclaw gateway restartopenclaw gateway stopيستخدم بدء التشغيل المدار الأصلي على Windows مهمة مجدولة باسم OpenClaw Gateway
(أو OpenClaw Gateway (<profile>) للملفات الشخصية المسماة). إذا رُفض إنشاء المهمة المجدولة،
يعود OpenClaw إلى مشغل في مجلد بدء التشغيل لكل مستخدم يشير إلى gateway.cmd
داخل دليل الحالة.
Linux (system service)
استخدم وحدة نظام للمضيفين متعددي المستخدمين/الدائمين.
sudo systemctl daemon-reloadsudo systemctl enable --now openclaw-gateway[-<profile>].serviceاستخدم جسم الخدمة نفسه كوحدة المستخدم، لكن ثبته تحت
/etc/systemd/system/openclaw-gateway[-<profile>].service وعدّل
ExecStart= إذا كان ملف openclaw الثنائي لديك موجودا في مكان آخر.
لا تدع أيضا openclaw doctor --fix يثبت خدمة Gateway على مستوى المستخدم للملف الشخصي/المنفذ نفسه. يرفض Doctor ذلك التثبيت التلقائي عندما يجد خدمة OpenClaw Gateway على مستوى النظام؛ استخدم OPENCLAW_SERVICE_REPAIR_POLICY=external عندما تكون وحدة النظام مالكة لدورة الحياة.
المسار السريع لملف التطوير الشخصي
openclaw --dev setupopenclaw --dev gateway --allow-unconfiguredopenclaw --dev statusتشمل الإعدادات الافتراضية حالة/إعدادات معزولة ومنفذ Gateway الأساسي 19001.
مرجع سريع للبروتوكول (عرض المشغل)
- يجب أن يكون أول إطار من العميل هو
connect. - يعيد Gateway لقطة
hello-ok(presence،health،stateVersion،uptimeMs، الحدود/السياسة). hello-ok.features.methods/eventsهي قائمة اكتشاف محافظة، وليست تفريغا مولدا لكل مسار مساعد قابل للاستدعاء.- الطلبات:
req(method, params)→res(ok/payload|error). - تشمل الأحداث الشائعة
connect.challenge، وagent، وchat، وsession.message، وsession.tool، وsessions.changed، وpresence، وtick، وhealth، وheartbeat، وأحداث دورة حياة الاقتران/الموافقة، وshutdown.
تشغيلات الوكيل من مرحلتين:
- إقرار قبول فوري (
status:"accepted") - استجابة إكمال نهائية (
status:"ok"|"error")، مع أحداثagentمبثوثة بينها.
راجع وثائق البروتوكول الكاملة: بروتوكول Gateway.
الفحوصات التشغيلية
الحيوية
- افتح WS وأرسل
connect. - توقع استجابة
hello-okمع لقطة.
الجاهزية
openclaw gateway statusopenclaw channels status --probeopenclaw healthاسترداد الفجوات
لا يعاد تشغيل الأحداث. عند فجوات التسلسل، حدّث الحالة (health، system-presence) قبل المتابعة.
بصمات الفشل الشائعة
| التوقيع | المشكلة المحتملة |
|---|---|
refusing to bind gateway ... without auth |
ربط غير حلقة الرجوع من دون مسار مصادقة Gateway صالح |
another gateway instance is already listening / EADDRINUSE |
تعارض في المنفذ |
Gateway start blocked: set gateway.mode=local |
تم ضبط الإعدادات على الوضع البعيد، أو أن وسم الوضع المحلي مفقود من إعدادات تالفة |
unauthorized أثناء الاتصال |
عدم تطابق المصادقة بين العميل وGateway |
للحصول على سلالم التشخيص الكاملة، استخدم استكشاف أخطاء Gateway وإصلاحها.
ضمانات السلامة
- تفشل عملاء بروتوكول Gateway بسرعة عندما لا يكون Gateway متاحًا (لا يوجد رجوع احتياطي ضمني إلى قناة مباشرة).
- تُرفض الإطارات الأولى غير الصالحة/غير الخاصة بالاتصال وتُغلق.
- يصدر الإيقاف المنظّم حدث
shutdownقبل إغلاق المقبس.
ذات صلة: