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 berbasis tugas + referensi konfigurasi lengkap.
Manajemen secret
Kontrak SecretRef, perilaku snapshot runtime, dan operasi migrasi/reload.
Kontrak rencana secret
Aturan target/path
secrets apply yang tepat dan perilaku auth-profile khusus ref.Startup lokal 5 menit
Reload konfigurasi Gateway memantau path file konfigurasi aktif (yang di-resolve dari default profile/state, atau
OPENCLAW_CONFIG_PATH jika ditetapkan).
Mode default adalah gateway.reload.mode="hybrid".
Setelah pemuatan pertama berhasil, proses yang berjalan melayani snapshot konfigurasi aktif dalam memori; reload yang berhasil akan menukar snapshot itu secara atomik.Model runtime
- Satu proses selalu aktif untuk routing, control plane, dan koneksi channel.
- Satu port termultipleks untuk:
- Kontrol/RPC WebSocket
- API HTTP, kompatibel dengan OpenAI (
/v1/models,/v1/embeddings,/v1/chat/completions,/v1/responses,/tools/invoke) - UI kontrol dan hook
- Mode bind default:
loopback. - Auth diperlukan 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 yang kompatibel dengan OpenAI
Permukaan kompatibilitas dengan leverage tertinggi OpenClaw sekarang adalah:GET /v1/modelsGET /v1/models/{id}POST /v1/embeddingsPOST /v1/chat/completionsPOST /v1/responses
- Sebagian besar integrasi Open WebUI, LobeChat, dan LibreChat mem-probe
/v1/modelsterlebih dahulu. - Banyak pipeline RAG dan memori mengharapkan
/v1/embeddings. - Klien native agen semakin memilih
/v1/responses.
/v1/modelsberfokus pada agen: mengembalikanopenclaw,openclaw/default, danopenclaw/<agentId>.openclaw/defaultadalah alias stabil yang selalu dipetakan ke agen default yang dikonfigurasi.- Gunakan
x-openclaw-modelsaat Anda menginginkan override penyedia/model backend; jika tidak, model normal dan penyiapan embedding dari agen yang dipilih tetap mengendalikan.
Prioritas port dan bind
| Pengaturan | 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 untuk hot |
restart | Restart pada perubahan yang memerlukan reload |
hybrid (default) | Terapkan hot jika aman, restart jika diperlukan |
Set perintah operator
gateway status --deep adalah untuk discovery layanan tambahan (unit sistem
LaunchDaemons/systemd/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 agen dan channel. Anda hanya memerlukan beberapa gateway jika memang sengaja menginginkan isolasi atau bot cadangan. Pemeriksaan yang berguna:gateway status --deepdapat melaporkanOther gateway-like services detected (best effort)dan menampilkan petunjuk pembersihan ketika instalasi launchd/systemd/schtasks lama masih ada.gateway probedapat memperingatkan tentangmultiple reachable gatewayssaat lebih dari satu target merespons.- Jika itu disengaja, pisahkan port, konfigurasi/state, dan root workspace untuk setiap gateway.
Akses jarak jauh
Disarankan: Tailscale/VPN. Fallback: tunnel SSH.ws://127.0.0.1:18789 secara lokal.
Lihat: Gateway Jarak Jauh, Autentikasi, Tailscale.
Supervisi dan siklus hidup layanan
Gunakan eksekusi yang disupervisi untuk keandalan seperti produksi.- macOS (launchd)
- Linux (systemd user)
- Windows (native)
- Linux (system service)
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 yang ketat (misalnya profile cadangan). 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
connect. - Gateway mengembalikan snapshot
hello-ok(presence,health,stateVersion,uptimeMs, limits/policy). hello-ok.features.methods/eventsadalah daftar discovery konservatif, bukan dump terhasilkan dari setiap rute helper yang dapat dipanggil.- Permintaan:
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/persetujuan, danshutdown.
- Ack accepted langsung (
status:"accepted") - Respons penyelesaian final (
status:"ok"|"error"), dengan eventagentstreaming di antaranya.
Pemeriksaan operasional
Liveness
- Buka WS dan kirim
connect. - Harapkan respons
hello-okdengan snapshot.
Readiness
Pemulihan gap
Event tidak diputar ulang. Saat ada gap urutan, refresh state (health, system-presence) sebelum melanjutkan.
Signature kegagalan umum
| Signature | Masalah yang mungkin |
|---|---|
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 stempel mode lokal hilang dari konfigurasi yang rusak |
unauthorized during connect | Ketidakcocokan auth antara klien dan gateway |
Jaminan keamanan
- Klien protokol gateway gagal dengan cepat saat Gateway tidak tersedia (tidak ada fallback direct-channel implisit).
- Frame pertama yang tidak valid/bukan connect ditolak dan koneksi ditutup.
- Shutdown graceful menghasilkan event
shutdownsebelum socket ditutup.
Terkait: