Gateway

การส่งออกข้อมูลวินิจฉัย

OpenClaw สามารถสร้างไฟล์ zip การวินิจฉัยในเครื่องสำหรับรายงานบั๊กได้ โดยรวม สถานะ Gateway, สุขภาพระบบ, บันทึก, รูปทรง config และเหตุการณ์ความเสถียรล่าสุด แบบไม่มีเพย์โหลดที่ผ่านการทำให้ปลอดภัยแล้ว

ให้ปฏิบัติต่อชุดข้อมูลการวินิจฉัยเหมือนความลับจนกว่าคุณจะตรวจสอบแล้ว ชุดข้อมูลเหล่านี้ ออกแบบมาให้ละเว้นหรือปกปิดเพย์โหลดและข้อมูลรับรอง แต่ยังคงสรุป บันทึก Gateway ในเครื่องและสถานะรันไทม์ระดับโฮสต์

เริ่มต้นอย่างรวดเร็ว

bash
openclaw gateway diagnostics export

คำสั่งจะพิมพ์พาธ zip ที่เขียนไว้ หากต้องการเลือกพาธ:

bash
openclaw gateway diagnostics export --output openclaw-diagnostics.zip

สำหรับระบบอัตโนมัติ:

bash
openclaw gateway diagnostics export --json

คำสั่งแชท

เจ้าของสามารถใช้ /diagnostics [note] ในแชทเพื่อขอส่งออก Gateway ในเครื่อง ใช้คำสั่งนี้เมื่อบั๊กเกิดขึ้นในการสนทนาจริงและคุณต้องการรายงานเดียว ที่คัดลอกและวางได้สำหรับฝ่ายสนับสนุน:

  1. ส่ง /diagnostics ในการสนทนาที่คุณสังเกตเห็นปัญหา เพิ่มหมายเหตุ สั้น ๆ หากช่วยได้ เช่น /diagnostics bad tool choice
  2. OpenClaw จะส่งคำนำการวินิจฉัยและขออนุมัติ exec อย่างชัดเจนหนึ่งครั้ง การอนุมัติจะรัน openclaw gateway diagnostics export --json อย่าอนุมัติการวินิจฉัยผ่านกฎอนุญาตทั้งหมด
  3. หลังจากอนุมัติแล้ว OpenClaw จะตอบกลับด้วยรายงานที่วางได้ ซึ่งมีพาธ ชุดข้อมูลในเครื่อง สรุป manifest หมายเหตุความเป็นส่วนตัว และรหัสเซสชันที่เกี่ยวข้อง

ในแชทกลุ่ม เจ้าของยังสามารถรัน /diagnostics ได้ แต่ OpenClaw จะไม่ โพสต์รายละเอียดการวินิจฉัยกลับเข้าไปในแชทที่ใช้ร่วมกัน ระบบจะส่งคำนำ พร้อมต์อนุมัติ ผลลัพธ์การส่งออก Gateway และรายละเอียดแยกตามเซสชัน/เธรดของ Codex ไปยังเจ้าของผ่านเส้นทางอนุมัติส่วนตัว กลุ่มจะได้รับเพียงประกาศสั้น ๆ ว่ากระบวนการวินิจฉัยถูกส่งแบบส่วนตัวแล้ว หาก OpenClaw หาเส้นทางส่วนตัว ไปยังเจ้าของไม่พบ คำสั่งจะล้มเหลวแบบปิดและขอให้เจ้าของรันจาก DM

เมื่อเซสชัน OpenClaw ที่ใช้งานอยู่กำลังใช้ฮาร์เนส OpenAI Codex แบบเนทีฟ การอนุมัติ exec เดียวกันจะครอบคลุมการอัปโหลดข้อเสนอแนะ OpenAI สำหรับเธรด รันไทม์ Codex ที่ OpenClaw รู้จักด้วย การอัปโหลดนั้นแยกจากไฟล์ zip Gateway ในเครื่อง และปรากฏเฉพาะสำหรับเซสชันฮาร์เนส Codex ก่อนอนุมัติ พร้อมต์จะอธิบายว่า การอนุมัติการวินิจฉัยจะส่งข้อเสนอแนะ Codex ด้วย แต่จะไม่แสดงรหัสเซสชัน หรือรหัสเธรด Codex หลังจากอนุมัติแล้ว คำตอบในแชทจะแสดงช่องทาง รหัสเซสชัน OpenClaw รหัสเธรด Codex และคำสั่ง resume ในเครื่อง สำหรับเธรดที่ถูกส่งไปยังเซิร์ฟเวอร์ OpenAI หากคุณปฏิเสธหรือเพิกเฉยต่อ การอนุมัติ OpenClaw จะไม่รันการส่งออก ไม่ส่งข้อเสนอแนะ Codex และ ไม่พิมพ์รหัส Codex

สิ่งนี้ทำให้ลูปการดีบัก Codex ที่ใช้บ่อยสั้นลง: สังเกตพฤติกรรมผิดปกติใน Telegram, Discord หรือช่องทางอื่น รัน /diagnostics อนุมัติหนึ่งครั้ง แชร์ รายงานกับฝ่ายสนับสนุน จากนั้นรันคำสั่ง codex resume <thread-id> ที่พิมพ์ไว้ ในเครื่อง หากคุณต้องการตรวจสอบเธรด Codex แบบเนทีฟด้วยตัวเอง ดู ฮาร์เนส Codex สำหรับ เวิร์กโฟลว์การตรวจสอบนั้น

สิ่งที่การส่งออกมี

ไฟล์ zip มี:

  • summary.md: ภาพรวมที่มนุษย์อ่านได้สำหรับฝ่ายสนับสนุน
  • diagnostics.json: สรุปที่เครื่องอ่านได้ของ config, บันทึก, สถานะ, สุขภาพระบบ และข้อมูลความเสถียร
  • manifest.json: เมตาดาต้าการส่งออกและรายการไฟล์
  • รูปทรง config ที่ผ่านการทำให้ปลอดภัยแล้วและรายละเอียด config ที่ไม่ใช่ความลับ
  • สรุปบันทึกที่ผ่านการทำให้ปลอดภัยแล้วและบรรทัดบันทึกล่าสุดที่ปกปิดแล้ว
  • สแนปชอตสถานะและสุขภาพ Gateway แบบพยายามดีที่สุด
  • stability/latest.json: ชุดข้อมูลความเสถียรที่คงอยู่ล่าสุด เมื่อมี

การส่งออกมีประโยชน์แม้เมื่อ Gateway ไม่สมบูรณ์ หาก Gateway ไม่สามารถ ตอบคำขอสถานะหรือสุขภาพได้ บันทึกในเครื่อง รูปทรง config และชุดข้อมูล ความเสถียรล่าสุดจะยังถูกรวบรวมเมื่อมี

โมเดลความเป็นส่วนตัว

การวินิจฉัยออกแบบมาให้แชร์ได้ การส่งออกจะเก็บข้อมูลปฏิบัติการ ที่ช่วยในการดีบัก เช่น:

  • ชื่อระบบย่อย รหัส Plugin รหัสผู้ให้บริการ รหัสช่องทาง และโหมดที่กำหนดค่าไว้
  • รหัสสถานะ ระยะเวลา จำนวนไบต์ สถานะคิว และค่าหน่วยความจำ
  • เมตาดาต้าบันทึกที่ผ่านการทำให้ปลอดภัยแล้วและข้อความปฏิบัติการที่ปกปิดแล้ว
  • รูปทรง config และการตั้งค่าฟีเจอร์ที่ไม่ใช่ความลับ

การส่งออกจะละเว้นหรือปกปิด:

  • ข้อความแชท พร้อมต์ คำสั่ง เนื้อหา Webhook และเอาต์พุตเครื่องมือ
  • ข้อมูลรับรอง คีย์ API โทเค็น คุกกี้ และค่าความลับ
  • เนื้อหาคำขอหรือคำตอบดิบ
  • รหัสบัญชี รหัสข้อความ รหัสเซสชันดิบ ชื่อโฮสต์ และชื่อผู้ใช้ในเครื่อง

เมื่อข้อความบันทึกดูเหมือนข้อความผู้ใช้ แชท พร้อมต์ หรือเพย์โหลดของเครื่องมือ การส่งออกจะเก็บไว้เพียงว่ามีข้อความถูกละเว้นและจำนวนไบต์

ตัวบันทึกความเสถียร

Gateway จะบันทึกสตรีมความเสถียรที่มีขอบเขตและไม่มีเพย์โหลดโดยค่าเริ่มต้น เมื่อเปิดใช้การวินิจฉัย สิ่งนี้มีไว้สำหรับข้อเท็จจริงเชิงปฏิบัติการ ไม่ใช่เนื้อหา

