CLI commands

Gateway

Gateway هو خادم WebSocket الخاص بـ OpenClaw (القنوات، العُقد، الجلسات، hooks). توجد الأوامر الفرعية في هذه الصفحة ضمن openclaw gateway ….

تشغيل Gateway

شغّل عملية Gateway محلية:

openclaw gateway

الاسم المستعار للتشغيل في الواجهة الأمامية:

openclaw gateway run
سلوك بدء التشغيل
  • افتراضيًا، يرفض Gateway بدء التشغيل ما لم يتم ضبط gateway.mode=local في ~/.openclaw/openclaw.json. استخدم --allow-unconfigured للتشغيل المؤقت/التطويري.
  • من المتوقع أن يكتب openclaw onboard --mode local وopenclaw setup القيمة gateway.mode=local. إذا كان الملف موجودًا لكن gateway.mode مفقود، فتعامل مع ذلك كتكوين معطّل أو مستبدَل وأصلحه بدلًا من افتراض الوضع المحلي ضمنيًا.
  • إذا كان الملف موجودًا وgateway.mode مفقود، يتعامل Gateway مع ذلك كضرر مريب في التكوين ويرفض "تخمين المحلي" نيابةً عنك.
  • يتم حظر الربط خارج loopback دون مصادقة (حاجز أمان).
  • يشغّل SIGUSR1 إعادة تشغيل داخل العملية عند التفويض (commands.restart مفعّل افتراضيًا؛ اضبط commands.restart: false لحظر إعادة التشغيل اليدوية، مع بقاء تطبيق/تحديث أداة gateway/التكوين مسموحًا).
  • توقف معالجات SIGINT/SIGTERM عملية gateway، لكنها لا تستعيد أي حالة طرفية مخصصة. إذا غلّفت CLI باستخدام TUI أو إدخال raw-mode، فاستعد الطرفية قبل الخروج.

الخيارات

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA " type="number"> منفذ WebSocket (تأتي القيمة الافتراضية من التكوين/البيئة؛ عادةً 18789).

"--bind
"--auth

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdG9rZW4gPHRva2Vu " type="string"> تجاوز الرمز المميز (يضبط أيضًا OPENCLAW_GATEWAY_TOKEN للعملية).

"--password
"--tailscale
--tailscale-reset-on-exitboolean

إعادة ضبط تكوين serve/funnel في Tailscale عند إيقاف التشغيل.

--allow-unconfiguredboolean

السماح ببدء gateway دون gateway.mode=local في التكوين. يتجاوز حاجز بدء التشغيل للتمهيد المؤقت/التطويري فقط؛ ولا يكتب ملف التكوين أو يصلحه.

--devboolean

إنشاء تكوين تطوير + مساحة عمل إذا كانا مفقودين (يتجاوز BOOTSTRAP.md).

--resetboolean

إعادة ضبط تكوين التطوير + بيانات الاعتماد + الجلسات + مساحة العمل (يتطلب --dev).

--forceboolean

إنهاء أي مستمع موجود على المنفذ المحدد قبل البدء.

--verboseboolean

سجلات تفصيلية.

--cli-backend-logsboolean

عرض سجلات خلفية CLI فقط في وحدة التحكم (وتفعيل stdout/stderr).

"--ws-log
--compactboolean

اسم مستعار لـ --ws-log compact.

--raw-streamboolean

تسجيل أحداث تدفق النموذج الخام إلى jsonl.

إعادة تشغيل Gateway

openclaw gateway restart
openclaw gateway restart --safe
openclaw gateway restart --force

يطلب openclaw gateway restart --safe من Gateway قيد التشغيل إجراء فحص مسبق لعمل OpenClaw النشط قبل إعادة التشغيل. إذا كانت العمليات في قائمة الانتظار، أو تسليم الردود، أو عمليات التشغيل المضمنة، أو عمليات تشغيل المهام نشطة، يبلّغ Gateway عن العوائق، ويدمج طلبات إعادة التشغيل الآمنة المكررة، ويعيد التشغيل بعد انتهاء العمل النشط. يحافظ restart العادي على سلوك مدير الخدمة الحالي للتوافق. استخدم --force فقط عندما تريد صراحةً مسار التجاوز الفوري.

