Gateway

การตรวจสอบสถานภาพ

คู่มือสั้น ๆ สำหรับตรวจสอบการเชื่อมต่อของช่องทางโดยไม่ต้องเดา

การตรวจสอบอย่างรวดเร็ว

  • openclaw status — สรุปในเครื่อง: การเข้าถึง/โหมดของ Gateway, คำใบ้การอัปเดต, อายุการยืนยันตัวตนของช่องทางที่ลิงก์แล้ว, เซสชัน + กิจกรรมล่าสุด
  • openclaw status --all — การวินิจฉัยในเครื่องแบบเต็ม (อ่านอย่างเดียว, มีสี, วางเพื่อดีบักได้อย่างปลอดภัย)
  • openclaw status --deep — ขอให้ Gateway ที่กำลังทำงานอยู่ทำการตรวจสุขภาพสด (health พร้อม probe:true) รวมถึงการตรวจสอบช่องทางรายบัญชีเมื่อรองรับ
  • openclaw health — ขอ snapshot สุขภาพจาก Gateway ที่กำลังทำงานอยู่ (เฉพาะ WS; ไม่มีซ็อกเก็ตช่องทางโดยตรงจาก CLI)
  • openclaw health --verbose — บังคับการตรวจสุขภาพสดและพิมพ์รายละเอียดการเชื่อมต่อ Gateway
  • openclaw health --json — เอาต์พุต snapshot สุขภาพที่อ่านได้ด้วยเครื่อง
  • ส่ง /status เป็นข้อความเดี่ยวใน WhatsApp/WebChat เพื่อรับการตอบกลับสถานะโดยไม่เรียกใช้เอเจนต์
  • บันทึก: tail /tmp/openclaw/openclaw-*.log และกรองหา web-heartbeat, web-reconnect, web-auto-reply, web-inbound

สำหรับ Discord และผู้ให้บริการแชตอื่น ๆ แถวเซสชันไม่ใช่สถานะการมีชีวิตของซ็อกเก็ต openclaw sessions, Gateway sessions.list, และเครื่องมือ sessions_list ของเอเจนต์ อ่านสถานะการสนทนาที่จัดเก็บไว้ ผู้ให้บริการสามารถเชื่อมต่อใหม่และแสดงสถานะช่องทางที่ปกติ ก่อนที่แถวเซสชันใหม่ใด ๆ จะถูกสร้างขึ้น ใช้คำสั่งสถานะช่องทางและ สุขภาพด้านบนสำหรับการตรวจสอบการเชื่อมต่อสด

การวินิจฉัยเชิงลึก

  • ข้อมูลรับรองบนดิสก์: ls -l ~/.openclaw/credentials/whatsapp/<accountId>/creds.json (mtime ควรเป็นเวลาล่าสุด)
  • ที่เก็บเซสชัน: ls -l ~/.openclaw/agents/<agentId>/sessions/sessions.json (เส้นทางสามารถถูกแทนที่ได้ในคอนฟิก) จำนวนและผู้รับล่าสุดจะแสดงผ่าน status
  • โฟลว์ลิงก์ใหม่: openclaw channels logout && openclaw channels login --verbose เมื่อรหัสสถานะ 409–515 หรือ loggedOut ปรากฏในบันทึก (หมายเหตุ: โฟลว์ล็อกอิน QR จะรีสตาร์ตอัตโนมัติหนึ่งครั้งสำหรับสถานะ 515 หลังการจับคู่)
  • การวินิจฉัยถูกเปิดใช้งานตามค่าเริ่มต้น Gateway จะบันทึกข้อเท็จจริงเชิงปฏิบัติการ เว้นแต่จะตั้งค่า diagnostics.enabled: false เหตุการณ์หน่วยความจำบันทึกจำนวนไบต์ RSS/heap, แรงกดดันตาม threshold และแรงกดดันจากการเติบโต คำเตือนการมีชีวิตบันทึกความหน่วงของ event-loop, การใช้งาน event-loop, อัตราส่วนคอร์ CPU และจำนวนเซสชันที่ใช้งานอยู่/รออยู่/เข้าคิว เมื่อกระบวนการกำลังทำงานแต่ถูกใช้งานจนเต็ม เหตุการณ์ payload ขนาดใหญ่เกินไปบันทึกสิ่งที่ถูกปฏิเสธ ตัดให้สั้น หรือแบ่งเป็นชิ้น พร้อมขนาดและขีดจำกัดเมื่อมีข้อมูล เหตุการณ์เหล่านี้ไม่บันทึกข้อความของแชต เนื้อหาไฟล์แนบ body ของ Webhook body ของคำขอหรือการตอบกลับดิบ โทเค็น คุกกี้ หรือค่าลับ Heartbeat เดียวกันจะเริ่มตัวบันทึกเสถียรภาพแบบมีขอบเขต ซึ่งเข้าถึงได้ผ่าน openclaw gateway stability หรือ RPC ของ Gateway diagnostics.stability การออกจาก Gateway แบบ fatal, timeout ตอนปิดระบบ และความล้มเหลวตอนเริ่มต้นหลังรีสตาร์ต จะคง snapshot ล่าสุดของตัวบันทึกไว้ใต้ ~/.openclaw/logs/stability/ เมื่อมีเหตุการณ์อยู่; ตรวจดู bundle ที่บันทึกใหม่ที่สุดด้วย openclaw gateway stability --bundle latest
  • สำหรับรายงานบั๊ก ให้เรียกใช้ openclaw gateway diagnostics export และแนบไฟล์ zip ที่สร้างขึ้น การส่งออกจะรวมสรุป Markdown, bundle เสถียรภาพล่าสุด, metadata บันทึกที่ผ่านการทำให้ปลอดภัย, snapshot สถานะ/สุขภาพ Gateway ที่ผ่านการทำให้ปลอดภัย และรูปทรงคอนฟิก สิ่งนี้ถูกออกแบบมาเพื่อแชร์: ข้อความแชต, body ของ Webhook, เอาต์พุตเครื่องมือ, ข้อมูลรับรอง, คุกกี้, ตัวระบุบัญชี/ข้อความ และค่าลับจะถูกละเว้นหรือปกปิด ดู การส่งออกการวินิจฉัย

คอนฟิกตัวตรวจสอบสุขภาพ

  • gateway.channelHealthCheckMinutes: ความถี่ที่ Gateway ตรวจสุขภาพช่องทาง ค่าเริ่มต้น: 5 ตั้งค่า 0 เพื่อปิดการรีสตาร์ตโดยตัวตรวจสอบสุขภาพทั่วทั้งระบบ
  • gateway.channelStaleEventThresholdMinutes: ระยะเวลาที่ช่องทางที่เชื่อมต่อแล้วสามารถไม่มีการใช้งานได้ก่อนที่ตัวตรวจสอบสุขภาพจะถือว่าล้าสมัยและรีสตาร์ต ค่าเริ่มต้น: 30 ให้ค่านี้มากกว่าหรือเท่ากับ gateway.channelHealthCheckMinutes
  • gateway.channelMaxRestartsPerHour: เพดานแบบเลื่อนช่วงหนึ่งชั่วโมงสำหรับการรีสตาร์ตโดยตัวตรวจสอบสุขภาพต่อช่องทาง/บัญชี ค่าเริ่มต้น: 10
  • channels.<provider>.healthMonitor.enabled: ปิดการรีสตาร์ตโดยตัวตรวจสอบสุขภาพสำหรับช่องทางเฉพาะ โดยยังคงเปิดการตรวจสอบทั่วทั้งระบบไว้
  • channels.<provider>.accounts.<accountId>.healthMonitor.enabled: การแทนที่แบบหลายบัญชีที่มีลำดับความสำคัญเหนือการตั้งค่าระดับช่องทาง
  • การแทนที่รายช่องทางเหล่านี้ใช้กับตัวตรวจสอบช่องทางในตัวที่เปิดให้ใช้ในปัจจุบัน: Discord, Google Chat, iMessage, Microsoft Teams, Signal, Slack, Telegram และ WhatsApp

เมื่อมีบางอย่างล้มเหลว

  • logged out หรือสถานะ 409–515 → ลิงก์ใหม่ด้วย openclaw channels logout แล้วตามด้วย openclaw channels login
  • Gateway เข้าถึงไม่ได้ → เริ่มต้น: openclaw gateway --port 18789 (ใช้ --force หากพอร์ตไม่ว่าง)
  • ไม่มีข้อความขาเข้า → ยืนยันว่าโทรศัพท์ที่ลิงก์อยู่ออนไลน์ และผู้ส่งได้รับอนุญาต (channels.whatsapp.allowFrom); สำหรับแชตกลุ่ม ให้แน่ใจว่ากฎ allowlist + mention ตรงกัน (channels.whatsapp.groups, agents.list[].groupChat.mentionPatterns)

คำสั่ง "health" เฉพาะทาง

openclaw health ขอ snapshot สุขภาพจาก Gateway ที่กำลังทำงานอยู่ (ไม่มีซ็อกเก็ตช่องทาง โดยตรงจาก CLI) โดยค่าเริ่มต้น คำสั่งนี้สามารถคืน snapshot Gateway ที่แคชไว้ใหม่ได้ จากนั้น Gateway จะรีเฟรชแคชนั้นในเบื้องหลัง openclaw health --verbose จะบังคับ การตรวจสดแทน คำสั่งนี้รายงานข้อมูลรับรองที่ลิงก์แล้ว/อายุการยืนยันตัวตนเมื่อมีข้อมูล, สรุปการตรวจรายช่องทาง, สรุปที่เก็บเซสชัน และระยะเวลาการตรวจ คำสั่งจะออกด้วยสถานะ ไม่เป็นศูนย์หากเข้าถึง Gateway ไม่ได้ หรือการตรวจล้มเหลว/timeout

ตัวเลือก:

  • --json: เอาต์พุต JSON ที่อ่านได้ด้วยเครื่อง
  • --timeout <ms>: แทนที่ timeout การตรวจค่าเริ่มต้น 10 วินาที
  • --verbose: บังคับการตรวจสดและพิมพ์รายละเอียดการเชื่อมต่อ Gateway
  • --debug: ชื่อแฝงของ --verbose

snapshot สุขภาพประกอบด้วย: ok (บูลีน), ts (timestamp), durationMs (เวลาการตรวจ), สถานะรายช่องทาง, ความพร้อมใช้งานของเอเจนต์ และสรุปที่เก็บเซสชัน

ที่เกี่ยวข้อง