لوحة التحكم (Control UI)
لوحة تحكم Gateway هي Control UI في المتصفح والمقدَّمة افتراضيًا عند/
(يمكن تجاوزها بواسطة gateway.controlUi.basePath).
فتح سريع (Gateway محلي):
مراجع أساسية:
- Control UI للاستخدام وقدرات الواجهة.
- Tailscale لأتمتة Serve/Funnel.
- أسطح الويب لأوضاع الربط وملاحظات الأمان.
connect.params.auth.tokenconnect.params.auth.password- ترويسات هوية Tailscale Serve عندما يكون
gateway.auth.allowTailscale: true - ترويسات هوية الوكيل الموثوق عندما يكون
gateway.auth.mode: "trusted-proxy"
gateway.auth في إعدادات Gateway.
ملاحظة أمنية: تُعد Control UI سطح إدارة (دردشة، وإعدادات، وموافقات exec).
لا تعرّضها علنًا. تحتفظ الواجهة برموز URL الخاصة باللوحة في sessionStorage
لجلسة علامة تبويب المتصفح الحالية وعنوان gateway المحدد، وتزيلها من عنوان URL بعد التحميل.
فضّل localhost، أو Tailscale Serve، أو نفق SSH.
المسار السريع (موصى به)
- بعد الإعداد الأولي، يقوم CLI بفتح لوحة التحكم تلقائيًا ويطبع رابطًا نظيفًا (من دون رمز).
- أعد فتحها في أي وقت:
openclaw dashboard(ينسخ الرابط، ويفتح المتصفح إن أمكن، ويعرض تلميح SSH إذا كان النظام headless). - إذا طلبت الواجهة مصادقة سرّ مشترك، فألصق الرمز أو كلمة المرور المضبوطة في إعدادات Control UI.
أساسيات المصادقة (محلي مقابل بعيد)
- localhost: افتح
http://127.0.0.1:18789/. - مصدر الرمز ذي السرّ المشترك:
gateway.auth.token(أوOPENCLAW_GATEWAY_TOKEN)؛ ويمكن لـopenclaw dashboardتمريره عبر مقطع URL لتمهيد لمرة واحدة، وتحتفظ به Control UI فيsessionStorageمن أجل جلسة علامة التبويب الحالية وعنوان gateway المحدد بدلًا منlocalStorage. - إذا كان
gateway.auth.tokenمُدارًا عبر SecretRef، فإنopenclaw dashboardيطبع/ينسخ/يفتح عنوان URL غير مضمَّن فيه رمز عمدًا. وهذا يتجنب كشف الرموز المُدارة خارجيًا في سجلات الصدفة أو محفوظات الحافظة أو وسائط تشغيل المتصفح. - إذا كان
gateway.auth.tokenمُعدًا كـ SecretRef ولم يُحل في الصدفة الحالية، فإنopenclaw dashboardلا يزال يطبع عنوان URL غير مضمَّن فيه رمز بالإضافة إلى إرشادات عملية لإعداد المصادقة. - كلمة مرور ذات سرّ مشترك: استخدم
gateway.auth.passwordالمضبوطة (أوOPENCLAW_GATEWAY_PASSWORD). لا تحتفظ اللوحة بكلمات المرور عبر عمليات إعادة التحميل. - أوضاع حاملة للهوية: يمكن لـ Tailscale Serve تلبية مصادقة Control UI/WebSocket
عبر ترويسات الهوية عندما يكون
gateway.auth.allowTailscale: true، ويمكن لوكيل عكسي غير loopback ومدرك للهوية تلبية المصادقة عندgateway.auth.mode: "trusted-proxy". في هذه الأوضاع، لا تحتاج اللوحة إلى سرّ مشترك ملصق من أجل WebSocket. - ليس localhost: استخدم Tailscale Serve، أو ربطًا غير loopback بسرّ مشترك، أو
وكيلًا عكسيًا غير loopback ومدركًا للهوية مع
gateway.auth.mode: "trusted-proxy"، أو نفق SSH. ولا تزال HTTP APIs تستخدم مصادقة السرّ المشترك ما لم تشغّل عمدًا وضعgateway.auth.mode: "none"الخاص بإدخال خاص، أو مصادقة HTTP للوكيل الموثوق. راجع أسطح الويب.
إذا رأيت “unauthorized” / 1008
- تأكد من إمكانية الوصول إلى gateway (محليًا:
openclaw status؛ وعن بُعد: نفق SSH ssh -N -L 18789:127.0.0.1:18789 user@hostثم افتحhttp://127.0.0.1:18789/). - بالنسبة إلى
AUTH_TOKEN_MISMATCH، قد ينفذ العملاء إعادة محاولة موثوقة واحدة باستخدام رمز جهاز مخزَّن مؤقتًا عندما يعيد gateway تلميحات إعادة المحاولة. وتعيد إعادة المحاولة بهذا الرمز المخزَّن استخدام النطاقات المعتمدة المخزَّنة للرمز؛ أما المستدعون الصريحون لـdeviceToken/scopesالصريحة فيحتفظون بمجموعة النطاقات التي طلبوها. وإذا استمرت المصادقة في الفشل بعد تلك الإعادة، فقم بحل انحراف الرمز يدويًا. - خارج مسار إعادة المحاولة هذا، تكون أولوية مصادقة الاتصال صريحة: الرمز/كلمة المرور المشتركة أولًا، ثم
deviceTokenالصريح، ثم رمز الجهاز المخزَّن، ثم رمز التمهيد. - على مسار Control UI غير المتزامن في Tailscale Serve، تتم
سلسلة المحاولات الفاشلة لنفس
{scope, ip}قبل أن يسجّل محدِّد المحاولات الفاشلة فشل المصادقة، لذلك قد تُظهر إعادة المحاولة السيئة الثانية المتزامنة بالفعل عبارةretry later. - لخطوات إصلاح انحراف الرمز، اتبع قائمة التحقق من استرداد انحراف الرمز.
- استخرج أو وفّر السرّ المشترك من مضيف gateway:
- الرمز:
openclaw config get gateway.auth.token - كلمة المرور: حل
gateway.auth.passwordالمضبوطة أوOPENCLAW_GATEWAY_PASSWORD - الرمز المُدار عبر SecretRef: حل موفّر الأسرار الخارجي أو صدّر
OPENCLAW_GATEWAY_TOKENفي هذه الصدفة، ثم أعد تشغيلopenclaw dashboard - لا يوجد سرّ مشترك مضبوط:
openclaw doctor --generate-gateway-token
- الرمز:
- في إعدادات اللوحة، ألصق الرمز أو كلمة المرور في حقل المصادقة، ثم اتصل.