توصيف بدء التشغيل

  • اضبط OPENCLAW_GATEWAY_STARTUP_TRACE=1 لتسجيل أزمنة المراحل أثناء بدء تشغيل Gateway، بما في ذلك تأخير eventLoopMax لكل مرحلة وأزمنة جداول البحث الخاصة بالـ Plugin للفهرس المثبّت، وسجل manifest، وتخطيط بدء التشغيل، وعمل owner-map.
  • اضبط OPENCLAW_DIAGNOSTICS=timeline مع OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=<path> لكتابة مخطط زمني تشخيصي لبدء التشغيل بصيغة JSONL وبأفضل جهد لأدوات QA الخارجية. يمكنك أيضًا تفعيل العلامة باستخدام diagnostics.flags: ["timeline"] في التكوين؛ يظل المسار مقدّمًا من البيئة. أضف OPENCLAW_DIAGNOSTICS_EVENT_LOOP=1 لتضمين عينات حلقة الأحداث.
  • شغّل pnpm test:startup:gateway -- --runs 5 --warmup 1 لقياس أداء بدء تشغيل Gateway. يسجل القياس أول مخرجات العملية، و/healthz، و/readyz، وأزمنة تتبع بدء التشغيل، وتأخير حلقة الأحداث، وتفاصيل أزمنة جداول بحث Plugin.

الاستعلام من Gateway قيد التشغيل

تستخدم جميع أوامر الاستعلام WebSocket RPC.

أوضاع الإخراج

  • الافتراضي: قابل للقراءة البشرية (ملوّن في TTY).
  • --json: JSON قابل للقراءة آليًا (دون تنسيق/مؤشر تحميل).
  • --no-color (أو NO_COLOR=1): تعطيل ANSI مع الحفاظ على التخطيط البشري.

الخيارات المشتركة

  • --url <url>: عنوان URL الخاص بـ WebSocket لـ Gateway.
  • --token <token>: رمز Gateway.
  • --password <password>: كلمة مرور Gateway.
  • --timeout <ms>: المهلة/الميزانية (تختلف حسب الأمر).
  • --expect-final: انتظار استجابة "نهائية" (استدعاءات الوكيل).

gateway health

openclaw gateway health --url ws://127.0.0.1:18789

نقطة نهاية HTTP /healthz هي فحص حيوية: تعود بمجرد أن يصبح الخادم قادرًا على الرد على HTTP. نقطة نهاية HTTP /readyz أكثر صرامة وتظل حمراء بينما لا تزال sidecars الخاصة بـ Plugin عند بدء التشغيل، أو القنوات، أو hooks المكوّنة في مرحلة الاستقرار. تتضمن استجابات الجاهزية التفصيلية المحلية أو المصدق عليها كتلة تشخيص eventLoop مع تأخير حلقة الأحداث، واستخدام حلقة الأحداث، ونسبة أنوية CPU، وعلامة degraded.

gateway usage-cost

جلب ملخصات تكلفة الاستخدام من سجلات الجلسات.

openclaw gateway usage-cost
openclaw gateway usage-cost --days 7
openclaw gateway usage-cost --json
"--days

gateway stability

جلب مسجل الاستقرار التشخيصي الحديث من Gateway قيد التشغيل.

openclaw gateway stability
openclaw gateway stability --type payload.large
openclaw gateway stability --bundle latest
openclaw gateway stability --bundle latest --export
openclaw gateway stability --json

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tbGltaXQgPGxpbWl0 " type="number" default="25"> الحد الأقصى لعدد الأحداث الحديثة المراد تضمينها (الحد الأقصى 1000).

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdHlwZSA8dHlwZQ " type="string"> التصفية حسب نوع حدث التشخيص، مثل payload.large أو diagnostic.memory.pressure.

"--since-seq
--bundle [path]string

قراءة حزمة استقرار محفوظة بدلًا من استدعاء Gateway قيد التشغيل. استخدم --bundle latest (أو فقط --bundle) لأحدث حزمة ضمن دليل الحالة، أو مرّر مسار JSON للحزمة مباشرةً.

--exportboolean

كتابة ملف zip لتشخيصات دعم قابل للمشاركة بدلًا من طباعة تفاصيل الاستقرار.

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tb3V0cHV0IDxwYXRo " type="string"> مسار الإخراج لـ --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 محليًا للتشخيصات مصممًا لإرفاقه بتقارير الأخطاء. لنموذج الخصوصية ومحتويات الحزمة، راجع تصدير التشخيصات.

