Pemecahan masalah gateway
Halaman ini adalah runbook mendalam. Mulai dari /help/troubleshooting jika Anda ingin alur triase cepat terlebih dahulu.Urutan perintah
Jalankan ini terlebih dahulu, dalam urutan berikut:openclaw gateway statusmenampilkanRuntime: runningdanRPC probe: ok.openclaw doctormelaporkan tidak ada masalah konfigurasi/layanan yang memblokir.openclaw channels status --probemenampilkan status transport per akun secara langsung dan, jika didukung, hasil probe/audit sepertiworksatauaudit ok.
Anthropic 429 memerlukan extra usage untuk konteks panjang
Gunakan ini saat log/error mencakup:HTTP 429: rate_limit_error: Extra usage is required for long context requests.
- Model Anthropic Opus/Sonnet yang dipilih memiliki
params.context1m: true. - Kredensial Anthropic saat ini tidak memenuhi syarat untuk penggunaan konteks panjang.
- Permintaan gagal hanya pada sesi/model berjalan yang panjang dan membutuhkan jalur beta 1M.
- Nonaktifkan
context1muntuk model tersebut agar kembali ke jendela konteks normal. - Gunakan kunci API Anthropic dengan penagihan, atau aktifkan Anthropic Extra Usage pada akun OAuth/langganan Anthropic.
- Konfigurasikan model fallback agar proses tetap berjalan saat permintaan konteks panjang Anthropic ditolak.
- /providers/anthropic
- /reference/token-use
- /help/faq#why-am-i-seeing-http-429-ratelimiterror-from-anthropic
Tidak ada balasan
Jika channel aktif tetapi tidak ada yang menjawab, periksa routing dan kebijakan sebelum menyambungkan ulang apa pun.- Pairing tertunda untuk pengirim DM.
- Pembatasan mention grup (
requireMention,mentionPatterns). - Ketidakcocokan allowlist channel/grup.
drop guild message (mention required→ pesan grup diabaikan sampai ada mention.pairing request→ pengirim memerlukan persetujuan.blocked/allowlist→ pengirim/channel difilter oleh kebijakan.
Konektivitas UI kontrol dashboard
Saat UI dashboard/kontrol tidak dapat terhubung, validasi URL, mode auth, dan asumsi secure context.- URL probe dan URL dashboard yang benar.
- Ketidakcocokan mode/token auth antara klien dan gateway.
- Penggunaan HTTP saat identitas perangkat diperlukan.
device identity required→ konteks tidak aman atau auth perangkat tidak ada.origin not allowed→Originbrowser tidak ada digateway.controlUi.allowedOrigins(atau Anda terhubung dari origin browser non-loopback tanpa allowlist eksplisit).device nonce required/device nonce mismatch→ klien tidak menyelesaikan alur auth perangkat berbasis challenge (connect.challenge+device.nonce).device signature invalid/device signature expired→ klien menandatangani payload yang salah (atau stempel waktu usang) untuk handshake saat ini.AUTH_TOKEN_MISMATCHdengancanRetryWithDeviceToken=true→ klien dapat melakukan satu kali percobaan ulang tepercaya dengan token perangkat yang di-cache.- Percobaan ulang token cache tersebut menggunakan kembali set scope yang di-cache dan disimpan bersama
token perangkat yang telah dipasangkan. Pemanggil
deviceTokeneksplisit /scopeseksplisit tetap menggunakan set scope yang diminta. - Di luar jalur percobaan ulang itu, prioritas auth koneksi adalah shared
token/password eksplisit terlebih dahulu, lalu
deviceTokeneksplisit, lalu token perangkat yang tersimpan, lalu token bootstrap. - Pada jalur async Tailscale Serve Control UI, upaya gagal untuk
{scope, ip}yang sama diserialkan sebelum limiter mencatat kegagalan. Karena itu, dua percobaan ulang buruk yang berjalan bersamaan dari klien yang sama dapat memunculkanretry laterpada upaya kedua alih-alih dua ketidakcocokan biasa. too many failed authentication attempts (retry later)dari klien loopback asal browser → kegagalan berulang dariOriginternormalisasi yang sama dikunci sementara; origin localhost lain menggunakan bucket terpisah.unauthorizedberulang setelah percobaan ulang itu → shared token/token perangkat berubah; segarkan konfigurasi token dan setujui ulang/rotasi token perangkat jika diperlukan.gateway connect failed:→ host/port/target URL salah.
Peta cepat kode detail auth
Gunakanerror.details.code dari respons connect yang gagal untuk memilih tindakan berikutnya:
| Kode detail | Arti | Tindakan yang disarankan |
|---|---|---|
AUTH_TOKEN_MISSING | Klien tidak mengirim shared token yang diwajibkan. | Tempel/set token di klien lalu coba lagi. Untuk jalur dashboard: openclaw config get gateway.auth.token lalu tempel ke pengaturan Control UI. |
AUTH_TOKEN_MISMATCH | Shared token tidak cocok dengan token auth gateway. | Jika canRetryWithDeviceToken=true, izinkan satu percobaan ulang tepercaya. Percobaan ulang token cache menggunakan kembali scope yang disetujui dan tersimpan; pemanggil deviceToken / scopes eksplisit mempertahankan scope yang diminta. Jika masih gagal, jalankan daftar periksa pemulihan drift token. |
AUTH_DEVICE_TOKEN_MISMATCH | Token per-perangkat yang di-cache sudah usang atau dicabut. | Rotasi/setujui ulang token perangkat menggunakan devices CLI, lalu sambungkan kembali. |
PAIRING_REQUIRED | Identitas perangkat dikenal tetapi tidak disetujui untuk peran ini. | Setujui permintaan tertunda: openclaw devices list lalu openclaw devices approve <requestId>. |
- menunggu
connect.challenge - menandatangani payload yang terikat ke challenge
- mengirim
connect.params.device.noncedengan nonce challenge yang sama
openclaw devices rotate / revoke / remove ditolak secara tak terduga:
- sesi token perangkat yang dipasangkan hanya dapat mengelola perangkat mereka sendiri kecuali jika
pemanggil juga memiliki
operator.admin openclaw devices rotate --scope ...hanya dapat meminta scope operator yang sudah dimiliki oleh sesi pemanggil
- /web/control-ui
- /gateway/configuration (mode auth gateway)
- /gateway/trusted-proxy-auth
- /gateway/remote
- /cli/devices
Layanan gateway tidak berjalan
Gunakan ini saat layanan sudah terpasang tetapi proses tidak tetap berjalan.Runtime: stoppeddengan petunjuk keluar.- Ketidakcocokan konfigurasi layanan (
Config (cli)vsConfig (service)). - Konflik port/listener.
- Instalasi launchd/systemd/schtasks tambahan saat
--deepdigunakan. - Petunjuk pembersihan
Other gateway-like services detected (best effort).
Gateway start blocked: set gateway.mode=localatauexisting config is missing gateway.mode→ mode gateway lokal tidak diaktifkan, atau file konfigurasi rusak dan kehilangangateway.mode. Perbaikan: setgateway.mode="local"di konfigurasi Anda, atau jalankan ulangopenclaw onboard --mode local/openclaw setupuntuk menulis ulang konfigurasi mode lokal yang diharapkan. Jika Anda menjalankan OpenClaw melalui Podman, jalur konfigurasi default adalah~/.openclaw/openclaw.json.refusing to bind gateway ... without auth→ bind non-loopback tanpa jalur auth gateway yang valid (token/password, atau trusted-proxy jika dikonfigurasi).another gateway instance is already listening/EADDRINUSE→ konflik port.Other gateway-like services detected (best effort)→ unit launchd/systemd/schtasks yang usang atau paralel masih ada. Sebagian besar penyiapan sebaiknya mempertahankan satu gateway per mesin; jika Anda memang memerlukan lebih dari satu, pisahkan port + config/state/workspace. Lihat /gateway#multiple-gateways-same-host.
Peringatan probe gateway
Gunakan ini saatopenclaw gateway probe mencapai sesuatu, tetapi tetap menampilkan blok peringatan.
warnings[].codedanprimaryTargetIddalam output JSON.- Apakah peringatannya tentang fallback SSH, beberapa gateway, scope yang hilang, atau auth ref yang tidak terpecahkan.
SSH tunnel failed to start; falling back to direct probes.→ penyiapan SSH gagal, tetapi perintah tetap mencoba target loopback/yang dikonfigurasi secara langsung.multiple reachable gateways detected→ lebih dari satu target merespons. Biasanya ini berarti penyiapan multi-gateway yang disengaja atau listener usang/duplikat.Probe diagnostics are limited by gateway scopes (missing operator.read)→ koneksi berhasil, tetapi detail RPC dibatasi oleh scope; pasangkan identitas perangkat atau gunakan kredensial denganoperator.read.- teks peringatan SecretRef
gateway.auth.*/gateway.remote.*yang tidak terpecahkan → materi auth tidak tersedia dalam jalur perintah ini untuk target yang gagal.
Pesan channel terhubung tidak mengalir
Jika status channel terhubung tetapi aliran pesan mati, fokus pada kebijakan, izin, dan aturan pengiriman khusus channel.- Kebijakan DM (
pairing,allowlist,open,disabled). - Allowlist grup dan persyaratan mention.
- Izin/scope API channel yang hilang.
mention required→ pesan diabaikan oleh kebijakan mention grup.pairing/ jejak persetujuan tertunda → pengirim belum disetujui.missing_scope,not_in_channel,Forbidden,401/403→ masalah auth/izin channel.
Pengiriman cron dan heartbeat
Jika cron atau heartbeat tidak berjalan atau tidak terkirim, verifikasi status scheduler terlebih dahulu, lalu target pengiriman.- Cron diaktifkan dan waktu bangun berikutnya tersedia.
- Status riwayat eksekusi job (
ok,skipped,error). - Alasan heartbeat dilewati (
quiet-hours,requests-in-flight,alerts-disabled,empty-heartbeat-file,no-tasks-due).
cron: scheduler disabled; jobs will not run automatically→ cron dinonaktifkan.cron: timer tick failed→ tick scheduler gagal; periksa error file/log/runtime.heartbeat skippeddenganreason=quiet-hours→ di luar jendela jam aktif.heartbeat skippeddenganreason=empty-heartbeat-file→HEARTBEAT.mdada tetapi hanya berisi baris kosong / header markdown, jadi OpenClaw melewati pemanggilan model.heartbeat skippeddenganreason=no-tasks-due→HEARTBEAT.mdberisi bloktasks:, tetapi tidak ada tugas yang jatuh tempo pada tick ini.heartbeat: unknown accountId→ id akun tidak valid untuk target pengiriman heartbeat.heartbeat skippeddenganreason=dm-blocked→ target heartbeat di-resolve menjadi tujuan bergaya DM saatagents.defaults.heartbeat.directPolicy(atau override per agen) disetel keblock.
Kegagalan alat node yang dipasangkan
Jika node sudah dipasangkan tetapi alat gagal, isolasi status foreground, izin, dan persetujuan.- Node online dengan kapabilitas yang diharapkan.
- Pemberian izin OS untuk kamera/mikrofon/lokasi/layar.
- Status persetujuan exec dan allowlist.
NODE_BACKGROUND_UNAVAILABLE→ aplikasi node harus berada di foreground.*_PERMISSION_REQUIRED/LOCATION_PERMISSION_REQUIRED→ izin OS belum diberikan.SYSTEM_RUN_DENIED: approval required→ persetujuan exec masih tertunda.SYSTEM_RUN_DENIED: allowlist miss→ perintah diblokir oleh allowlist.
Kegagalan alat browser
Gunakan ini saat tindakan alat browser gagal meskipun gateway sendiri sehat.- Apakah
plugins.allowdisetel dan mencakupbrowser. - Jalur executable browser valid.
- Keterjangkauan profil CDP.
- Ketersediaan Chrome lokal untuk profil
existing-session/user.
unknown command "browser"atauunknown command 'browser'→ plugin browser bawaan dikecualikan olehplugins.allow.- alat browser hilang / tidak tersedia saat
browser.enabled=true→plugins.allowmengecualikanbrowser, sehingga plugin tidak pernah dimuat. Failed to start Chrome CDP on port→ proses browser gagal diluncurkan.browser.executablePath not found→ jalur yang dikonfigurasi tidak valid.browser.cdpUrl must be http(s) or ws(s)→ URL CDP yang dikonfigurasi menggunakan skema yang tidak didukung sepertifile:atauftp:.browser.cdpUrl has invalid port→ URL CDP yang dikonfigurasi memiliki port yang buruk atau di luar rentang.No Chrome tabs found for profile="user"→ profil attach Chrome MCP tidak memiliki tab Chrome lokal yang terbuka.Remote CDP for profile "<name>" is not reachable→ endpoint CDP remote yang dikonfigurasi tidak dapat dijangkau dari host gateway.Browser attachOnly is enabled ... not reachableatauBrowser attachOnly is enabled and CDP websocket ... is not reachable→ profil attach-only tidak memiliki target yang dapat dijangkau, atau endpoint HTTP merespons tetapi WebSocket CDP tetap tidak dapat dibuka.Playwright is not available in this gateway build; '<feature>' is unsupported.→ instalasi gateway saat ini tidak memiliki paket Playwright penuh; snapshot ARIA dan screenshot halaman dasar masih dapat berfungsi, tetapi navigasi, snapshot AI, screenshot elemen berbasis selektor CSS, dan ekspor PDF tetap tidak tersedia.fullPage is not supported for element screenshots→ permintaan screenshot mencampurkan--full-pagedengan--refatau--element.element screenshots are not supported for existing-session profiles; use ref from snapshot.→ panggilan screenshot Chrome MCP /existing-sessionharus menggunakan tangkapan halaman atau--refdari snapshot, bukan CSS--element.existing-session file uploads do not support element selectors; use ref/inputRef.→ hook unggah Chrome MCP memerlukan snapshot ref, bukan selektor CSS.existing-session file uploads currently support one file at a time.→ kirim satu unggahan per panggilan pada profil Chrome MCP.existing-session dialog handling does not support timeoutMs.→ hook dialog pada profil Chrome MCP tidak mendukung override timeout.response body is not supported for existing-session profiles yet.→responsebodymasih memerlukan browser terkelola atau profil CDP mentah.- override viewport / dark-mode / locale / offline yang basi pada profil attach-only atau CDP remote → jalankan
openclaw browser stop --browser-profile <name>untuk menutup sesi kontrol aktif dan melepaskan status emulasi Playwright/CDP tanpa memulai ulang seluruh gateway.
Jika Anda melakukan upgrade dan sesuatu tiba-tiba rusak
Sebagian besar kerusakan setelah upgrade adalah drift konfigurasi atau default yang lebih ketat yang kini diterapkan.1) Perilaku auth dan override URL berubah
- Jika
gateway.mode=remote, panggilan CLI mungkin menargetkan remote sementara layanan lokal Anda baik-baik saja. - Panggilan
--urleksplisit tidak fallback ke kredensial yang tersimpan.
gateway connect failed:→ target URL salah.unauthorized→ endpoint dapat dijangkau tetapi auth salah.
2) Guardrail bind dan auth lebih ketat
- Bind non-loopback (
lan,tailnet,custom) memerlukan jalur auth gateway yang valid: auth shared token/password, atau deploymenttrusted-proxynon-loopback yang dikonfigurasi dengan benar. - Kunci lama seperti
gateway.tokentidak menggantikangateway.auth.token.
refusing to bind gateway ... without auth→ bind non-loopback tanpa jalur auth gateway yang valid.RPC probe: failedsaat runtime berjalan → gateway hidup tetapi tidak dapat diakses dengan auth/url saat ini.
3) Status pairing dan identitas perangkat berubah
- Persetujuan perangkat tertunda untuk dashboard/node.
- Persetujuan pairing DM tertunda setelah perubahan kebijakan atau identitas.
device identity required→ auth perangkat tidak terpenuhi.pairing required→ pengirim/perangkat harus disetujui.