Heartbeat การวินิจฉัยเดียวกันจะบันทึกตัวอย่างความมีชีวิตเมื่อ Gateway ยังคง ทำงานอยู่ แต่ event loop ของ Node.js หรือ CPU ดูเหมือนอิ่มตัว เหตุการณ์ diagnostic.liveness.warning เหล่านี้มีความล่าช้าของ event loop, การใช้งาน event loop, อัตราส่วนแกน CPU, จำนวนเซสชัน active/waiting/queued, เฟส startup/runtime ปัจจุบันเมื่อทราบ, ช่วงเฟสล่าสุด และป้ายชื่องาน active/queued ที่มีขอบเขต ตัวอย่างขณะว่างจะอยู่ใน telemetry ที่ระดับ info ตัวอย่าง ความมีชีวิตจะกลายเป็นคำเตือน Gateway เฉพาะเมื่องานกำลังรอหรืออยู่ในคิว หรือเมื่องานที่ active ซ้อนทับกับความล่าช้าของ event loop ที่ต่อเนื่อง สไปก์ max-delay ชั่วคราวระหว่างงานเบื้องหลังที่ยังสุขภาพดีจะอยู่ในบันทึก debug สิ่งเหล่านี้จะไม่รีสตาร์ต Gateway ด้วยตัวเอง

เฟสเริ่มต้นยังปล่อยเหตุการณ์ diagnostic.phase.completed พร้อมเวลาแบบ wall-clock และ เวลา CPU การวินิจฉัย embedded-run ที่ค้างจะทำเครื่องหมาย terminalProgressStale=true เมื่อความคืบหน้า bridge ล่าสุดดูเหมือน terminal เช่น รายการคำตอบดิบหรือ เหตุการณ์เสร็จสิ้นคำตอบ แต่ Gateway ยังถือว่า embedded run ยัง active อยู่

ตรวจสอบตัวบันทึกสด:

bash
openclaw gateway stabilityopenclaw gateway stability --type payload.largeopenclaw gateway stability --json

ตรวจสอบชุดข้อมูลความเสถียรที่คงอยู่ล่าสุดหลังจากออกแบบ fatal, หมดเวลา ขณะปิดระบบ หรือความล้มเหลวในการเริ่มใหม่:

bash
openclaw gateway stability --bundle latest

สร้างไฟล์ zip การวินิจฉัยจากชุดข้อมูลที่คงอยู่ล่าสุด:

bash
openclaw gateway stability --bundle latest --export

ชุดข้อมูลที่คงอยู่จะอยู่ใต้ ~/.openclaw/logs/stability/ เมื่อมีเหตุการณ์

ตัวเลือกที่มีประโยชน์

bash
openclaw gateway diagnostics export \  --output openclaw-diagnostics.zip \  --log-lines 5000 \  --log-bytes 1000000
  • --output <path>: เขียนไปยังพาธ zip ที่ระบุ
  • --log-lines <count>: จำนวนบรรทัดบันทึกที่ผ่านการทำให้ปลอดภัยแล้วสูงสุดที่จะรวมไว้
  • --log-bytes <bytes>: จำนวนไบต์บันทึกสูงสุดที่จะตรวจสอบ
  • --url <url>: URL WebSocket ของ Gateway สำหรับสแนปชอตสถานะและสุขภาพ
  • --token <token>: โทเค็น Gateway สำหรับสแนปชอตสถานะและสุขภาพ
  • --password <password>: รหัสผ่าน Gateway สำหรับสแนปชอตสถานะและสุขภาพ
  • --timeout <ms>: เวลาหมดอายุของสแนปชอตสถานะและสุขภาพ
  • --no-stability-bundle: ข้ามการค้นหาชุดข้อมูลความเสถียรที่คงอยู่
  • --json: พิมพ์เมตาดาต้าการส่งออกที่เครื่องอ่านได้

ปิดใช้งานการวินิจฉัย

การวินิจฉัยเปิดใช้งานโดยค่าเริ่มต้น หากต้องการปิดใช้งานตัวบันทึกความเสถียรและ การรวบรวมเหตุการณ์การวินิจฉัย:

json5
{  diagnostics: {    enabled: false,  },}

การปิดใช้งานการวินิจฉัยจะลดรายละเอียดของรายงานบั๊ก แต่จะไม่กระทบ การบันทึก Gateway ตามปกติ

สแนปชอตเมื่อหน่วยความจำมีแรงกดดันขั้นวิกฤตปิดอยู่โดยค่าเริ่มต้น หากต้องการคง เหตุการณ์การวินิจฉัยไว้และจับสแนปชอตความเสถียรก่อน OOM ด้วย:

json5
{  diagnostics: {    memoryPressureSnapshot: true,  },}

ใช้ตัวเลือกนี้เฉพาะบนโฮสต์ที่ทนต่อการสแกนระบบไฟล์เพิ่มเติมและการเขียนสแนปชอต ระหว่างแรงกดดันหน่วยความจำขั้นวิกฤตได้ เหตุการณ์แรงกดดันหน่วยความจำปกติยังคง บันทึกข้อเท็จจริง RSS, heap, threshold และ growth เมื่อสแนปชอตปิดอยู่

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

Was this useful?
On this page

On this page