Web interfaces

داشبورد

داشبورد Gateway همان رابط کنترل مرورگر است که به‌طور پیش‌فرض در / ارائه می‌شود (با gateway.controlUi.basePath بازنویسی کنید).

باز کردن سریع (Gateway محلی):

مراجع کلیدی:

  • رابط کنترل برای نحوه استفاده و قابلیت‌های رابط کاربری.
  • Tailscale برای خودکارسازی Serve/Funnel.
  • سطوح وب برای حالت‌های اتصال و نکات امنیتی.

احراز هویت هنگام دست‌دهی WebSocket و از طریق مسیر پیکربندی‌شده احراز هویت Gateway اعمال می‌شود:

  • connect.params.auth.token
  • connect.params.auth.password
  • سرآیندهای هویت Tailscale Serve هنگامی که gateway.auth.allowTailscale: true
  • سرآیندهای هویت پراکسی مورد اعتماد هنگامی که gateway.auth.mode: "trusted-proxy"

gateway.auth را در پیکربندی Gateway ببینید.

مسیر سریع (توصیه‌شده)

  • پس از راه‌اندازی اولیه، CLI به‌طور خودکار داشبورد را باز می‌کند و یک پیوند پاک (بدون توکن) نمایش می‌دهد.
  • هر زمان خواستید دوباره باز کنید: openclaw dashboard (پیوند را کپی می‌کند، در صورت امکان مرورگر را باز می‌کند و در محیط بدون رابط گرافیکی راهنمای SSH نمایش می‌دهد).
  • اگر انتقال از طریق کلیپ‌بورد و مرورگر هر دو ناموفق باشند، openclaw dashboard همچنان URL پاک را نمایش می‌دهد و از شما می‌خواهد توکن خود را (از OPENCLAW_GATEWAY_TOKEN یا gateway.auth.token) با کلید قطعه URL به نام token به آن بیفزایید؛ مقدار توکن هرگز در گزارش‌ها نمایش داده نمی‌شود.
  • اگر رابط کاربری برای احراز هویت با راز مشترک درخواست داد، توکن یا گذرواژه پیکربندی‌شده را در تنظیمات رابط کنترل جای‌گذاری کنید.

مبانی احراز هویت (محلی در برابر راه دور)

  • میزبان محلی: http://127.0.0.1:18789/ را باز کنید.
  • TLS در Gateway: هنگامی که gateway.tls.enabled: true، پیوندهای داشبورد/وضعیت از https:// و پیوندهای WebSocket رابط کنترل از wss:// استفاده می‌کنند.
  • منبع توکن راز مشترک: gateway.auth.token (یا OPENCLAW_GATEWAY_TOKEN). ‏openclaw dashboard می‌تواند برای راه‌اندازی یک‌باره آن را از طریق قطعه URL ارسال کند؛ رابط کنترل آن را برای زبانه فعلی و URL انتخاب‌شده Gateway در sessionStorage نگه می‌دارد، نه در localStorage.
  • توکن زمان اجرا در صورت نبود پیکربندی: اگر هنگام شروع اعلام شد که یک توکن زمان اجرا ایجاد شده است، آن توکن موقتی است و از طریق openclaw config get gateway.auth.token در دسترس نیست. اتصال حلقه بازگشتی همچنان به احراز هویت نیاز دارد. openclaw doctor --generate-gateway-token را اجرا کنید، Gateway را دوباره راه‌اندازی کنید، سپس توکن پیکربندی‌شده را در تنظیمات رابط کنترل جای‌گذاری کنید.
  • اگر gateway.auth.token با SecretRef مدیریت شود، openclaw dashboard عمداً یک URL بدون توکن را نمایش می‌دهد، کپی می‌کند یا باز می‌کند تا توکن‌های مدیریت‌شده خارجی در گزارش‌های پوسته، تاریخچه کلیپ‌بورد یا آرگومان‌های راه‌اندازی مرورگر افشا نشوند. اگر مرجع در پوسته فعلی شما قابل حل نباشد، همچنان URL بدون توکن را همراه با راهنمای عملی تنظیم احراز هویت نمایش می‌دهد.
  • گذرواژه راز مشترک: از gateway.auth.password پیکربندی‌شده (یا OPENCLAW_GATEWAY_PASSWORD) استفاده کنید. داشبورد گذرواژه‌ها را پس از بارگذاری مجدد نگه نمی‌دارد.
  • حالت‌های دارای هویت: هنگامی که gateway.auth.allowTailscale: true، ‏Tailscale Serve از طریق سرآیندهای هویت الزامات احراز هویت رابط کنترل/WebSocket را برآورده می‌کند؛ یک پراکسی معکوس آگاه از هویت که حلقه بازگشتی نیست، gateway.auth.mode: "trusted-proxy" را برآورده می‌کند. هیچ‌یک برای WebSocket به جای‌گذاری راز مشترک نیاز ندارند.
  • غیر از میزبان محلی: از Tailscale Serve، اتصال غیرحلقه‌بازگشتی با راز مشترک، پراکسی معکوس غیرحلقه‌بازگشتی و آگاه از هویت با gateway.auth.mode: "trusted-proxy"، یا تونل SSH استفاده کنید. APIهای HTTP همچنان از احراز هویت با راز مشترک استفاده می‌کنند، مگر اینکه عمداً gateway.auth.mode: "none" با ورودی خصوصی یا احراز هویت HTTP از طریق پراکسی مورد اعتماد را اجرا کنید. سطوح وب را ببینید.