openclaw gateway diagnostics export
openclaw gateway diagnostics export --output openclaw-diagnostics.zip
openclaw gateway diagnostics export --json
"--log-lines
"--log-bytes
"--url
"--token
"--password
"--timeout
--no-stability-bundleboolean

تخطي البحث عن حزمة الاستقرار المحفوظة.

--jsonboolean

طباعة المسار المكتوب، والحجم، والـ manifest بصيغة JSON.

يتضمن التصدير manifest، وملخص Markdown، وشكل التكوين، وتفاصيل تكوين منقحة، وملخصات سجلات منقحة، ولقطات حالة/صحة Gateway منقحة، وأحدث حزمة استقرار عند وجود واحدة.

الغرض منه أن يُشارك. يحتفظ بتفاصيل تشغيلية تساعد في التصحيح، مثل حقول سجل OpenClaw الآمنة، وأسماء الأنظمة الفرعية، ورموز الحالة، والمدد، والأوضاع المكوّنة، والمنافذ، ومعرّفات Plugin، ومعرّفات المزوّدين، وإعدادات الميزات غير السرية، ورسائل السجل التشغيلية المنقحة. يحذف أو ينقح نصوص الدردشة، وأجسام webhook، ومخرجات الأدوات، وبيانات الاعتماد، وملفات تعريف الارتباط، ومعرّفات الحساب/الرسالة، ونص المطالبة/التعليمات، وأسماء المضيفين، والقيم السرية. عندما تبدو رسالة بنمط LogTape كنص حمولة مستخدم/دردشة/أداة، يحتفظ التصدير فقط بأن رسالة حُذفت مع عدد بايتاتها.

gateway status

يعرض gateway status خدمة Gateway (launchd/systemd/schtasks) بالإضافة إلى فحص اختياري لقدرة الاتصال/المصادقة.

openclaw gateway status
openclaw gateway status --json
openclaw gateway status --require-rpc
"--url
"--token
"--password
"--timeout
--no-probeboolean

تخطَّ فحص الاتصال (عرض الخدمة فقط).

--deepboolean

افحص أيضًا الخدمات على مستوى النظام.

--require-rpcboolean

رقِّ فحص الاتصال الافتراضي إلى فحص قراءة واخرج برمز غير صفري عند فشل فحص القراءة ذلك. لا يمكن دمجه مع --no-probe.

دلالات الحالة
  • يظل gateway status متاحًا للتشخيص حتى عندما يكون إعداد CLI المحلي مفقودًا أو غير صالح.
  • يثبت gateway status الافتراضي حالة الخدمة، واتصال WebSocket، وإمكانية المصادقة المرئية وقت المصافحة. ولا يثبت عمليات القراءة/الكتابة/الإدارة.
  • فحوص التشخيص لا تُحدث تغييرات لمصادقة الجهاز للمرة الأولى: فهي تعيد استخدام رمز جهاز مخزّن مؤقتًا موجودًا عندما يتوفر، لكنها لا تنشئ هوية جهاز CLI جديدة أو سجل إقران جهاز للقراءة فقط لمجرد التحقق من الحالة.
  • يحل gateway status مراجع SecretRefs الخاصة بالمصادقة المكوَّنة لمصادقة الفحص عندما يكون ذلك ممكنًا.
  • إذا تعذر حل SecretRef مطلوب للمصادقة في مسار هذا الأمر، فسيبلغ gateway status --json عن rpc.authWarning عندما يفشل اتصال/مصادقة الفحص؛ مرر --token/--password صراحةً أو حل مصدر السر أولًا.
  • إذا نجح الفحص، تُكبت تحذيرات مراجع المصادقة غير المحلولة لتجنب النتائج الإيجابية الكاذبة.
  • استخدم --require-rpc في النصوص البرمجية والأتمتة عندما لا تكفي خدمة تستمع وتحتاج أيضًا إلى أن تكون استدعاءات RPC ذات نطاق القراءة سليمة.
  • يضيف --deep فحصًا بأفضل جهد لتثبيتات launchd/systemd/schtasks الإضافية. عند اكتشاف عدة خدمات شبيهة بـ Gateway، يطبع الإخراج البشري تلميحات تنظيف ويحذر من أن معظم الإعدادات يجب أن تشغّل Gateway واحدًا لكل جهاز.
  • يبلّغ --deep أيضًا عن تسليم حديث لإعادة تشغيل مشرف Gateway عندما تكون عملية الخدمة قد خرجت بنظافة لإعادة تشغيل بواسطة مشرف خارجي.
  • يتضمن الإخراج البشري مسار سجل الملف المحلول بالإضافة إلى لقطة مسارات/صلاحية إعداد CLI مقابل إعداد الخدمة للمساعدة في تشخيص انجراف ملف التعريف أو دليل الحالة.
