Gateway
Ekspor diagnostik
OpenClaw dapat membuat .zip diagnostik lokal untuk laporan bug: status Gateway
yang telah disanitasi, kesehatan, log, struktur konfigurasi, dan peristiwa stabilitas
terbaru tanpa payload.
Perlakukan bundel diagnostik seperti rahasia hingga ditinjau. Payload dan kredensial disunting secara bawaan, tetapi bundel tersebut tetap merangkum log Gateway lokal dan status runtime tingkat host.
Mulai cepat
openclaw gateway diagnostics exportMencetak jalur zip yang ditulis. Pilih jalur keluaran:
openclaw gateway diagnostics export --output openclaw-diagnostics.zipUntuk otomatisasi:
openclaw gateway diagnostics export --jsonPerintah obrolan
Pemilik dapat menjalankan /diagnostics [note] dalam percakapan apa pun untuk meminta
ekspor Gateway lokal sebagai satu laporan dukungan yang dapat disalin dan ditempel:
- Kirim
/diagnostics, dengan catatan singkat jika perlu (/diagnostics bad tool choice). - OpenClaw mengirim pengantar dan meminta satu persetujuan eksekusi eksplisit, yang
menjalankan
openclaw gateway diagnostics export --json. Jangan menyetujui diagnostik melalui aturan izinkan-semua. - Setelah disetujui, OpenClaw membalas dengan jalur bundel lokal, ringkasan manifes, catatan privasi, dan ID sesi yang relevan.
Dalam obrolan grup, pemilik tetap dapat menjalankan /diagnostics, tetapi OpenClaw
mengirim hasil ekspor, permintaan persetujuan, serta perincian sesi/utas Codex kepada
pemilik secara privat. Grup hanya melihat pemberitahuan singkat bahwa diagnostik telah
dikirim secara privat. Jika tidak tersedia rute privat ke pemilik, perintah gagal secara
tertutup dan meminta pemilik menjalankannya dari DM.
Saat sesi aktif menggunakan harness OpenAI Codex native, persetujuan eksekusi yang sama juga mencakup pengunggahan umpan balik OpenAI untuk utas Codex yang diketahui OpenClaw. Pengunggahan tersebut terpisah dari zip Gateway lokal dan hanya terjadi untuk sesi harness Codex. Permintaan persetujuan menyatakan bahwa persetujuan juga mengirim umpan balik Codex, tanpa mencantumkan ID sesi atau utas Codex. Setelah disetujui, balasan mencantumkan channel, ID sesi OpenClaw, ID utas Codex, dan perintah pelanjutan lokal untuk utas yang dikirim ke OpenAI. Menolak atau mengabaikan persetujuan akan melewati ekspor, pengunggahan umpan balik Codex, dan daftar ID Codex.
Hal ini mempersingkat siklus debugging Codex: temukan perilaku buruk di suatu channel,
jalankan /diagnostics, setujui sekali, bagikan laporan, lalu jalankan perintah
codex resume <thread-id> yang dicetak secara lokal jika Anda ingin memeriksa sendiri
utas tersebut. Lihat harness Codex.
Isi ekspor
summary.md: ikhtisar yang mudah dibaca manusia untuk dukungan.diagnostics.json: ringkasan konfigurasi, log, status, kesehatan, dan data stabilitas yang dapat dibaca mesin.manifest.json: metadata ekspor dan daftar berkas.- Struktur konfigurasi yang disanitasi dan detail konfigurasi yang bukan rahasia.
- Ringkasan log yang disanitasi dan baris log terbaru yang telah disunting.
- Snapshot status dan kesehatan Gateway berdasarkan upaya terbaik.
stability/latest.json: bundel stabilitas tersimpan terbaru, jika tersedia.
Ekspor tetap berguna ketika Gateway tidak sehat: jika permintaan status/kesehatan gagal, log lokal, struktur konfigurasi, dan bundel stabilitas terbaru tetap dikumpulkan jika tersedia.
Model privasi
Dipertahankan: nama subsistem, ID plugin, ID penyedia, ID channel, mode yang dikonfigurasi, kode status, durasi, jumlah bita, status antrean, pembacaan memori, metadata log yang disanitasi, pesan operasional yang disunting, struktur konfigurasi, dan pengaturan fitur yang bukan rahasia.
Dihilangkan atau disunting: teks obrolan, prompt, instruksi, isi webhook, keluaran alat, kredensial, kunci API, token, cookie, nilai rahasia, isi mentah permintaan/respons, ID akun, ID pesan, ID sesi mentah, nama host, dan nama pengguna lokal.
Saat pesan log tampak seperti teks payload pengguna, obrolan, prompt, atau alat, ekspor hanya mencatat bahwa sebuah pesan dihilangkan beserta jumlah bitanya.
Perekam stabilitas
Secara bawaan, Gateway merekam aliran stabilitas terbatas tanpa payload saat diagnostik diaktifkan. Aliran ini merekam fakta operasional, bukan konten.
Heartbeat yang sama juga mengambil sampel keaktifan saat event loop atau CPU tampak
jenuh, dengan memancarkan peristiwa diagnostic.liveness.warning yang berisi penundaan
event loop, utilisasi event loop, rasio inti CPU, jumlah sesi aktif/menunggu/diantrekan,
fase startup/runtime saat ini (jika diketahui), rentang fase terbaru, dan label pekerjaan
terbatas. Peristiwa ini hanya menjadi baris log Gateway tingkat warn saat ada pekerjaan
yang menunggu atau diantrekan, atau saat pekerjaan aktif berimpitan dengan penundaan
event loop yang berkelanjutan; jika tidak, peristiwa dicatat pada tingkat debug.
Sampel keaktifan saat menganggur tetap direkam sebagai peristiwa diagnostik, tetapi
tidak pernah meningkat menjadi peringatan dengan sendirinya.
Fase startup memancarkan peristiwa diagnostic.phase.completed dengan pengukuran waktu
jam dinding dan CPU. Diagnostik eksekusi tertanam yang macet menandai
terminalProgressStale=true saat progres bridge terakhir tampak terminal (misalnya item
respons mentah atau peristiwa penyelesaian respons), tetapi Gateway masih menganggap
eksekusi tertanam tersebut aktif.
Periksa perekam langsung:
openclaw gateway stabilityopenclaw gateway stability --type payload.largeopenclaw gateway stability --jsonPeriksa bundel tersimpan terbaru setelah penghentian fatal, batas waktu penonaktifan, atau kegagalan startup setelah dimulai ulang:
openclaw gateway stability --bundle latestBuat zip diagnostik dari bundel tersimpan terbaru:
openclaw gateway stability --bundle latest --exportBundel tersimpan berada di bawah ~/.openclaw/logs/stability/ saat terdapat peristiwa.
Opsi yang berguna
openclaw gateway diagnostics export \ --output openclaw-diagnostics.zip \ --log-lines 5000 \ --log-bytes 1000000| Flag | Bawaan | Deskripsi |
|---|---|---|
--output <path> |
$OPENCLAW_STATE_DIR/logs/support/openclaw-diagnostics-<timestamp>-<pid>.zip |
Tulis ke jalur zip (atau direktori) tertentu. |
--log-lines <count> |
5000 |
Jumlah maksimum baris log tersanitasi yang disertakan. |
--log-bytes <bytes> |
1000000 |
Jumlah maksimum bita log yang diperiksa. |
--url <url> |
- | URL WebSocket Gateway untuk snapshot status/kesehatan. |
--token <token> |
- | Token Gateway untuk snapshot status/kesehatan. |
--password <password> |
- | Kata sandi Gateway untuk snapshot status/kesehatan. |
--timeout <ms> |
3000 |
Batas waktu snapshot status/kesehatan. |
--no-stability-bundle |
nonaktif | Lewati pencarian bundel stabilitas tersimpan. |
--json |
nonaktif | Cetak metadata ekspor yang dapat dibaca mesin. |
Menonaktifkan diagnostik
Diagnostik diaktifkan secara bawaan. Untuk menonaktifkan perekam stabilitas dan pengumpulan peristiwa diagnostik:
{ diagnostics: { enabled: false, },}Menonaktifkan diagnostik mengurangi detail laporan bug; hal ini tidak memengaruhi pencatatan log Gateway normal.
Snapshot tekanan memori kritis dinonaktifkan secara bawaan. Untuk merekam snapshot stabilitas pra-OOM selain peristiwa diagnostik normal:
{ diagnostics: { memoryPressureSnapshot: true, },}Gunakan ini hanya pada host yang dapat menoleransi pemindaian sistem berkas tambahan
dan penulisan snapshot selama tekanan memori kritis. Peristiwa tekanan memori normal
tetap merekam fakta RSS, heap, ambang batas, dan pertumbuhan (rss_threshold,
heap_threshold, rss_growth) saat snapshot dinonaktifkan.
Terkait
- Pemeriksaan kesehatan
- CLI Gateway
- Protokol Gateway
- Pencatatan log
- Ekspor OpenTelemetry - alur terpisah untuk mengalirkan diagnostik ke pengumpul