CLI commands
Gateway
Gateway adalah server WebSocket OpenClaw (saluran, node, sesi, hook). Subperintah di halaman ini berada di bawah openclaw gateway ….
Penyiapan mDNS lokal + DNS-SD area luas.
Cara OpenClaw mengiklankan dan menemukan Gateway.
Kunci konfigurasi Gateway tingkat atas.
Jalankan Gateway
Jalankan proses Gateway lokal:
openclaw gatewayAlias foreground:
openclaw gateway runPerilaku startup
- Secara default, Gateway menolak untuk memulai kecuali
gateway.mode=localditetapkan di~/.openclaw/openclaw.json. Gunakan--allow-unconfigureduntuk eksekusi ad-hoc/dev. openclaw onboard --mode localdanopenclaw setupdiharapkan menulisgateway.mode=local. Jika file ada tetapigateway.modetidak ada, perlakukan itu sebagai konfigurasi yang rusak atau tertimpa dan perbaiki, bukan mengasumsikan mode lokal secara implisit.- Jika file ada dan
gateway.modetidak ada, Gateway memperlakukannya sebagai kerusakan konfigurasi yang mencurigakan dan menolak untuk "menebak lokal" untuk Anda. - Binding di luar loopback tanpa auth diblokir (pagar pengaman keselamatan).
lan,tailnet, dancustomsaat ini di-resolve melalui jalur BYOH khusus IPv4.- BYOH khusus IPv6 belum didukung secara native pada jalur ini saat ini. Gunakan sidecar IPv4 atau proxy jika host itu sendiri hanya IPv6.
SIGUSR1memicu restart dalam proses saat diotorisasi (commands.restartdiaktifkan secara default; tetapkancommands.restart: falseuntuk memblokir restart manual, sementara penerapan/pembaruan alat/konfigurasi Gateway tetap diizinkan).- Handler
SIGINT/SIGTERMmenghentikan proses Gateway, tetapi tidak memulihkan state terminal kustom apa pun. Jika Anda membungkus CLI dengan TUI atau input raw-mode, pulihkan terminal sebelum keluar.
Opsi
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
Port WebSocket (default berasal dari konfigurasi/env; biasanya 18789).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tYmluZCA8bG9vcGJhY2t8bGFufHRhaWxuZXR8YXV0b3xjdXN0b20
" type="string">
Mode bind listener. lan, tailnet, dan custom saat ini di-resolve melalui jalur khusus IPv4.
"--authOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdG9rZW4gPHRva2Vu
" type="string">
Override token (juga menetapkan OPENCLAW_GATEWAY_TOKEN untuk proses).
"--password"--tailscale--tailscale-reset-on-exitbooleanReset konfigurasi serve/funnel Tailscale saat shutdown.
--bind custom + gateway.customBindHoststringSaat ini mengharapkan alamat IPv4. Untuk BYOH khusus IPv6, tempatkan sidecar IPv4 atau proxy di depan Gateway dan arahkan OpenClaw ke endpoint IPv4 tersebut.
--allow-unconfiguredbooleanIzinkan Gateway mulai tanpa gateway.mode=local dalam konfigurasi. Hanya melewati penjaga startup untuk bootstrap ad-hoc/dev; tidak menulis atau memperbaiki file konfigurasi.
--devbooleanBuat konfigurasi dev + workspace jika belum ada (melewati BOOTSTRAP.md).
--resetbooleanReset konfigurasi dev + kredensial + sesi + workspace (memerlukan --dev).
--forcebooleanHentikan listener yang sudah ada pada port yang dipilih sebelum memulai.
--verbosebooleanLog verbose.
--cli-backend-logsbooleanHanya tampilkan log backend CLI di konsol (dan aktifkan stdout/stderr).
"--ws-log--compactbooleanAlias untuk --ws-log compact.
--raw-streambooleanCatat event stream model mentah ke jsonl.
Restart Gateway
openclaw gateway restartopenclaw gateway restart --safeopenclaw gateway restart --safe --skip-deferralopenclaw gateway restart --forceopenclaw gateway restart --safe meminta Gateway yang sedang berjalan untuk melakukan preflight pekerjaan aktif dan menjadwalkan satu restart yang digabungkan setelah pekerjaan aktif selesai. Restart aman default menunggu pekerjaan aktif hingga gateway.reload.deferralTimeoutMs yang dikonfigurasi (default 5 menit); ketika anggaran itu habis, restart dipaksa. Tetapkan gateway.reload.deferralTimeoutMs ke 0 untuk penantian aman tanpa batas yang tidak pernah memaksa. restart biasa mempertahankan perilaku manajer layanan yang ada; --force tetap menjadi jalur override langsung.
openclaw gateway restart --safe --skip-deferral menjalankan restart terkoordinasi yang sadar OpenClaw sama seperti --safe, tetapi melewati gerbang penundaan pekerjaan aktif sehingga Gateway memancarkan restart segera bahkan ketika pemblokir dilaporkan. Gunakan ini sebagai escape hatch operator ketika penundaan tertahan oleh task run yang macet dan --safe saja mungkin dibatasi oleh gateway.reload.deferralTimeoutMs. --skip-deferral memerlukan --safe.
Profiling Gateway
- Tetapkan
OPENCLAW_GATEWAY_STARTUP_TRACE=1untuk mencatat timing fase selama startup Gateway, termasuk delayeventLoopMaxper fase dan timing tabel pencarian Plugin untuk installed-index, registri manifest, perencanaan startup, dan pekerjaan owner-map. - Tetapkan
OPENCLAW_GATEWAY_RESTART_TRACE=1untuk mencatat barisrestart trace:berscope restart untuk penanganan sinyal restart, pengurasan pekerjaan aktif, fase shutdown, start berikutnya, timing ready, dan metrik memori. - Tetapkan
OPENCLAW_DIAGNOSTICS=timelinedenganOPENCLAW_DIAGNOSTICS_TIMELINE_PATH=<path>untuk menulis timeline diagnostik startup JSONL best-effort bagi harness QA eksternal. Anda juga dapat mengaktifkan flag dengandiagnostics.flags: ["timeline"]dalam konfigurasi; jalurnya tetap disediakan melalui env. TambahkanOPENCLAW_DIAGNOSTICS_EVENT_LOOP=1untuk menyertakan sampel event-loop. - Jalankan
pnpm buildterlebih dahulu, lalupnpm test:startup:gateway -- --runs 5 --warmup 1untuk membenchmark startup Gateway terhadap entri CLI yang sudah dibangun. Benchmark mencatat output proses pertama,/healthz,/readyz, timing trace startup, delay event-loop, dan detail timing tabel pencarian Plugin. - Jalankan
pnpm buildterlebih dahulu, lalupnpm test:restart:gateway -- --case skipChannels --runs 1 --restarts 5untuk membenchmark restart Gateway dalam proses terhadap entri CLI yang sudah dibangun di macOS atau Linux. Benchmark restart menggunakan SIGUSR1, mengaktifkan trace startup dan restart dalam proses child, serta mencatat/healthzberikutnya,/readyzberikutnya, downtime, timing ready, CPU, RSS, dan metrik trace restart. - Perlakukan
/healthzsebagai liveness dan/readyzsebagai kesiapan yang dapat digunakan. Baris trace dan output benchmark ditujukan untuk atribusi owner; jangan perlakukan satu rentang trace atau satu sampel sebagai kesimpulan performa lengkap.
Kueri Gateway yang berjalan
Semua perintah kueri menggunakan RPC WebSocket.
Mode output
- Default: dapat dibaca manusia (berwarna di TTY).
--json: JSON yang dapat dibaca mesin (tanpa styling/spinner).--no-color(atauNO_COLOR=1): nonaktifkan ANSI sambil mempertahankan tata letak manusia.
Opsi bersama
--url <url>: URL WebSocket Gateway.--token <token>: token Gateway.--password <password>: kata sandi Gateway.--timeout <ms>: timeout/anggaran (bervariasi per perintah).--expect-final: tunggu respons "final" (panggilan agen).
gateway health
openclaw gateway health --url ws://127.0.0.1:18789openclaw gateway health --port 18789Endpoint HTTP /healthz adalah probe liveness: endpoint ini kembali setelah server dapat menjawab HTTP. Endpoint HTTP /readyz lebih ketat dan tetap merah saat sidecar Plugin startup, saluran, atau hook yang dikonfigurasi masih dalam proses stabil. Respons kesiapan terperinci yang lokal atau terautentikasi menyertakan blok diagnostik eventLoop dengan delay event-loop, utilisasi event-loop, rasio core CPU, dan flag degraded.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
Targetkan Gateway local loopback pada port ini. Ini mengoverride OPENCLAW_GATEWAY_URL dan OPENCLAW_GATEWAY_PORT untuk panggilan health.
gateway usage-cost
Ambil ringkasan usage-cost dari log sesi.
openclaw gateway usage-costopenclaw gateway usage-cost --days 7openclaw gateway usage-cost --agent work --jsonopenclaw gateway usage-cost --all-agentsopenclaw gateway usage-cost --json"--days"--agent--all-agentsbooleanAgregasikan ringkasan biaya di semua agen yang dikonfigurasi. Tidak dapat digabungkan dengan --agent.
gateway stability
Ambil perekam stabilitas diagnostik terbaru dari Gateway yang berjalan.
openclaw gateway stabilityopenclaw gateway stability --type payload.largeopenclaw gateway stability --bundle latestopenclaw gateway stability --bundle latest --exportopenclaw gateway stability --jsonOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tbGltaXQgPGxpbWl0
" type="number" default="25">
Jumlah maksimum event terbaru untuk disertakan (maks 1000).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdHlwZSA8dHlwZQ
" type="string">
Filter berdasarkan tipe event diagnostik, seperti payload.large atau diagnostic.memory.pressure.
"--since-seq--bundle [path]stringBaca bundle stabilitas yang dipersist, bukan memanggil Gateway yang berjalan. Gunakan --bundle latest (atau cukup --bundle) untuk bundle terbaru di bawah direktori state, atau berikan jalur JSON bundle secara langsung.
--exportbooleanTulis zip diagnostik dukungan yang dapat dibagikan, bukan mencetak detail stabilitas.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tb3V0cHV0IDxwYXRo
" type="string">
Jalur output untuk --export.
Privasi dan perilaku bundle
- Catatan menyimpan metadata operasional: nama event, hitungan, ukuran byte, pembacaan memori, state antrean/sesi, id persetujuan, nama saluran/Plugin, dan ringkasan sesi yang disunting. Catatan tidak menyimpan teks chat, body webhook, output alat, body request atau respons mentah, token, cookie, nilai rahasia, hostname, atau id sesi mentah. Tetapkan
diagnostics.enabled: falseuntuk menonaktifkan perekam sepenuhnya. - Pada exit fatal Gateway, timeout shutdown, dan kegagalan startup restart, OpenClaw menulis snapshot diagnostik yang sama ke
~/.openclaw/logs/stability/openclaw-stability-*.jsonketika perekam memiliki event. Periksa bundle terbaru denganopenclaw gateway stability --bundle latest;--limit,--type, dan--since-seqjuga berlaku untuk output bundle.
gateway diagnostics export
Tulis zip diagnostik lokal yang dirancang untuk dilampirkan ke laporan bug. Untuk model privasi dan isi bundle, lihat Ekspor Diagnostik.
openclaw gateway diagnostics exportopenclaw gateway diagnostics export --output openclaw-diagnostics.zipopenclaw gateway diagnostics export --json"--log-lines"--log-bytes"--url"--token"--password"--timeout--no-stability-bundlebooleanLewati pencarian bundel stabilitas yang dipersistenkan.
--jsonbooleanCetak jalur tertulis, ukuran, dan manifes sebagai JSON.
Ekspor berisi manifes, ringkasan Markdown, bentuk konfigurasi, detail konfigurasi yang telah disanitasi, ringkasan log yang telah disanitasi, snapshot status/kesehatan Gateway yang telah disanitasi, dan bundel stabilitas terbaru jika ada.
Ini dimaksudkan untuk dibagikan. Ekspor ini menyimpan detail operasional yang membantu debugging, seperti bidang log OpenClaw yang aman, nama subsistem, kode status, durasi, mode yang dikonfigurasi, port, id plugin, id penyedia, pengaturan fitur non-rahasia, dan pesan log operasional yang disunting. Ekspor ini menghilangkan atau menyunting teks obrolan, isi webhook, keluaran alat, kredensial, cookie, pengidentifikasi akun/pesan, teks prompt/instruksi, nama host, dan nilai rahasia. Ketika pesan bergaya LogTape terlihat seperti teks payload pengguna/obrolan/alat, ekspor hanya menyimpan bahwa sebuah pesan dihilangkan beserta jumlah byte-nya.
gateway status
gateway status menampilkan layanan Gateway (launchd/systemd/schtasks) plus pemeriksaan opsional untuk kemampuan konektivitas/autentikasi.
openclaw gateway statusopenclaw gateway status --jsonopenclaw gateway status --require-rpc"--url"--token"--password"--timeout--no-probebooleanLewati pemeriksaan konektivitas (tampilan layanan saja).
--deepbooleanPindai juga layanan tingkat sistem.
--require-rpcbooleanTingkatkan pemeriksaan konektivitas default menjadi pemeriksaan baca dan keluar dengan nilai non-nol ketika pemeriksaan baca tersebut gagal. Tidak dapat digabungkan dengan --no-probe.
Status semantics
gateway statustetap tersedia untuk diagnostik meskipun konfigurasi CLI lokal hilang atau tidak valid.gateway statusdefault membuktikan status layanan, koneksi WebSocket, dan kemampuan autentikasi yang terlihat saat handshake. Ini tidak membuktikan operasi baca/tulis/admin.- Pemeriksaan diagnostik tidak memutasi autentikasi perangkat pertama kali: pemeriksaan ini menggunakan ulang token perangkat cache yang sudah ada jika tersedia, tetapi tidak membuat identitas perangkat CLI baru atau catatan pemasangan perangkat baca-saja hanya untuk memeriksa status.
gateway statusmenyelesaikan SecretRefs autentikasi yang dikonfigurasi untuk autentikasi pemeriksaan jika memungkinkan.- Jika SecretRef autentikasi yang diperlukan tidak terselesaikan di jalur perintah ini,
gateway status --jsonmelaporkanrpc.authWarningketika konektivitas/autentikasi pemeriksaan gagal; teruskan--token/--passwordsecara eksplisit atau selesaikan sumber rahasia terlebih dahulu. - Jika pemeriksaan berhasil, peringatan auth-ref yang tidak terselesaikan ditekan untuk menghindari positif palsu.
- Ketika pemeriksaan diaktifkan, keluaran JSON menyertakan
gateway.versionsaat Gateway yang berjalan melaporkannya;--require-rpcdapat kembali ke payload RPCstatus.runtimeVersionjika pemeriksaan handshake lanjutan tidak dapat menyediakan metadata versi. - Gunakan
--require-rpcdalam skrip dan otomatisasi ketika layanan yang mendengarkan saja tidak cukup dan Anda juga membutuhkan panggilan RPC cakupan baca dalam keadaan sehat. --deepmenambahkan pemindaian upaya terbaik untuk instalasi launchd/systemd/schtasks tambahan. Ketika beberapa layanan mirip gateway terdeteksi, keluaran manusia mencetak petunjuk pembersihan dan memperingatkan bahwa sebagian besar pengaturan sebaiknya menjalankan satu gateway per mesin.--deepjuga melaporkan handoff restart supervisor Gateway terbaru ketika proses layanan keluar dengan bersih untuk restart supervisor eksternal.--deepmenjalankan validasi konfigurasi dalam mode sadar plugin (pluginValidation: "full") dan menampilkan peringatan manifes plugin yang dikonfigurasi (misalnya metadata konfigurasi kanal yang hilang) sehingga pemeriksaan smoke instalasi dan pembaruan menangkapnya.gateway statusdefault mempertahankan jalur baca-saja cepat yang melewati validasi plugin.- Keluaran manusia menyertakan jalur log file yang terselesaikan plus snapshot jalur/validitas konfigurasi CLI-vs-layanan untuk membantu mendiagnosis drift profil atau state-dir.
Linux systemd auth-drift checks
- Pada instalasi systemd Linux, pemeriksaan drift autentikasi layanan membaca nilai
Environment=danEnvironmentFile=dari unit (termasuk%h, jalur yang dikutip, beberapa file, dan file-opsional). - Pemeriksaan drift menyelesaikan SecretRefs
gateway.auth.tokenmenggunakan env runtime gabungan (env perintah layanan terlebih dahulu, lalu fallback env proses). - Jika autentikasi token tidak aktif secara efektif (
gateway.auth.modeeksplisit berupapassword/none/trusted-proxy, atau mode tidak disetel saat kata sandi dapat menang dan tidak ada kandidat token yang dapat menang), pemeriksaan token-drift melewati resolusi token konfigurasi.
gateway probe
gateway probe adalah perintah "debug semuanya". Perintah ini selalu memeriksa:
- gateway remote yang Anda konfigurasi (jika disetel), dan
- localhost (loopback) meskipun remote dikonfigurasi.
Jika Anda meneruskan --url, target eksplisit tersebut ditambahkan sebelum keduanya. Keluaran manusia memberi label target sebagai:
URL (explicit)Remote (configured)atauRemote (configured, inactive)Local loopback
openclaw gateway probeopenclaw gateway probe --jsonopenclaw gateway probe --port 18789OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
Gunakan port ini untuk target pemeriksaan local loopback dan port remote tunnel SSH. Tanpa --url, ini memilih target local loopback, bukan URL lingkungan gateway yang dikonfigurasi, port lingkungan, atau target remote.
Interpretation
Reachable: yesberarti setidaknya satu target menerima koneksi WebSocket.Capability: read-only|write-capable|admin-capable|pairing-pending|connect-onlymelaporkan apa yang dapat dibuktikan pemeriksaan tentang autentikasi. Ini terpisah dari keterjangkauan.Read probe: okberarti panggilan RPC detail cakupan baca (health/status/system-presence/config.get) juga berhasil.Read probe: limited - missing scope: operator.readberarti koneksi berhasil tetapi RPC cakupan baca terbatas. Ini dilaporkan sebagai keterjangkauan terdegradasi, bukan kegagalan penuh.Read probe: failedsetelahConnect: okberarti Gateway menerima koneksi WebSocket, tetapi diagnostik baca lanjutan kehabisan waktu atau gagal. Ini juga merupakan keterjangkauan terdegradasi, bukan Gateway yang tidak dapat dijangkau.- Seperti
gateway status, pemeriksaan menggunakan ulang autentikasi perangkat cache yang sudah ada tetapi tidak membuat identitas perangkat pertama kali atau status pemasangan. - Kode keluar non-nol hanya ketika tidak ada target yang diperiksa dapat dijangkau.
JSON output
Tingkat atas:
ok: setidaknya satu target dapat dijangkau.degraded: setidaknya satu target menerima koneksi tetapi tidak menyelesaikan diagnostik RPC detail penuh.capability: kemampuan terbaik yang terlihat di seluruh target yang dapat dijangkau (read_only,write_capable,admin_capable,pairing_pending,connected_no_operator_scope, atauunknown).primaryTargetId: target terbaik untuk diperlakukan sebagai pemenang aktif dalam urutan ini: URL eksplisit, tunnel SSH, remote yang dikonfigurasi, lalu local loopback.warnings[]: catatan peringatan upaya terbaik dengancode,message, dantargetIdsopsional.network: petunjuk URL local loopback/tailnet yang diturunkan dari konfigurasi saat ini dan jaringan host.discovery.timeoutMsdandiscovery.count: anggaran/jumlah hasil discovery aktual yang digunakan untuk pass pemeriksaan ini.
Per target (targets[].connect):
ok: keterjangkauan setelah koneksi + klasifikasi terdegradasi.rpcOk: keberhasilan RPC detail penuh.scopeLimited: RPC detail gagal karena cakupan operator hilang.
Per target (targets[].auth):
role: peran autentikasi yang dilaporkan dalamhello-okjika tersedia.scopes: cakupan yang diberikan yang dilaporkan dalamhello-okjika tersedia.capability: klasifikasi kemampuan autentikasi yang ditampilkan untuk target tersebut.
Common warning codes
ssh_tunnel_failed: penyiapan tunnel SSH gagal; perintah kembali ke pemeriksaan langsung.multiple_gateways: identitas gateway yang berbeda dapat dijangkau, atau OpenClaw tidak dapat membuktikan target yang dapat dijangkau adalah gateway yang sama. Tunnel SSH, URL proxy, atau URL remote yang dikonfigurasi ke gateway yang sama tidak memicu peringatan ini.auth_secretref_unresolved: SecretRef autentikasi yang dikonfigurasi tidak dapat diselesaikan untuk target yang gagal.probe_scope_limited: koneksi WebSocket berhasil, tetapi pemeriksaan baca dibatasi olehoperator.readyang hilang.
Remote melalui SSH (paritas aplikasi Mac)
Mode "Remote over SSH" aplikasi macOS menggunakan penerusan port lokal sehingga gateway remote (yang mungkin hanya diikat ke loopback) menjadi dapat dijangkau di ws://127.0.0.1:<port>.
Padanan CLI:
openclaw gateway probe --ssh user@gateway-hostOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tc3NoIDx0YXJnZXQ
" type="string">
user@host atau user@host:port (port default ke 22).
--ssh-autobooleanPilih host gateway pertama yang ditemukan sebagai target SSH dari endpoint discovery yang terselesaikan (local. plus domain area-luas yang dikonfigurasi, jika ada). Petunjuk hanya TXT diabaikan.
Konfigurasi (opsional, digunakan sebagai default):
gateway.remote.sshTargetgateway.remote.sshIdentity
gateway call <method>
Pembantu RPC tingkat rendah.
openclaw gateway call statusopenclaw gateway call logs.tail --params '{"sinceMs": 60000}'"--params"--url"--token"--password"--timeout--expect-finalbooleanTerutama untuk RPC bergaya agen yang mengalirkan peristiwa perantara sebelum payload final.
--jsonbooleanKeluaran JSON yang dapat dibaca mesin.
Kelola layanan Gateway
openclaw gateway installopenclaw gateway startopenclaw gateway stopopenclaw gateway restartopenclaw gateway uninstallInstal dengan wrapper
Gunakan --wrapper saat layanan terkelola harus dimulai melalui executable lain, misalnya shim
pengelola rahasia atau helper run-as. Wrapper menerima argumen Gateway normal dan
bertanggung jawab untuk pada akhirnya menjalankan exec openclaw atau Node dengan argumen tersebut.
cat > ~/.local/bin/openclaw-doppler <<'EOF'#!/usr/bin/env bashset -euo pipefailexec doppler run --project my-project --config production -- openclaw "$@"EOFchmod +x ~/.local/bin/openclaw-doppler openclaw gateway install --wrapper ~/.local/bin/openclaw-doppler --forceopenclaw gateway restartAnda juga dapat menetapkan wrapper melalui environment. gateway install memvalidasi bahwa path tersebut adalah
file executable, menulis wrapper ke ProgramArguments layanan, dan mempertahankan
OPENCLAW_WRAPPER di environment layanan untuk reinstall paksa, pembaruan, dan perbaikan doctor
di kemudian hari.
OPENCLAW_WRAPPER="$HOME/.local/bin/openclaw-doppler" openclaw gateway install --forceopenclaw doctorUntuk menghapus wrapper yang tersimpan secara persisten, kosongkan OPENCLAW_WRAPPER saat memasang ulang:
OPENCLAW_WRAPPER= openclaw gateway install --forceopenclaw gateway restartCommand options
gateway status:--url,--token,--password,--timeout,--no-probe,--require-rpc,--deep,--jsongateway install:--port,--runtime <node|bun>,--token,--wrapper <path>,--force,--jsongateway restart:--safe,--skip-deferral,--force,--wait <duration>,--jsongateway uninstall|start:--jsongateway stop:--disable,--json
Lifecycle behavior
- Gunakan
gateway restartuntuk memulai ulang layanan terkelola. Jangan merangkaigateway stopdangateway startsebagai pengganti mulai ulang. - Di macOS,
gateway stopmenggunakanlaunchctl bootoutsecara default, yang menghapus LaunchAgent dari sesi boot saat ini tanpa menyimpan penonaktifan secara persisten — pemulihan otomatis KeepAlive tetap aktif untuk crash mendatang dangateway startmengaktifkan ulang dengan bersih tanpalaunchctl enablemanual. Berikan--disableuntuk menekan KeepAlive dan RunAtLoad secara persisten agar gateway tidak muncul ulang sampaigateway starteksplisit berikutnya; gunakan ini ketika penghentian manual harus bertahan melewati reboot atau mulai ulang sistem. gateway restart --safememinta Gateway yang sedang berjalan untuk memeriksa awal pekerjaan aktif dan menjadwalkan satu mulai ulang tergabung setelah pekerjaan aktif selesai. Mulai ulang aman default menunggu pekerjaan aktif hinggagateway.reload.deferralTimeoutMsyang dikonfigurasi (default 5 menit); ketika batas waktu itu habis, mulai ulang dipaksa. Aturgateway.reload.deferralTimeoutMske0untuk penantian aman tanpa batas yang tidak pernah memaksa.--safetidak dapat digabungkan dengan--forceatau--wait.gateway restart --wait 30smenimpa batas waktu drain mulai ulang yang dikonfigurasi untuk mulai ulang tersebut. Angka tanpa satuan adalah milidetik; satuan sepertis,m, danhditerima.--wait 0menunggu tanpa batas.gateway restart --safe --skip-deferralmenjalankan mulai ulang aman yang sadar OpenClaw tetapi melewati gerbang penangguhan sehingga Gateway langsung memancarkan mulai ulang meskipun pemblokir dilaporkan. Jalan keluar operator untuk penangguhan task-run yang macet; memerlukan--safe.gateway restart --forcemelewati drain pekerjaan aktif dan langsung memulai ulang. Gunakan ini ketika operator sudah memeriksa pemblokir tugas yang tercantum dan ingin gateway kembali sekarang.- Perintah siklus hidup menerima
--jsonuntuk scripting.
Auth and SecretRefs at install time
- Ketika auth token memerlukan token dan
gateway.auth.tokendikelola SecretRef,gateway installmemvalidasi bahwa SecretRef dapat di-resolve tetapi tidak menyimpan token yang di-resolve ke dalam metadata lingkungan layanan. - Jika auth token memerlukan token dan SecretRef token yang dikonfigurasi tidak terselesaikan, pemasangan gagal tertutup alih-alih menyimpan plaintext fallback.
- Untuk auth kata sandi pada
gateway run, pilihOPENCLAW_GATEWAY_PASSWORD,--password-file, ataugateway.auth.passwordyang didukung SecretRef daripada--passwordinline. - Dalam mode auth yang diinferensikan,
OPENCLAW_GATEWAY_PASSWORDyang hanya ada di shell tidak melonggarkan persyaratan token pemasangan; gunakan konfigurasi tahan lama (gateway.auth.passwordatau configenv) saat memasang layanan terkelola. - Jika
gateway.auth.tokendangateway.auth.passwordsama-sama dikonfigurasi dangateway.auth.modebelum diatur, pemasangan diblokir sampai mode diatur secara eksplisit.
Temukan gateway (Bonjour)
gateway discover memindai beacon Gateway (_openclaw-gw._tcp).
- DNS-SD multicast:
local. - DNS-SD unicast (Wide-Area Bonjour): pilih domain (contoh:
openclaw.internal.) dan siapkan DNS terpisah + server DNS; lihat Bonjour.
Hanya Gateway dengan penemuan Bonjour yang diaktifkan (default) yang mengiklankan beacon.
Record penemuan area luas dapat menyertakan petunjuk TXT berikut:
role(petunjuk peran Gateway)transport(petunjuk transport, mis.gateway)gatewayPort(port WebSocket, biasanya18789)sshPort(hanya mode penemuan penuh; klien menetapkan target SSH default ke22saat ini tidak ada)tailnetDns(nama host MagicDNS, saat tersedia)gatewayTls/gatewayTlsSha256(TLS diaktifkan + sidik jari sertifikat)cliPath(hanya mode penemuan penuh)
gateway discover
openclaw gateway discover"--timeout--jsonbooleanKeluaran yang dapat dibaca mesin (juga menonaktifkan gaya/spinner).
Contoh:
openclaw gateway discover --timeout 4000openclaw gateway discover --json | jq '.beacons[].wsUrl'