فحوص انجراف مصادقة Linux systemd
  • في تثبيتات Linux systemd، تقرأ فحوص انجراف مصادقة الخدمة قيم Environment= وEnvironmentFile= من الوحدة (بما في ذلك %h، والمسارات المقتبسة، والملفات المتعددة، وملفات - الاختيارية).
  • تحل فحوص الانجراف مراجع SecretRefs الخاصة بـ gateway.auth.token باستخدام بيئة تشغيل مدمجة (بيئة أمر الخدمة أولًا، ثم بيئة العملية كاحتياطي).
  • إذا لم تكن مصادقة الرمز المميز نشطة فعليًا (gateway.auth.mode صريح بقيمة password/none/trusted-proxy، أو وضع غير معيّن حيث يمكن أن تنتصر كلمة المرور ولا يمكن لأي مرشح رمز مميز أن ينتصر)، تتخطى فحوص انجراف الرمز المميز حل رمز الإعداد.

gateway probe

gateway probe هو أمر "تصحيح كل شيء". يفحص دائمًا:

  • Gateway البعيد المكوَّن لديك (إذا تم تعيينه)، و
  • localhost (حلقة الرجوع) حتى إذا كان البعيد مكوَّنًا.

إذا مررت --url، يُضاف ذلك الهدف الصريح قبل كليهما. يوسم الإخراج البشري الأهداف كالتالي:

  • URL (explicit)
  • Remote (configured) أو Remote (configured, inactive)
  • Local loopback
openclaw gateway probe
openclaw gateway probe --json
التفسير
  • يعني 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

المستوى الأعلى:

  • 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: كان أكثر من هدف واحد قابلًا للوصول؛ هذا غير معتاد إلا إذا كنت تشغّل عن قصد ملفات تعريف معزولة، مثل روبوت إنقاذ.
  • auth_secretref_unresolved: تعذر حل SecretRef مصادقة مكوَّن لهدف فاشل.
  • probe_scope_limited: نجح اتصال WebSocket، لكن فحص القراءة كان محدودًا بسبب فقدان operator.read.

البعيد عبر SSH (تكافؤ تطبيق Mac)

يستخدم وضع "البعيد عبر SSH" في تطبيق macOS إعادة توجيه منفذ محلي بحيث يصبح Gateway البعيد (الذي قد يكون مرتبطًا بحلقة الرجوع فقط) قابلًا للوصول عند ws://127.0.0.1:<port>.

مكافئ CLI:

openclaw gateway probe --ssh user@gateway-host

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tc3NoIDx0YXJnZXQ " type="string"> user@host أو user@host:port (المنفذ الافتراضي هو 22).

--ssh-autoboolean

اختر أول مضيف Gateway مكتشف كهدف SSH من نقطة نهاية الاكتشاف المحلولة (local. بالإضافة إلى نطاق الشبكة الواسعة المكوَّن، إن وجد). تُتجاهل تلميحات TXT فقط.

الإعداد (اختياري، يُستخدم كقيم افتراضية):

  • gateway.remote.sshTarget
  • gateway.remote.sshIdentity

gateway call <method>

مساعد RPC منخفض المستوى.

openclaw gateway call status
openclaw gateway call logs.tail --params '{"sinceMs": 60000}'
"--params
"--url
"--token
"--password
"--timeout
--expect-finalboolean

أساسًا لاستدعاءات RPC ذات نمط الوكيل التي تبث أحداثًا وسيطة قبل حمولة نهائية.

--jsonboolean

إخراج JSON قابل للقراءة آليًا.

إدارة خدمة Gateway

openclaw gateway install
openclaw gateway start
openclaw gateway stop
openclaw gateway restart
openclaw gateway uninstall

التثبيت باستخدام مغلّف

استخدم --wrapper عندما يجب أن تبدأ الخدمة المُدارة عبر ملف تنفيذي آخر، مثل طبقة توافق مدير أسرار أو مساعد تشغيل كمستخدم. يتلقى المغلّف وسائط Gateway العادية ويكون مسؤولًا في النهاية عن تنفيذ openclaw أو Node بتلك الوسائط.

