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 (زمان کاوش)، وضعیت هر کانال، دسترسپذیری عامل و خلاصه ذخیرهگاه نشست.