Gateway

بررسی‌های سلامت

راهنمایی کوتاه برای بررسی اتصال کانال بدون حدس‌زدن.

بررسی‌های سریع

  • openclaw status - خلاصه محلی: دسترسی‌پذیری/حالت Gateway، راهنمای به‌روزرسانی، سن احراز هویت کانال پیوندشده، نشست‌ها و فعالیت اخیر.
  • openclaw status --all - عیب‌یابی کامل محلی (فقط‌خواندنی، رنگی، امن برای جای‌گذاری جهت اشکال‌زدایی).
  • openclaw status --deep - از Gateway در حال اجرا یک کاوش زنده درخواست می‌کند (health با probe:true)؛ در صورت پشتیبانی، شامل کاوش کانال برای هر حساب نیز می‌شود.
  • openclaw status --usage - نماهای لحظه‌ای مصرف/سهمیه ارائه‌دهنده مدل را نمایش می‌دهد.
  • openclaw health - از Gateway در حال اجرا نمای لحظه‌ای سلامت آن را درخواست می‌کند (فقط WS؛ بدون سوکت مستقیم کانال از CLI).
  • openclaw health --verbose (نام مستعار --debug) - یک کاوش زنده سلامت را اجباری می‌کند و جزئیات اتصال Gateway را چاپ می‌کند.
  • openclaw health --json - خروجی ماشین‌خوانِ نمای لحظه‌ای سلامت.
  • /status را به‌عنوان یک فرمان مستقل چت در هر کانالی ارسال کنید تا بدون فراخوانی عامل، پاسخ وضعیت دریافت کنید.
  • گزارش‌ها: openclaw logs --follow (یا openclaw --profile <profile> logs --follow) را اجرا و بر اساس web-heartbeat، web-reconnect، web-auto-reply، web-inbound فیلتر کنید.

برای Discord و دیگر ارائه‌دهندگان چت، ردیف‌های نشست نشان‌دهنده زنده‌بودن سوکت نیستند. openclaw sessions، sessions.list در Gateway و ابزار sessions_list عامل، وضعیت ذخیره‌شده مکالمه را می‌خوانند. ممکن است یک ارائه‌دهنده دوباره متصل شود و پیش از ایجاد هر ردیف نشست جدیدی، وضعیت سالم کانال را نمایش دهد. برای بررسی زنده اتصال، از فرمان‌های وضعیت و سلامت کانال در بالا استفاده کنید.

عیب‌یابی عمیق

  • اعتبارنامه‌ها روی دیسک: ls -l ~/.openclaw/credentials/whatsapp/<accountId>/creds.json (زمان تغییر باید جدید باشد).
  • ذخیره‌گاه نشست: ls -l ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite. تعداد و گیرندگان اخیر از طریق status نمایش داده می‌شوند.
  • جریان پیوند مجدد: هنگامی که کدهای وضعیت 409-515 یا loggedOut در گزارش‌ها ظاهر می‌شوند، openclaw channels logout && openclaw channels login --verbose را اجرا کنید. جریان ورود با QR پس از جفت‌سازی و دریافت وضعیت 515، یک‌بار به‌طور خودکار دوباره راه‌اندازی می‌شود.
  • عیب‌یابی به‌طور پیش‌فرض فعال است (diagnostics.enabled: false آن را غیرفعال می‌کند). رویدادهای حافظه، شمارش بایت‌های RSS/heap و فشار ناشی از آستانه/رشد را ثبت می‌کنند. هشدارهای زنده‌بودن، هنگامی که فرایند در حال اجرا اما اشباع است، تأخیر/بهره‌برداری حلقه رویداد، نسبت هسته CPU و تعداد نشست‌های فعال/منتظر/صف‌شده را ثبت می‌کنند. رویدادهای بار بیش‌ازحد بزرگ، مورد ردشده/کوتاه‌شده/قطعه‌بندی‌شده را همراه با اندازه‌ها و محدودیت‌ها ثبت می‌کنند؛ هرگز متن پیام، محتوای پیوست، بدنه‌های webhook، بدنه خام درخواست/پاسخ، توکن‌ها، کوکی‌ها یا مقادیر محرمانه را ثبت نمی‌کنند.
  • همان Heartbeat ثبت‌کننده پایداری محدود را نیز به حرکت درمی‌آورد: openclaw gateway stability (یا RPC مربوط به diagnostics.stability در Gateway). خروج‌های مهلک Gateway، پایان مهلت خاموش‌سازی و شکست‌های راه‌اندازی پس از شروع مجدد، جدیدترین نمای لحظه‌ای را در ~/.openclaw/logs/stability/ نگه می‌دارند. جدیدترین بسته را با openclaw gateway stability --bundle latest بررسی کنید.
  • برای گزارش اشکال، openclaw gateway diagnostics export را اجرا و فایل zip تولیدشده را پیوست کنید: یک خلاصه Markdown، جدیدترین بسته پایداری، فراداده پاک‌سازی‌شده گزارش‌ها، نماهای لحظه‌ای پاک‌سازی‌شده وضعیت/سلامت Gateway و ساختار پیکربندی. متن چت، بدنه‌های webhook، خروجی ابزارها، اعتبارنامه‌ها، کوکی‌ها، شناسه‌های حساب/پیام و مقادیر محرمانه حذف یا ویرایش می‌شوند. برون‌بری عیب‌یابی را ببینید.

پیکربندی پایش سلامت

  • channels.<provider>.healthMonitor.enabled: شروع‌های مجدد پایش سلامت را برای یک کانال مشخص غیرفعال می‌کند، درحالی‌که پایش سراسری فعال باقی می‌ماند.
  • channels.<provider>.accounts.<accountId>.healthMonitor.enabled: بازنویسی چندحسابی که بر تنظیم سطح کانال اولویت دارد.
  • این بازنویسی‌های مختص کانال برای کانال‌های داخلی که اکنون آن‌ها را ارائه می‌کنند اعمال می‌شوند: Discord، Google Chat، iMessage، IRC، Microsoft Teams، Signal، Slack، Telegram و WhatsApp.

پایش زمان فعالیت

سرویس‌های بیرونی پایش زمان فعالیت باید از نقطه پایانی اختصاصی /health استفاده کنند، نه /v1/chat/completions.

  • استفاده کنید: GET /health - پاسخ فوری، بدون ایجاد نشست، بدون فراخوانی LLM، با خروجی {"ok":true,"status":"live"}
  • استفاده نکنید: از /v1/chat/completions برای بررسی سلامت - هر درخواست یک نشست کامل عامل همراه با نمای لحظه‌ای Skills، ساخت زمینه و فراخوانی‌های LLM ایجاد می‌کند

وقتی هیچ سرآیند x-openclaw-session-key یا فیلد user ارائه نشود، /v1/chat/completions برای هر درخواست یک نشست تصادفی جدید ایجاد می‌کند. سرویس‌های پایشی که هر 15 دقیقه پینگ می‌کنند، حدود 96 نشست در روز ایجاد می‌کنند که هرکدام 4-22KB مصرف دارند. این وضعیت به‌مرور باعث تورم ذخیره‌گاه نشست می‌شود و می‌تواند به سرریز پنجره زمینه منجر شود.

نمونه‌های راه‌اندازی سرویس پایش

  • BetterStack: نشانی بررسی سلامت را روی https://<your-gateway-host>:<port>/health تنظیم کنید
  • UptimeRobot: یک پایشگر HTTP جدید با نشانی https://<your-gateway-host>:<port>/health اضافه کنید
  • عمومی: هر درخواست HTTP GET به /health، هنگامی که Gateway سالم است، وضعیت 200 را همراه با {"ok":true} برمی‌گرداند

هنگام بروز خطا

  • logged out یا وضعیت 409-515 -> ابتدا با openclaw channels logout و سپس openclaw channels login دوباره پیوند دهید.
  • Gateway در دسترس نیست -> آن را راه‌اندازی کنید: openclaw gateway --port 18789 (اگر درگاه اشغال است، از --force استفاده کنید).
  • پیام ورودی وجود ندارد -> تأیید کنید تلفن پیوندشده آنلاین است و فرستنده مجاز است (channels.whatsapp.allowFrom)؛ برای چت‌های گروهی، مطمئن شوید فهرست مجاز و قواعد اشاره مطابقت دارند (channels.whatsapp.groups، agents.entries.*.groupChat.mentionPatterns).

فرمان اختصاصی «سلامت»

openclaw health از Gateway در حال اجرا نمای لحظه‌ای سلامت آن را درخواست می‌کند (بدون سوکت مستقیم کانال از CLI). به‌طور پیش‌فرض، یک نمای لحظه‌ای تازه و ذخیره‌شده در حافظه نهان Gateway را برمی‌گرداند و Gateway آن حافظه نهان را در پس‌زمینه تازه‌سازی می‌کند؛ --verbose در عوض یک کاوش زنده را اجباری می‌کند. این فرمان در صورت دسترسی، سن اعتبارنامه‌های پیوندشده/احراز هویت، خلاصه کاوش هر کانال، خلاصه ذخیره‌گاه نشست و مدت کاوش را گزارش می‌کند. اگر Gateway در دسترس نباشد یا کاوش شکست بخورد/مهلتش پایان یابد، با کد غیرصفر خارج می‌شود.

گزینه‌ها:

  • --json: خروجی JSON ماشین‌خوان
  • --timeout <ms>: بازنویسی مهلت پیش‌فرض 10s برای کاوش
  • --verbose: اجباری‌کردن کاوش زنده و چاپ جزئیات اتصال Gateway
  • --debug: نام مستعار --verbose

نمای لحظه‌ای سلامت شامل این موارد است: ok (بولی)، ts (مهر زمانی)، durationMs (زمان کاوش)، وضعیت هر کانال، دسترس‌پذیری عامل و خلاصه ذخیره‌گاه نشست.

مرتبط

Was this useful?
On this page

On this page