openclaw gateway ….
اكتشاف Bonjour
إعداد mDNS محلي + DNS-SD واسع النطاق.
نظرة عامة على الاكتشاف
كيف يعلن OpenClaw عن البوابات ويعثر عليها.
الإعدادات
مفاتيح إعداد Gateway ذات المستوى الأعلى.
تشغيل Gateway
شغّل عملية Gateway محلية:سلوك بدء التشغيل
سلوك بدء التشغيل
- افتراضيًا، يرفض Gateway البدء ما لم يتم تعيين
gateway.mode=localفي~/.openclaw/openclaw.json. استخدم--allow-unconfiguredلعمليات التشغيل المؤقتة/التطويرية. - من المتوقع أن يكتب
openclaw onboard --mode localوopenclaw setupالقيمةgateway.mode=local. إذا كان الملف موجودًا لكنgateway.modeمفقود، فتعامل مع ذلك كإعداد معطوب أو تم استبداله وأصلحه بدلًا من افتراض الوضع المحلي ضمنيًا. - إذا كان الملف موجودًا و
gateway.modeمفقود، يتعامل Gateway مع ذلك كضرر مشبوه في الإعدادات ويرفض “تخمين المحلي” نيابةً عنك. - يتم حظر الربط خارج loopback من دون مصادقة (حاجز أمان).
- يتم حاليًا حل
lanوtailnetوcustomعبر مسارات BYOH تعمل بـ IPv4 فقط. - لا يُدعم BYOH المعتمد على IPv6 فقط بشكل أصلي في هذا المسار اليوم. استخدم مكوّنًا جانبيًا أو وكيلًا لـ IPv4 إذا كان المضيف نفسه يعمل بـ IPv6 فقط.
- يطلق
SIGUSR1إعادة تشغيل داخل العملية عند التفويض (commands.restartمفعّل افتراضيًا؛ عيّنcommands.restart: falseلحظر إعادة التشغيل اليدوية، مع بقاء تطبيق/تحديث أداة Gateway وإعداداته مسموحًا). - توقف معالجات
SIGINT/SIGTERMعملية Gateway، لكنها لا تستعيد أي حالة طرفية مخصصة. إذا غلّفت CLI باستخدام TUI أو إدخال بوضع خام، فاستعد الطرفية قبل الخروج.
الخيارات
منفذ WebSocket (تأتي القيمة الافتراضية من الإعدادات/البيئة؛ عادةً
18789).وضع ربط المستمع. يتم حاليًا حل
lan وtailnet وcustom عبر مسارات تعمل بـ IPv4 فقط.تجاوز وضع المصادقة.
تجاوز الرمز المميز (يعيّن أيضًا
OPENCLAW_GATEWAY_TOKEN للعملية).تجاوز كلمة المرور.
قراءة كلمة مرور Gateway من ملف.
عرض Gateway عبر Tailscale.
إعادة تعيين إعداد Tailscale serve/funnel عند إيقاف التشغيل.
يتوقع عنوان IPv4 اليوم. بالنسبة إلى BYOH المعتمد على IPv6 فقط، ضع مكوّنًا جانبيًا أو وكيلًا لـ IPv4 أمام Gateway ووجّه OpenClaw إلى نقطة نهاية IPv4 تلك.
السماح ببدء Gateway دون
gateway.mode=local في الإعدادات. يتجاوز حاجز بدء التشغيل للتمهيد المؤقت/التطويري فقط؛ ولا يكتب ملف الإعدادات أو يصلحه.إنشاء إعداد تطوير + مساحة عمل إذا كانا مفقودين (يتخطى BOOTSTRAP.md).
إعادة تعيين إعداد التطوير + بيانات الاعتماد + الجلسات + مساحة العمل (يتطلب
--dev).إنهاء أي مستمع موجود على المنفذ المحدد قبل البدء.
سجلات مفصلة.
إظهار سجلات الواجهة الخلفية لـ CLI فقط في وحدة التحكم (وتفعيل stdout/stderr).
نمط سجل WebSocket.
اسم مستعار لـ
--ws-log compact.تسجيل أحداث تدفق النموذج الخام إلى jsonl.
مسار jsonl للتدفق الخام.
إعادة تشغيل Gateway
openclaw gateway restart --safe من Gateway العامل إجراء فحص تمهيدي للعمل النشط وجدولة إعادة تشغيل واحدة مدمجة بعد تصريف العمل النشط. تنتظر إعادة التشغيل الآمنة الافتراضية العمل النشط حتى مدة gateway.reload.deferralTimeoutMs المضبوطة (الافتراضي 5 دقائق)؛ وعند انتهاء تلك الميزانية تُفرض إعادة التشغيل. عيّن gateway.reload.deferralTimeoutMs إلى 0 لانتظار آمن غير محدد لا يفرض أبدًا. يحافظ restart العادي على سلوك مدير الخدمة الحالي؛ ويظل --force مسار التجاوز الفوري.
يشغّل openclaw gateway restart --safe --skip-deferral إعادة التشغيل المنسقة نفسها الواعية بـ OpenClaw مثل --safe، لكنه يتجاوز بوابة تأجيل العمل النشط بحيث يصدر Gateway إعادة التشغيل فورًا حتى عند الإبلاغ عن عوائق. استخدمه كمخرج طوارئ للمشغّل عندما يكون التأجيل مثبتًا بسبب تشغيل مهمة عالق وقد يكون --safe وحده مقيدًا بـ gateway.reload.deferralTimeoutMs. يتطلب --skip-deferral الخيار --safe.
تحليل أداء Gateway
- عيّن
OPENCLAW_GATEWAY_STARTUP_TRACE=1لتسجيل توقيتات المراحل أثناء بدء Gateway، بما في ذلك تأخيرeventLoopMaxلكل مرحلة وتوقيتات جداول بحث Plugin للفهرس المثبت وسجل البيان وتخطيط بدء التشغيل وعمل خريطة المالك. - عيّن
OPENCLAW_GATEWAY_RESTART_TRACE=1لتسجيل أسطرrestart trace:الخاصة بإعادة التشغيل لمعالجة إشارة إعادة التشغيل، وتصريف العمل النشط، ومراحل الإيقاف، والبدء التالي، وتوقيت الجاهزية، ومقاييس الذاكرة. - عيّن
OPENCLAW_DIAGNOSTICS=timelineمعOPENCLAW_DIAGNOSTICS_TIMELINE_PATH=<path>لكتابة مخطط زمني لتشخيصات بدء التشغيل بصيغة JSONL وبأفضل جهد لأطر QA الخارجية. يمكنك أيضًا تفعيل العلامة باستخدامdiagnostics.flags: ["timeline"]في الإعدادات؛ يظل المسار مقدمًا عبر البيئة. أضفOPENCLAW_DIAGNOSTICS_EVENT_LOOP=1لتضمين عينات حلقة الأحداث. - شغّل
pnpm buildأولًا، ثمpnpm test:startup:gateway -- --runs 5 --warmup 1لقياس بدء Gateway مقابل مدخل CLI المبني. يسجل القياس أول مخرجات العملية، و/healthz، و/readyz، وتوقيتات تتبع بدء التشغيل، وتأخير حلقة الأحداث، وتفاصيل توقيت جدول بحث Plugin. - شغّل
pnpm buildأولًا، ثمpnpm test:restart:gateway -- --case skipChannels --runs 1 --restarts 5لقياس إعادة تشغيل Gateway داخل العملية مقابل مدخل CLI المبني على macOS أو Linux. يستخدم قياس إعادة التشغيل SIGUSR1، ويفعّل تتبعي بدء التشغيل وإعادة التشغيل في العملية الفرعية، ويسجل/healthzالتالي، و/readyzالتالي، ووقت التعطل، وتوقيت الجاهزية، وCPU، وRSS، ومقاييس تتبع إعادة التشغيل. - تعامل مع
/healthzكمؤشر حياة و/readyzكجاهزية قابلة للاستخدام. أسطر التتبع ومخرجات القياس مخصصة لإسناد الملكية؛ لا تعتبر امتداد تتبع واحدًا أو عينة واحدة استنتاجًا كاملًا عن الأداء.
الاستعلام عن Gateway قيد التشغيل
تستخدم جميع أوامر الاستعلام WebSocket RPC.- أوضاع الإخراج
- الخيارات المشتركة
- الافتراضي: مقروء للبشر (ملون في TTY).
--json: JSON مقروء آليًا (دون تنسيق/مؤشر دوران).--no-color(أوNO_COLOR=1): تعطيل ANSI مع الحفاظ على تخطيط العرض البشري.
عند تعيين
--url، لا يرجع CLI إلى بيانات اعتماد الإعدادات أو البيئة. مرّر --token أو --password صراحةً. غياب بيانات الاعتماد الصريحة خطأ.gateway health
/healthz هي مسبار حياة: تعود بمجرد أن يستطيع الخادم الإجابة عبر HTTP. نقطة نهاية HTTP /readyz أكثر صرامة وتظل حمراء بينما لا تزال مكونات Plugin الجانبية عند بدء التشغيل أو القنوات أو الخطافات المضبوطة في طور الاستقرار. تتضمن استجابات الجاهزية التفصيلية المحلية أو المصادق عليها كتلة تشخيص eventLoop مع تأخير حلقة الأحداث، واستخدام حلقة الأحداث، ونسبة أنوية CPU، وعلامة degraded.
استهدف local loopback Gateway على هذا المنفذ. يتجاوز هذا
OPENCLAW_GATEWAY_URL وOPENCLAW_GATEWAY_PORT لاستدعاء الصحة.gateway usage-cost
اجلب ملخصات تكلفة الاستخدام من سجلات الجلسات.
عدد الأيام المراد تضمينها.
حصر ملخص التكلفة في معرّف وكيل واحد مضبوط.
تجميع ملخص التكلفة عبر جميع الوكلاء المضبوطين. لا يمكن دمجه مع
--agent.gateway stability
اجلب مسجل الاستقرار التشخيصي الأخير من Gateway قيد التشغيل.
الحد الأقصى لعدد الأحداث الأخيرة المراد تضمينها (الحد الأقصى
1000).التصفية حسب نوع الحدث التشخيصي، مثل
payload.large أو diagnostic.memory.pressure.تضمين الأحداث بعد رقم تسلسل تشخيصي فقط.
قراءة حزمة استقرار محفوظة بدلًا من استدعاء Gateway قيد التشغيل. استخدم
--bundle latest (أو فقط --bundle) لأحدث حزمة ضمن دليل الحالة، أو مرّر مسار JSON لحزمة مباشرة.كتابة ملف zip لتشخيصات دعم قابلة للمشاركة بدلًا من طباعة تفاصيل الاستقرار.
مسار الإخراج لـ
--export.الخصوصية وسلوك الحزم
الخصوصية وسلوك الحزم
- تحتفظ السجلات بالبيانات الوصفية التشغيلية: أسماء الأحداث، والأعداد، وأحجام البايتات، وقراءات الذاكرة، وحالة قائمة الانتظار/الجلسة، ومعرّفات الموافقة، وأسماء القنوات/Plugin، وملخصات الجلسات المنقحة. لا تحتفظ بنص المحادثة، أو أجسام Webhook، أو مخرجات الأدوات، أو أجسام الطلب أو الاستجابة الخام، أو الرموز، أو ملفات تعريف الارتباط، أو القيم السرية، أو أسماء المضيفين، أو معرّفات الجلسات الخام. عيّن
diagnostics.enabled: falseلتعطيل المسجل بالكامل. - عند خروج Gateway الفادح، ومهل الإيقاف، وفشل بدء التشغيل بعد إعادة التشغيل، يكتب OpenClaw اللقطة التشخيصية نفسها إلى
~/.openclaw/logs/stability/openclaw-stability-*.jsonعندما تكون لدى المسجل أحداث. افحص أحدث حزمة باستخدامopenclaw gateway stability --bundle latest؛ تنطبق--limitو--typeو--since-seqأيضًا على إخراج الحزمة.
gateway diagnostics export
اكتب ملف zip محليًا للتشخيصات مصممًا لإرفاقه بتقارير الأخطاء. لنموذج الخصوصية ومحتويات الحزمة، راجع تصدير التشخيصات.
مسار ملف zip الناتج. يكون افتراضيًا تصدير دعم ضمن دليل الحالة.
الحد الأقصى لأسطر السجل المنقّاة المطلوب تضمينها.
الحد الأقصى لبايتات السجل المطلوب فحصها.
عنوان URL الخاص بـ Gateway WebSocket للقطة السلامة.
رمز Gateway للقطة السلامة.
كلمة مرور Gateway للقطة السلامة.
مهلة لقطة الحالة/السلامة.
تخطَّ البحث عن حزمة الاستقرار المحفوظة.
اطبع المسار المكتوب والحجم والبيان بصيغة JSON.
gateway status
يعرض gateway status خدمة Gateway (launchd/systemd/schtasks) مع فحص اختياري لقدرة الاتصال/المصادقة.
أضف هدف فحص صريحًا. سيظل فحص الهدف البعيد المضبوط وlocalhost قائمًا.
مصادقة الرمز للفحص.
مصادقة كلمة المرور للفحص.
مهلة الفحص.
تخطَّ فحص الاتصال (عرض الخدمة فقط).
افحص خدمات مستوى النظام أيضًا.
ارفع فحص الاتصال الافتراضي إلى فحص قراءة واخرج برمز غير صفري عند فشل فحص القراءة هذا. لا يمكن دمجه مع
--no-probe.دلالات الحالة
دلالات الحالة
- يظل
gateway statusمتاحًا للتشخيص حتى عندما تكون إعدادات CLI المحلية مفقودة أو غير صالحة. - يثبت
gateway statusالافتراضي حالة الخدمة واتصال WebSocket وقدرة المصادقة المرئية وقت المصافحة. ولا يثبت عمليات القراءة/الكتابة/الإدارة. - فحوص التشخيص غير مُغيِّرة لمصادقة الجهاز لأول مرة: فهي تعيد استخدام رمز جهاز مخبأ موجود عند توفره، لكنها لا تنشئ هوية جهاز CLI جديدة أو سجل اقتران جهاز للقراءة فقط لمجرد التحقق من الحالة.
- يحل
gateway statusمراجع SecretRefs الخاصة بالمصادقة المضبوطة لمصادقة الفحص عندما يكون ذلك ممكنًا. - إذا تعذر حل SecretRef مطلوب للمصادقة في مسار هذا الأمر، يبلّغ
gateway status --jsonعنrpc.authWarningعند فشل اتصال/مصادقة الفحص؛ مرّر--token/--passwordصراحةً أو عالج مصدر السر أولًا. - إذا نجح الفحص، تُكتم تحذيرات مرجع المصادقة غير المحلول لتجنب النتائج الإيجابية الكاذبة.
- عند تفعيل الفحص، يتضمن خرج JSON
gateway.versionعندما يبلّغ Gateway الجاري عنه؛ يمكن لـ--require-rpcالرجوع إلى حمولة RPC status.runtimeVersionإذا لم يستطع فحص المصافحة اللاحق توفير بيانات تعريف الإصدار. - استخدم
--require-rpcفي السكربتات والأتمتة عندما لا تكفي خدمة تستمع وتحتاج أيضًا إلى أن تكون استدعاءات RPC بنطاق القراءة سليمة. - يضيف
--deepفحصًا بأفضل جهد لعمليات تثبيت launchd/systemd/schtasks الإضافية. عند اكتشاف عدة خدمات شبيهة بـ gateway، يطبع الخرج البشري تلميحات تنظيف ويحذر من أن معظم الإعدادات يجب أن تشغّل gateway واحدًا لكل جهاز. - يبلّغ
--deepأيضًا عن تسليم حديث لإعادة تشغيل مشرف Gateway عندما تخرج عملية الخدمة بنظافة لإعادة تشغيل مشرف خارجي. - يشغّل
--deepتحقق الإعدادات في وضع مدرك للـ Plugin (pluginValidation: "full") ويعرض تحذيرات بيان Plugin المضبوط (مثل غياب بيانات تعريف إعدادات القناة) حتى تلتقطها فحوص تثبيت وتحديث smoke. يحافظgateway statusالافتراضي على مسار القراءة فقط السريع الذي يتخطى تحقق Plugin. - يتضمن الخرج البشري مسار ملف السجل المحلول مع لقطة مسارات/صلاحية إعدادات CLI مقابل الخدمة للمساعدة في تشخيص انحراف الملف الشخصي أو دليل الحالة.
فحوص انحراف مصادقة Linux systemd
فحوص انحراف مصادقة Linux systemd
- في عمليات تثبيت Linux systemd، تقرأ فحوص انحراف مصادقة الخدمة قيم
Environment=وEnvironmentFile=من الوحدة (بما في ذلك%h، والمسارات المقتبسة، والملفات المتعددة، وملفات-الاختيارية). - تحل فحوص الانحراف مراجع SecretRefs الخاصة بـ
gateway.auth.tokenباستخدام بيئة التشغيل المدمجة (بيئة أمر الخدمة أولًا، ثم بيئة العملية كرجوع احتياطي). - إذا لم تكن مصادقة الرمز فعالة فعليًا (
gateway.auth.modeصريح بقيمةpassword/none/trusted-proxy، أو الوضع غير مضبوط حيث يمكن لكلمة المرور أن تفوز ولا يمكن لأي مرشح رمز أن يفوز)، تتخطى فحوص انحراف الرمز حل رمز الإعدادات.
gateway probe
gateway probe هو أمر “تصحيح كل شيء”. يفحص دائمًا:
- gateway البعيد المضبوط لديك (إن كان مضبوطًا)، و
- localhost (local loopback) حتى إذا كان البعيد مضبوطًا.
--url، تتم إضافة ذلك الهدف الصريح قبل كليهما. يضع الخرج البشري تسميات للأهداف كالتالي:
URL (explicit)Remote (configured)أوRemote (configured, inactive)Local loopback
إذا أمكن الوصول إلى عدة أهداف فحص، يطبعها كلها. يمكن لنفق SSH وعنوان URL الخاص بـ TLS/proxy وعنوان URL البعيد المضبوط أن تشير كلها إلى gateway نفسه حتى عندما تختلف منافذ النقل بينها؛
multiple_gateways مخصص للـ gateways المميزة أو التي يلتبس تمييز هويتها ويمكن الوصول إليها. تُدعم عدة gateways عند استخدام ملفات شخصية معزولة (مثل بوت إنقاذ)، لكن معظم عمليات التثبيت ما زالت تشغّل gateway واحدًا.استخدم هذا المنفذ لهدف فحص local loopback ومنفذ نفق SSH البعيد. من دون
--url، يختار هذا هدف local loopback بدلًا من عنوان URL بيئة gateway المضبوطة أو منفذ البيئة أو الأهداف البعيدة.التفسير
التفسير
- يعني
Reachable: yesأن هدفًا واحدًا على الأقل قبل اتصال WebSocket. - يبلّغ
Capability: read-only|write-capable|admin-capable|pairing-pending|connect-onlyعما استطاع الفحص إثباته بشأن المصادقة. وهذا منفصل عن قابلية الوصول. - يعني
Read probe: okأن استدعاءات RPC التفصيلية بنطاق القراءة (health/status/system-presence/config.get) نجحت أيضًا. - يعني
Read probe: limited - missing scope: operator.readأن الاتصال نجح لكن RPC بنطاق القراءة محدود. يُبلَّغ عن ذلك كقابلية وصول متدهورة، وليس فشلًا كاملًا. - يعني
Read probe: failedبعدConnect: okأن Gateway قبل اتصال WebSocket، لكن تشخيصات القراءة اللاحقة انتهت مهلتها أو فشلت. وهذا أيضًا قابلية وصول متدهورة، وليس Gateway غير قابل للوصول. - مثل
gateway status، يعيد الفحص استخدام مصادقة الجهاز المخبأة الموجودة لكنه لا ينشئ هوية جهاز أولية أو حالة اقتران. - يكون رمز الخروج غير صفري فقط عندما لا يكون أي هدف مفحوص قابلًا للوصول.
خرج JSON
خرج JSON
المستوى الأعلى:
ok: هدف واحد على الأقل قابل للوصول.degraded: هدف واحد على الأقل قبل اتصالًا لكنه لم يكمل تشخيصات RPC التفصيلية كاملة.capability: أفضل قدرة شوهدت عبر الأهداف القابلة للوصول (read_onlyأوwrite_capableأوadmin_capableأوpairing_pendingأوconnected_no_operator_scopeأوunknown).primaryTargetId: أفضل هدف يجب التعامل معه كالفائز النشط بهذا الترتيب: عنوان URL الصريح، ثم نفق SSH، ثم البعيد المضبوط، ثم local loopback.warnings[]: سجلات تحذير بأفضل جهد معcodeوmessageوtargetIdsاختيارية.network: تلميحات عناوين URL الخاصة بـ local loopback/tailnet المستمدة من الإعدادات الحالية وشبكات المضيف.discovery.timeoutMsوdiscovery.count: ميزانية/عدد نتائج الاكتشاف الفعلي المستخدم في مرور الفحص هذا.
targets[].connect):ok: قابلية الوصول بعد الاتصال + تصنيف التدهور.rpcOk: نجاح RPC التفصيلي الكامل.scopeLimited: فشل RPC التفصيلي بسبب غياب نطاق المشغّل.
targets[].auth):role: دور المصادقة المبلّغ عنه فيhello-okعند توفره.scopes: النطاقات الممنوحة المبلّغ عنها فيhello-okعند توفرها.capability: تصنيف قدرة المصادقة المعروض لذلك الهدف.
رموز التحذير الشائعة
رموز التحذير الشائعة
ssh_tunnel_failed: فشل إعداد نفق SSH؛ رجع الأمر إلى الفحوص المباشرة.multiple_gateways: كانت هويات gateway مميزة قابلة للوصول، أو لم يستطع OpenClaw إثبات أن الأهداف القابلة للوصول هي gateway نفسه. لا يؤدي نفق SSH أو عنوان URL الخاص بالبروكسي أو عنوان URL البعيد المضبوط إلى gateway نفسه إلى تشغيل هذا التحذير.auth_secretref_unresolved: تعذر حل SecretRef لمصادقة مضبوطة لهدف فاشل.probe_scope_limited: نجح اتصال WebSocket، لكن فحص القراءة كان محدودًا بسبب غيابoperator.read.
البعيد عبر SSH (تكافؤ تطبيق Mac)
يستخدم وضع “البعيد عبر SSH” في تطبيق macOS تحويل منفذ محلي بحيث يصبح gateway البعيد (الذي قد يكون مربوطًا بـ loopback فقط) قابلًا للوصول عندws://127.0.0.1:<port>.
مكافئ CLI:
user@host أو user@host:port (يكون المنفذ افتراضيًا 22).ملف الهوية.
اختر أول مضيف gateway مكتشف كهدف SSH من نقطة نهاية الاكتشاف المحلولة (
local. بالإضافة إلى نطاق النطاق الواسع المضبوط، إن وجد). يتم تجاهل تلميحات TXT فقط.gateway.remote.sshTargetgateway.remote.sshIdentity
gateway call <method>
مساعد RPC منخفض المستوى.
سلسلة كائن JSON للمعاملات.
عنوان URL الخاص بـ Gateway WebSocket.
رمز Gateway.
كلمة مرور Gateway.
ميزانية المهلة.
أساسًا لاستدعاءات RPC بأسلوب الوكيل التي تبث أحداثًا وسيطة قبل حمولة نهائية.
خرج JSON قابل للقراءة آليًا.
يجب أن يكون
--params بصيغة JSON صالحة.إدارة خدمة Gateway
التثبيت باستخدام غلاف
استخدم--wrapper عندما يجب أن تبدأ الخدمة المُدارة عبر ملف تنفيذي آخر، مثل غلاف مدير
الأسرار أو مساعد التشغيل كمستخدم آخر. يتلقى الغلاف وسيطات Gateway العادية ويكون
مسؤولًا في النهاية عن تنفيذ openclaw أو Node بتلك الوسيطات.
gateway install من أن المسار
ملف قابل للتنفيذ، ويكتب الغلاف في ProgramArguments الخاصة بالخدمة، ويثبت
OPENCLAW_WRAPPER في بيئة الخدمة لعمليات إعادة التثبيت القسرية والتحديثات وإصلاحات doctor لاحقًا.
OPENCLAW_WRAPPER أثناء إعادة التثبيت:
خيارات الأوامر
خيارات الأوامر
gateway status:--url,--token,--password,--timeout,--no-probe,--require-rpc,--deep,--jsongateway install:--port,--runtime <node|bun>,--token,--wrapper <path>,--force,--jsongateway restart:--safe,--skip-deferral,--force,--wait <duration>,--jsongateway uninstall|start:--jsongateway stop:--disable,--json
سلوك دورة الحياة
سلوك دورة الحياة
- استخدم
gateway restartلإعادة تشغيل خدمة مُدارة. لا تسلسلgateway stopوgateway startكبديل لإعادة التشغيل. - على macOS، يستخدم
gateway stopالأمرlaunchctl bootoutافتراضيًا، ما يزيل LaunchAgent من جلسة الإقلاع الحالية دون تثبيت التعطيل — يبقى الاسترداد التلقائي عبر KeepAlive نشطًا للأعطال المستقبلية، ويعيدgateway startالتمكين بشكل نظيف دونlaunchctl enableيدوي. مرر--disableلتعطيل KeepAlive وRunAtLoad بشكل دائم بحيث لا يعاود Gateway الظهور حتى أمرgateway startالصريح التالي؛ استخدم هذا عندما يجب أن يستمر الإيقاف اليدوي بعد عمليات إعادة الإقلاع أو إعادة تشغيل النظام. - يطلب
gateway restart --safeمن Gateway الجاري إجراء فحص مسبق للعمل النشط وجدولة إعادة تشغيل واحدة مدمجة بعد انتهاء العمل النشط. تنتظر إعادة التشغيل الآمنة الافتراضية العمل النشط حتى مدةgateway.reload.deferralTimeoutMsالمضبوطة (الافتراضي 5 دقائق)؛ وعند انتهاء تلك المهلة تُفرض إعادة التشغيل. عيّنgateway.reload.deferralTimeoutMsإلى0لانتظار آمن غير محدد لا يفرض أبدًا. لا يمكن دمج--safeمع--forceأو--wait. - يتجاوز
gateway restart --wait 30sميزانية انتظار تصريف إعادة التشغيل المضبوطة لتلك الإعادة. الأرقام المجردة هي بالمللي ثانية؛ وتُقبل وحدات مثلsوmوh. ينتظر--wait 0إلى أجل غير محدد. - يشغل
gateway restart --safe --skip-deferralإعادة التشغيل الآمنة المدركة لـ OpenClaw لكنه يتجاوز بوابة التأجيل بحيث يصدر Gateway إعادة التشغيل فورًا حتى عند الإبلاغ عن عوائق. هذا مخرج طارئ للمشغل لتأجيلات تشغيل المهام العالقة؛ ويتطلب--safe. - يتخطى
gateway restart --forceتصريف العمل النشط ويعيد التشغيل فورًا. استخدمه عندما يكون المشغل قد فحص بالفعل عوائق المهام المدرجة ويريد عودة Gateway الآن. - تقبل أوامر دورة الحياة
--jsonللبرمجة النصية.
المصادقة وSecretRefs وقت التثبيت
المصادقة وSecretRefs وقت التثبيت
- عندما تتطلب مصادقة الرمز المميز رمزًا ويكون
gateway.auth.tokenمُدارًا عبر SecretRef، يتحققgateway installمن أن SecretRef قابل للحل لكنه لا يثبت الرمز المحلول في بيانات تعريف بيئة الخدمة. - إذا كانت مصادقة الرمز المميز تتطلب رمزًا وكان SecretRef الخاص بالرمز المضبوط غير محلول، يفشل التثبيت بإغلاق آمن بدلًا من تثبيت نص عادي احتياطي.
- لمصادقة كلمة المرور على
gateway run، فضّلOPENCLAW_GATEWAY_PASSWORDأو--password-fileأوgateway.auth.passwordالمدعوم بـ SecretRef على--passwordالمضمّنة. - في وضع المصادقة المستنتج، لا يخفف
OPENCLAW_GATEWAY_PASSWORDالموجود في الصدفة فقط متطلبات رمز التثبيت؛ استخدم إعدادًا دائمًا (gateway.auth.passwordأوenvفي الإعدادات) عند تثبيت خدمة مُدارة. - إذا كان كل من
gateway.auth.tokenوgateway.auth.passwordمضبوطين وكانgateway.auth.modeغير معين، يُحظر التثبيت حتى يُعيّن الوضع صراحةً.
اكتشاف البوابات (Bonjour)
يفحصgateway discover إشارات Gateway (_openclaw-gw._tcp).
- DNS-SD متعدد البث:
local. - DNS-SD أحادي البث (Bonjour واسع النطاق): اختر نطاقًا (مثال:
openclaw.internal.) وأعدّ DNS مقسمًا + خادم DNS؛ راجع Bonjour.
role(تلميح دور Gateway)transport(تلميح النقل، مثلgateway)gatewayPort(منفذ WebSocket، عادةً18789)sshPort(وضع الاكتشاف الكامل فقط؛ تعتمد العملاء أهداف SSH الافتراضية إلى22عند غيابه)tailnetDns(اسم مضيف MagicDNS، عند توفره)gatewayTls/gatewayTlsSha256(TLS مفعّل + بصمة الشهادة)cliPath(وضع الاكتشاف الكامل فقط)
gateway discover
مهلة لكل أمر (تصفح/حل).
إخراج قابل للقراءة آليًا (يعطل أيضًا التنسيق/مؤشر التحميل).
- يفحص CLI النطاق
local.بالإضافة إلى النطاق واسع النطاق المضبوط عند تفعيله. wsUrlفي إخراج JSON مشتق من نقطة نهاية الخدمة المحلولة، وليس من تلميحات TXT فقط مثلlanHostأوtailnetDns.- على mDNS للنطاق
local.وDNS-SD واسع النطاق، لا يُنشرsshPortوcliPathإلا عندما يكونdiscovery.mdns.modeهوfull.