---
read_when:
    - การเตรียมรายงานข้อบกพร่องหรือคำขอรับการสนับสนุน
    - การดีบัก Gateway ที่ขัดข้อง รีสตาร์ต มีภาวะหน่วยความจำตึงตัว หรือมีเพย์โหลดขนาดใหญ่เกินไป
    - ตรวจสอบว่ามีการบันทึกหรือปกปิดข้อมูลการวินิจฉัยใดบ้าง
summary: สร้างชุดข้อมูลวินิจฉัย Gateway ที่แชร์ได้สำหรับรายงานข้อบกพร่อง
title: การส่งออกข้อมูลการวินิจฉัย
x-i18n:
    generated_at: "2026-07-20T06:03:14Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 97a805fed8d51de2e63e5c6a12ce03e91701d69654882cca7795c9f3553b1c55
    source_path: gateway/diagnostics.md
    workflow: 16
---

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

ให้ถือว่าชุดการวินิจฉัยเป็นข้อมูลลับจนกว่าจะตรวจสอบแล้ว เพย์โหลดและข้อมูลประจำตัว
จะถูกปกปิดตามการออกแบบ แต่ชุดข้อมูลนี้ยังคงสรุปบันทึก 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 จะส่งข้อความเกริ่นนำและขอการอนุมัติการดำเนินการอย่างชัดเจนหนึ่งครั้ง ซึ่งจะเรียกใช้
   `openclaw gateway diagnostics export --json` อย่าอนุมัติการวินิจฉัยผ่าน
   กฎที่อนุญาตทั้งหมด
3. หลังอนุมัติ OpenClaw จะตอบกลับด้วยพาธชุดข้อมูลภายในเครื่อง สรุปไฟล์ manifest
   หมายเหตุด้านความเป็นส่วนตัว และรหัสเซสชันที่เกี่ยวข้อง

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

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

วิธีนี้ทำให้วงจรการดีบัก Codex สั้นลง: เมื่อพบพฤติกรรมที่ไม่ถูกต้องในช่องทาง
ให้เรียกใช้ `/diagnostics` อนุมัติหนึ่งครั้ง แชร์รายงาน แล้วเรียกใช้คำสั่ง
`codex resume <thread-id>` ที่แสดงไว้ภายในเครื่อง หากต้องการตรวจสอบเธรด
ด้วยตนเอง ดู [ชุดควบคุม Codex](/th/plugins/codex-harness#inspect-codex-threads-locally)

## เนื้อหาที่มีในการส่งออก

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

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

## รูปแบบความเป็นส่วนตัว

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

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

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

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

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

Heartbeat เดียวกันจะสุ่มตัวอย่างการทำงานเมื่อ event loop หรือ CPU ดูเหมือน
อิ่มตัว โดยปล่อยเหตุการณ์ `diagnostic.liveness.warning` ที่มีความล่าช้าของ event loop
การใช้งาน event loop อัตราส่วนแกน CPU จำนวนเซสชันที่ทำงานอยู่/รอ/อยู่ในคิว
เฟสเริ่มต้น/รันไทม์ปัจจุบัน (เมื่อทราบ) ช่วงเฟสล่าสุด และ
ป้ายกำกับงานแบบจำกัด เหตุการณ์เหล่านี้จะกลายเป็นบรรทัดบันทึกระดับ `warn` ของ Gateway เฉพาะเมื่อ
มีงานกำลังรอหรืออยู่ในคิว หรือเมื่องานที่ทำงานอยู่ทับซ้อนกับความล่าช้าของ event loop
ที่ต่อเนื่อง มิฉะนั้นจะบันทึกที่ระดับ `debug` ตัวอย่างการทำงานขณะไม่มีงานยังคงถูกบันทึก
เป็นเหตุการณ์การวินิจฉัย แต่จะไม่ยกระดับเป็นคำเตือนด้วยตัวเอง

เฟสเริ่มต้นจะปล่อยเหตุการณ์ `diagnostic.phase.completed` พร้อมเวลาแบบนาฬิกาจริงและ
เวลา CPU การวินิจฉัยการเรียกใช้แบบฝังที่ค้างจะระบุ `terminalProgressStale=true`
เมื่อความคืบหน้าล่าสุดของบริดจ์ดูเหมือนสิ้นสุดแล้ว (ตัวอย่างเช่น รายการการตอบกลับดิบ
หรือเหตุการณ์การตอบกลับเสร็จสมบูรณ์) แต่ Gateway ยังคงถือว่า
การเรียกใช้แบบฝังยังทำงานอยู่

ตรวจสอบตัวบันทึกที่ทำงานอยู่:

```bash
openclaw gateway stability
openclaw gateway stability --type payload.large
openclaw gateway stability --json
```

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

```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>`       | `$OPENCLAW_STATE_DIR/logs/support/openclaw-diagnostics-<timestamp>-<pid>.zip` | เขียนไปยังพาธไฟล์ zip (หรือไดเรกทอรี) ที่ระบุ       |
| `--log-lines <count>`   | `5000`                                                                        | จำนวนบรรทัดบันทึกที่ผ่านการล้างข้อมูลสูงสุดที่จะรวม            |
| `--log-bytes <bytes>`   | `1000000`                                                                     | จำนวนไบต์ของบันทึกสูงสุดที่จะตรวจสอบ                      |
| `--url <url>`           | -                                                                             | URL WebSocket ของ Gateway สำหรับสแนปช็อตสถานะ/สถานะสุขภาพ |
| `--token <token>`       | -                                                                             | โทเค็น Gateway สำหรับสแนปช็อตสถานะ/สถานะสุขภาพ         |
| `--password <password>` | -                                                                             | รหัสผ่าน Gateway สำหรับสแนปช็อตสถานะ/สถานะสุขภาพ      |
| `--timeout <ms>`        | `3000`                                                                        | ระยะหมดเวลาของสแนปช็อตสถานะ/สถานะสุขภาพ                    |
| `--no-stability-bundle` | ปิด                                                                           | ข้ามการค้นหาชุดข้อมูลความเสถียรที่บันทึกถาวร            |
| `--json`                | ปิด                                                                           | แสดงข้อมูลเมตาการส่งออกที่เครื่องอ่านได้            |

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

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

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

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

เหตุการณ์แรงกดดันของหน่วยความจำจะบันทึกข้อเท็จจริงเกี่ยวกับ RSS, heap, ค่าขีดแบ่ง และการเติบโต
(`rss_threshold`, `heap_threshold`, `rss_growth`) โดยไม่สแกน
ระบบไฟล์หรือเขียนสแนปช็อตก่อน OOM

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

- [การตรวจสอบสถานะสุขภาพ](/th/gateway/health)
- [CLI ของ Gateway](/th/cli/gateway#gateway-diagnostics-export)
- [โปรโตคอล Gateway](/th/gateway/protocol#rpc-method-families)
- [การบันทึก](/th/logging)
- [การส่งออก OpenTelemetry](/th/gateway/opentelemetry) - ขั้นตอนแยกต่างหากสำหรับสตรีมข้อมูลการวินิจฉัยไปยังตัวรวบรวม