باز کردن در Telegram

ربات‌های Telegram می‌توانند با /dashboard داشبورد را به‌عنوان یک برنامه کوچک Telegram باز کنند.

الزامات:

  • gateway.tailscale.mode: "serve" یا "funnel" تا Telegram یک URL ‏HTTPS برای برنامه کوچک دریافت کند.
  • فرستنده Telegram باید مالک ربات باشد: یک شناسه عددی کاربر Telegram در commands.ownerAllowFrom یا channels.telegram.allowFrom مؤثر حساب انتخاب‌شده.
  • /dashboard را در پیام مستقیم با ربات اجرا کنید. فراخوانی در گروه فقط به شما می‌گوید فرمان را در پیام مستقیم باز کنید و شامل دکمه نیست.
  • نصب‌های Docker: حالت‌های Serve/Funnel مستلزم آن‌اند که Gateway در کنار tailscaled به حلقه بازگشتی متصل شود؛ شبکه‌سازی پل با درگاه‌های منتشرشده نمی‌تواند این شرط را برآورده کند. کانتینر Gateway را با network_mode: host اجرا کنید و سوکت tailscaled میزبان (/var/run/tailscale) را به‌همراه CLI ‏tailscale داخل کانتینر سوار کنید.

برنامه کوچک یک واگذاری یک‌باره مالک انجام می‌دهد و با یک توکن راه‌اندازی کوتاه‌عمر به رابط کنترل هدایت می‌کند. این فرایند توکن مشترک Gateway را در URL افشا نمی‌کند.

موارد خارج از اهداف نسخه ۱:

  • iframe وب Telegram پشتیبانی نمی‌شود.
  • Tailscale Serve/Funnel تنها مسیر پشتیبانی‌شده برای URL منتشرشده است.

اگر «unauthorized» / 1008 مشاهده کردید

  • از دردسترس‌بودن Gateway مطمئن شوید: برای حالت محلی openclaw status؛ برای حالت راه دور، تونل SSH ‏ssh -N -L 18789:127.0.0.1:18789 user@gateway-host و سپس http://127.0.0.1:18789/ را باز کنید.
  • برای AUTH_TOKEN_MISMATCH، هنگامی که Gateway راهنمای تلاش مجدد را برمی‌گرداند، کلاینت‌ها ممکن است یک بار با توکن دستگاه ذخیره‌شده، به‌صورت مورد اعتماد، دوباره تلاش کنند؛ این تلاش مجدد از محدوده‌های تأییدشده ذخیره‌شده توکن استفاده می‌کند (فراخواننده‌های صریح deviceToken/scopes مجموعه محدوده درخواستی خود را حفظ می‌کنند). اگر احراز هویت پس از آن تلاش مجدد همچنان ناموفق بود، ناهماهنگی توکن را به‌صورت دستی برطرف کنید.
  • برای AUTH_SCOPE_MISMATCH، توکن دستگاه شناسایی شده است اما محدوده‌های درخواستی را ندارد؛ به‌جای تعویض توکن مشترک Gateway، دوباره جفت‌سازی کنید یا مجموعه محدوده جدید را تأیید کنید.
  • خارج از آن مسیر تلاش مجدد، اولویت احراز هویت اتصال چنین است: توکن/گذرواژه مشترک صریح، سپس deviceToken صریح، سپس توکن ذخیره‌شده دستگاه، و سپس توکن راه‌اندازی.
  • در مسیر ناهمگام 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 را اجرا کنید، Gateway را دوباره راه‌اندازی کنید و سپس از توکن پیکربندی‌شده استفاده کنید
  • در تنظیمات داشبورد، توکن یا گذرواژه را در فیلد احراز هویت جای‌گذاری کنید و سپس متصل شوید.
  • گزینشگر زبان رابط کاربری در Settings -> General -> Language قرار دارد، نه زیر Appearance.

مرتبط

Was this useful?
On this page

On this page