CLI commands
Gateway
Gateway هو خادم WebSocket الخاص بـ OpenClaw (القنوات، العُقد، الجلسات، hooks). توجد الأوامر الفرعية في هذه الصفحة ضمن openclaw gateway ….
إعداد mDNS المحلي + DNS-SD واسع النطاق.
كيف يعلن OpenClaw عن gateways ويعثر عليها.
مفاتيح تكوين 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"--authOPENCLAW_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.sshTargetgateway.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,--jsongateway install:--port,--runtime <node|bun>,--token,--wrapper <path>,--force,--jsongateway restart:--safe,--force,--wait <duration>,--jsongateway 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'