cat > ~/.local/bin/openclaw-doppler <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
exec doppler run --project my-project --config production -- openclaw "$@"
EOF
chmod +x ~/.local/bin/openclaw-doppler

openclaw gateway install --wrapper ~/.local/bin/openclaw-doppler --force
openclaw gateway restart

يمكنك أيضًا تعيين المغلّف عبر البيئة. يتحقق gateway install من أن المسار ملف تنفيذي، ويكتب المغلّف في ProgramArguments الخاصة بالخدمة، ويستمر في حفظ OPENCLAW_WRAPPER في بيئة الخدمة لعمليات إعادة التثبيت القسرية والتحديثات وإصلاحات doctor اللاحقة.

OPENCLAW_WRAPPER="$HOME/.local/bin/openclaw-doppler" openclaw gateway install --force
openclaw doctor

لإزالة مغلّف محفوظ، امسح OPENCLAW_WRAPPER أثناء إعادة التثبيت:

OPENCLAW_WRAPPER= openclaw gateway install --force
openclaw gateway restart
خيارات الأوامر
  • gateway status: --url, --token, --password, --timeout, --no-probe, --require-rpc, --deep, --json
  • gateway install: --port, --runtime <node|bun>, --token, --wrapper <path>, --force, --json
  • gateway restart: --safe, --force, --wait <duration>, --json
  • gateway uninstall|start|stop: --json
سلوك دورة الحياة
  • استخدم gateway restart لإعادة تشغيل خدمة مُدارة. لا تسلسل gateway stop وgateway start كبديل لإعادة التشغيل؛ في macOS، يعطّل gateway stop عن قصد LaunchAgent قبل إيقافه.
  • يطلب gateway restart --safe من Gateway الجاري تشغيله إجراء فحص مسبق لأعمال OpenClaw النشطة وتأجيل إعادة التشغيل حتى يتم تصريف تسليم الردود، والتشغيلات المضمّنة، وتشغيلات المهام. لا يمكن دمج --safe مع --force أو --wait.
  • يتجاوز gateway restart --wait 30s ميزانية تصريف إعادة التشغيل المكوَّنة لتلك الإعادة. الأرقام المجردة بالميلي ثانية؛ وتُقبل وحدات مثل s وm وh. ينتظر --wait 0 إلى أجل غير مسمى.
  • يتخطى gateway restart --force تصريف العمل النشط ويعيد التشغيل فورًا. استخدمه عندما يكون المشغل قد فحص بالفعل عوائق المهام المدرجة ويريد إعادة Gateway الآن.
  • تقبل أوامر دورة الحياة --json للاستخدام في النصوص البرمجية.
المصادقة ومراجع SecretRef وقت التثبيت
  • عندما تتطلب مصادقة الرمز المميز رمزًا مميزًا ويكون 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 غير معيّن، يتم حظر التثبيت حتى يتم تعيين الوضع صراحة.

اكتشاف Gateways (Bonjour)

يفحص gateway discover إشارات Gateway (_openclaw-gw._tcp).

  • Multicast DNS-SD: local.
  • Unicast DNS-SD (Wide-Area Bonjour): اختر نطاقًا (مثال: openclaw.internal.) واضبط DNS مقسمًا + خادم DNS؛ راجع Bonjour.

تعلن الإشارة فقط Gateways التي تم تمكين اكتشاف Bonjour فيها (افتراضيًا).

تتضمن سجلات الاكتشاف واسع النطاق (TXT):

  • role (تلميح دور Gateway)
  • transport (تلميح النقل، مثل gateway)
  • gatewayPort (منفذ WebSocket، عادةً 18789)
  • sshPort (اختياري؛ يستخدم العملاء أهداف SSH الافتراضية إلى 22 عند غيابه)
  • tailnetDns (اسم مضيف MagicDNS، عند توفره)
  • gatewayTls / gatewayTlsSha256 (TLS مفعّل + بصمة الشهادة)
  • cliPath (تلميح التثبيت البعيد المكتوب إلى المنطقة واسعة النطاق)

gateway discover

openclaw gateway discover
"--timeout
--jsonboolean

مخرجات قابلة للقراءة آليًا (كما يعطل التنسيق/المؤشر الدوار).

أمثلة:

openclaw gateway discover --timeout 4000
openclaw gateway discover --json | jq '.beacons[].wsUrl'

ذو صلة