Runbook Gateway
Gunakan halaman ini untuk startup hari pertama dan operasi hari kedua dari layanan Gateway.Pemecahan masalah mendalam
Diagnostik berbasis gejala dengan urutan perintah yang tepat dan signature log.
Konfigurasi
Panduan penyiapan berorientasi tugas + referensi konfigurasi lengkap.
Manajemen secret
Kontrak SecretRef, perilaku snapshot runtime, dan operasi migrasi/muat ulang.
Kontrak rencana secret
Aturan target/path
secrets apply yang tepat dan perilaku auth-profile hanya-ref.Startup lokal 5 menit
Verifikasi kesehatan layanan
Runtime: running, Connectivity probe: ok, dan Capability: ... yang sesuai dengan yang Anda harapkan. Gunakan openclaw gateway status --require-rpc saat Anda memerlukan bukti RPC cakupan baca, bukan sekadar keterjangkauan.Reload konfigurasi Gateway memantau path file konfigurasi aktif (di-resolve dari default profile/state, atau
OPENCLAW_CONFIG_PATH jika disetel).
Mode default adalah gateway.reload.mode="hybrid".
Setelah pemuatan berhasil pertama, proses yang berjalan menyajikan snapshot konfigurasi aktif di memori; reload yang berhasil menukar snapshot tersebut secara atomik.Model runtime
- Satu proses yang selalu aktif untuk routing, control plane, dan koneksi channel.
- Satu port termultipleks untuk:
- WebSocket control/RPC
- HTTP API, kompatibel OpenAI (
/v1/models,/v1/embeddings,/v1/chat/completions,/v1/responses,/tools/invoke) - Control UI dan hook
- Mode bind default:
loopback. - Auth diwajibkan secara default. Penyiapan shared-secret menggunakan
gateway.auth.token/gateway.auth.password(atauOPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD), dan penyiapan reverse-proxy non-loopback dapat menggunakangateway.auth.mode: "trusted-proxy".
Endpoint kompatibel OpenAI
Surface kompatibilitas dengan leverage tertinggi OpenClaw saat ini adalah:GET /v1/modelsGET /v1/models/{id}POST /v1/embeddingsPOST /v1/chat/completionsPOST /v1/responses
- Sebagian besar integrasi Open WebUI, LobeChat, dan LibreChat melakukan probe ke
/v1/modelsterlebih dahulu. - Banyak pipeline RAG dan memori mengharapkan
/v1/embeddings. - Klien native agent semakin memilih
/v1/responses.
/v1/modelsbersifat agent-first: endpoint ini mengembalikanopenclaw,openclaw/default, danopenclaw/<agentId>.openclaw/defaultadalah alias stabil yang selalu dipetakan ke agent default yang dikonfigurasi.- Gunakan
x-openclaw-modelsaat Anda menginginkan override provider/model backend; jika tidak, pengaturan model dan embedding normal milik agent yang dipilih tetap mengendalikan.
Prioritas port dan bind
| Setting | Urutan resolusi |
|---|---|
| Port Gateway | --port → OPENCLAW_GATEWAY_PORT → gateway.port → 18789 |
| Mode bind | CLI/override → gateway.bind → loopback |
Mode hot reload
gateway.reload.mode | Perilaku |
|---|---|
off | Tidak ada reload konfigurasi |
hot | Terapkan hanya perubahan yang aman-hot |
restart | Restart pada perubahan yang memerlukan reload |
hybrid (default) | Terapkan secara hot saat aman, restart saat diperlukan |
Set perintah operator
gateway status --deep digunakan untuk penemuan layanan tambahan (unit
LaunchDaemons/systemd system/schtasks), bukan probe kesehatan RPC yang lebih mendalam.
Beberapa gateway (host yang sama)
Sebagian besar instalasi sebaiknya menjalankan satu gateway per mesin. Satu gateway dapat menampung beberapa agent dan channel. Anda hanya memerlukan beberapa gateway saat Anda sengaja menginginkan isolasi atau rescue bot. Pemeriksaan yang berguna:gateway status --deepdapat melaporkanOther gateway-like services detected (best effort)dan menampilkan petunjuk pembersihan saat instalasi launchd/systemd/schtasks lama masih ada.gateway probedapat memperingatkan tentangmultiple reachable gatewayssaat lebih dari satu target merespons.- Jika itu memang disengaja, isolasikan root port, config/state, dan workspace untuk tiap gateway.
Akses jarak jauh
Yang disarankan: Tailscale/VPN. Cadangan: tunnel SSH.ws://127.0.0.1:18789.
Lihat: Gateway Jarak Jauh, Autentikasi, Tailscale.
Supervisi dan siklus hidup layanan
Gunakan proses yang disupervisi untuk keandalan yang menyerupai produksi.- macOS (launchd)
- Linux (systemd pengguna)
- Windows (native)
- Linux (layanan sistem)
ai.openclaw.gateway (default) atau ai.openclaw.<profile> (profile bernama). openclaw doctor mengaudit dan memperbaiki drift konfigurasi layanan.Beberapa gateway pada satu host
Sebagian besar penyiapan sebaiknya menjalankan satu Gateway. Gunakan beberapa hanya untuk isolasi/redundansi ketat (misalnya profile rescue). Checklist per instance:gateway.portunikOPENCLAW_CONFIG_PATHunikOPENCLAW_STATE_DIRunikagents.defaults.workspaceunik
Jalur cepat profile dev
19001.
Referensi cepat protokol (tampilan operator)
- Frame klien pertama harus berupa
connect. - Gateway mengembalikan snapshot
hello-ok(presence,health,stateVersion,uptimeMs, limits/policy). hello-ok.features.methods/eventsadalah daftar discovery konservatif, bukan dump yang dihasilkan dari setiap helper route yang dapat dipanggil.- Request:
req(method, params)→res(ok/payload|error). - Event umum mencakup
connect.challenge,agent,chat,session.message,session.tool,sessions.changed,presence,tick,health,heartbeat, event siklus hidup pairing/approval, danshutdown.
- Ack penerimaan langsung (
status:"accepted") - Respons penyelesaian akhir (
status:"ok"|"error"), dengan eventagentyang di-stream di antaranya.
Pemeriksaan operasional
Liveness
- Buka WS dan kirim
connect. - Harapkan respons
hello-okdengan snapshot.
Readiness
Pemulihan gap
Event tidak diputar ulang. Pada gap sequence, segarkan state (health, system-presence) sebelum melanjutkan.
Signature kegagalan umum
| Signature | Kemungkinan masalah |
|---|---|
refusing to bind gateway ... without auth | Bind non-loopback tanpa jalur auth gateway yang valid |
another gateway instance is already listening / EADDRINUSE | Konflik port |
Gateway start blocked: set gateway.mode=local | Konfigurasi disetel ke mode remote, atau stamp mode lokal hilang dari konfigurasi yang rusak |
unauthorized during connect | Ketidakcocokan auth antara klien dan gateway |
Jaminan keamanan
- Klien protokol Gateway gagal cepat saat Gateway tidak tersedia (tanpa fallback direct-channel implisit).
- Frame pertama yang tidak valid/bukan-connect ditolak dan koneksi ditutup.
- Shutdown graceful mengirim event
shutdownsebelum socket ditutup.
Terkait: