Gateway
دليل تشغيل Gateway
استخدم هذه الصفحة للتشغيل الأولي في اليوم الأول وعمليات اليوم الثاني لخدمة Gateway.
تشخيصات تبدأ من الأعراض مع سلالم أوامر دقيقة وبصمات سجلات.
دليل إعداد موجّه بالمهام + مرجع تكوين كامل.
عقد SecretRef، وسلوك لقطة وقت التشغيل، وعمليات الترحيل/إعادة التحميل.
قواعد هدف/مسار secrets apply الدقيقة وسلوك ملف تعريف المصادقة المعتمد على المراجع فقط.
تشغيل محلي خلال 5 دقائق
ابدأ Gateway
openclaw gateway --port 18789
# debug/trace mirrored to stdio
openclaw gateway --port 18789 --verbose
# force-kill listener on selected port, then start
openclaw gateway --force
تحقق من صحة الخدمة
openclaw gateway status
openclaw status
openclaw 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 الرئيسي وتستخدم حد مصادقة المشغّل الموثوق نفسه كبقية HTTP API الخاصة بـ Gateway.
أسبقية المنفذ والربط
| الإعداد | ترتيب الحل |
|---|---|
| منفذ 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 قبل تشغيل
التحقق في وقت التشغيل. أضف أي أصول متصفح بعيدة، مثل عناوين وكيل HTTPS، إلى
gateway.controlUi.allowedOrigins صراحة.
أوضاع إعادة التحميل الساخن
gateway.reload.mode |
السلوك |
|---|---|
off |
لا توجد إعادة تحميل للتكوين |
hot |
تطبيق التغييرات الآمنة ساخناً فقط |
restart |
إعادة التشغيل عند التغييرات التي تتطلب إعادة التحميل |
hybrid (افتراضي) |
التطبيق الساخن عند الأمان، وإعادة التشغيل عند الحاجة |
مجموعة أوامر المشغّل
openclaw gateway status
openclaw gateway status --deep # adds a system-level service scan
openclaw gateway status --json
openclaw gateway install
openclaw gateway restart
openclaw gateway stop
openclaw secrets reload
openclaw logs --follow
openclaw doctor
gateway status --deep مخصص لاكتشاف خدمة إضافي (LaunchDaemons/وحدات نظام systemd/schtasks)، وليس فحص صحة RPC أعمق.
عدة بوابات Gateway (المضيف نفسه)
ينبغي أن تشغّل معظم التثبيتات Gateway واحداً لكل جهاز. يمكن لـ Gateway واحد استضافة عدة وكلاء وقنوات.
لا تحتاج إلى عدة بوابات Gateway إلا عندما تريد عزلاً عن قصد أو بوت إنقاذ.
فحوصات مفيدة:
openclaw gateway status --deep
openclaw 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 19001
OPENCLAW_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 install
openclaw gateway status
openclaw gateway restart
openclaw gateway stop
استخدم openclaw gateway restart لإعادة التشغيل. لا تسلسل openclaw gateway stop وopenclaw gateway start؛ على macOS، يعطّل gateway stop عمداً LaunchAgent قبل إيقافه.
تسميات LaunchAgent هي ai.openclaw.gateway (افتراضي) أو ai.openclaw.<profile> (ملف شخصي مسمى). يدقق openclaw doctor انحرافات تكوين الخدمة ويصلحها.
Linux (مستخدم systemd)
openclaw gateway install
systemctl --user enable --now openclaw-gateway[-<profile>].service
openclaw gateway status
للاستمرارية بعد تسجيل الخروج، فعّل الإبقاء:
sudo loginctl enable-linger <user>
مثال وحدة مستخدم يدوية عندما تحتاج إلى مسار تثبيت مخصص:
[Unit]
Description=OpenClaw Gateway
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/local/bin/openclaw gateway --port 18789
Restart=always
RestartSec=5
TimeoutStopSec=30
TimeoutStartSec=30
SuccessExitStatus=0 143
KillMode=control-group
[Install]
WantedBy=default.target
Windows (أصلي)
openclaw gateway install
openclaw gateway status --json
openclaw gateway restart
openclaw gateway stop
يستخدم بدء التشغيل المُدار الأصلي على Windows مهمة مجدولة باسم OpenClaw Gateway
(أو OpenClaw Gateway (<profile>) للملفات الشخصية المسماة). إذا رُفض إنشاء المهمة المجدولة،
يرجع OpenClaw إلى مشغّل في مجلد بدء التشغيل لكل مستخدم
يشير إلى gateway.cmd داخل دليل الحالة.
Linux (خدمة نظام)
استخدم وحدة نظام للمضيفين متعددي المستخدمين/دائمي التشغيل.
sudo systemctl daemon-reload
sudo 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 setup
openclaw --dev gateway --allow-unconfigured
openclaw --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 status
openclaw channels status --probe
openclaw health
التعافي من الفجوات
لا تُعاد الأحداث. عند وجود فجوات في التسلسل، حدّث الحالة (health، system-presence) قبل المتابعة.
بصمات الفشل الشائعة
| البصمة | المشكلة المحتملة |
|---|---|
refusing to bind gateway ... without auth |
ربط غير loopback بدون مسار مصادقة Gateway صالح |
another gateway instance is already listening / EADDRINUSE |
تعارض منفذ |
Gateway start blocked: set gateway.mode=local |
التكوين مضبوط على الوضع البعيد، أو ختم الوضع المحلي مفقود من تكوين تالف |
unauthorized during connect |
عدم تطابق المصادقة بين العميل وGateway |
لسلالم التشخيص الكاملة، استخدم استكشاف أخطاء Gateway وإصلاحها.
ضمانات السلامة
- يفشل عملاء بروتوكول Gateway سريعًا عندما لا يكون Gateway متاحًا (لا يوجد رجوع احتياطي ضمني إلى القناة المباشرة).
- تُرفض إطارات البداية غير الصالحة/غير الخاصة بالاتصال وتُغلق.
- يؤدي الإيقاف المنظّم إلى إصدار حدث
shutdownقبل إغلاق المقبس.
ذات صلة: