CLI commands
Gateway
Gateway OpenClaw का WebSocket सर्वर है (channels, nodes, sessions, hooks)। इस पेज के subcommands openclaw gateway … के अंतर्गत रहते हैं।
स्थानीय mDNS + wide-area DNS-SD सेटअप।
OpenClaw gateways का विज्ञापन और खोज कैसे करता है।
शीर्ष-स्तरीय gateway config keys।
Gateway चलाएँ
स्थानीय Gateway process चलाएँ:
openclaw gatewayForeground alias:
openclaw gateway runस्टार्टअप व्यवहार
- डिफ़ॉल्ट रूप से, Gateway तब तक शुरू होने से इनकार करता है जब तक
~/.openclaw/openclaw.jsonमेंgateway.mode=localसेट न हो। ad-hoc/dev runs के लिए--allow-unconfiguredका उपयोग करें। openclaw onboard --mode localऔरopenclaw setupसेgateway.mode=localलिखे जाने की अपेक्षा है। अगर फ़ाइल मौजूद है लेकिनgateway.modeनहीं है, तो इसे implicit रूप से local mode मानने के बजाय टूटी या clobbered config मानकर सुधारें।- अगर फ़ाइल मौजूद है और
gateway.modeनहीं है, तो Gateway इसे संदिग्ध config क्षति मानता है और आपके लिए "guess local" करने से इनकार करता है। - auth के बिना loopback से आगे bind करना रोका गया है (safety guardrail)।
lan,tailnet, औरcustomअभी IPv4-only BYOH paths पर resolve होते हैं।- IPv6-only BYOH आज इस path पर natively supported नहीं है। अगर host खुद IPv6-only है, तो IPv4 sidecar या proxy का उपयोग करें।
- authorized होने पर
SIGUSR1in-process restart trigger करता है (commands.restartडिफ़ॉल्ट रूप से enabled है; manual restart रोकने के लिएcommands.restart: falseसेट करें, जबकि gateway tool/config apply/update allowed रहते हैं)। SIGINT/SIGTERMhandlers gateway process रोकते हैं, लेकिन वे कोई custom terminal state restore नहीं करते। अगर आप CLI को TUI या raw-mode input के साथ wrap करते हैं, तो exit से पहले terminal restore करें।
विकल्प
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
WebSocket port (default config/env से आता है; आम तौर पर 18789)।
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tYmluZCA8bG9vcGJhY2t8bGFufHRhaWxuZXR8YXV0b3xjdXN0b20
" type="string">
Listener bind mode। lan, tailnet, और custom अभी IPv4-only paths पर resolve होते हैं।
"--authOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdG9rZW4gPHRva2Vu
" type="string">
Token override (process के लिए OPENCLAW_GATEWAY_TOKEN भी set करता है)।
"--password"--tailscale--tailscale-reset-on-exitbooleanshutdown पर Tailscale serve/funnel config reset करें।
--bind custom + gateway.customBindHoststringआज IPv4 address की अपेक्षा करता है। IPv6-only BYOH के लिए, Gateway के सामने IPv4 sidecar या proxy रखें और OpenClaw को उस IPv4 endpoint पर point करें।
--allow-unconfiguredbooleanconfig में gateway.mode=local के बिना gateway start allow करें। यह केवल ad-hoc/dev bootstrap के लिए startup guard bypass करता है; config file लिखता या repair नहीं करता।
--devbooleanmissing होने पर dev config + workspace बनाएँ (BOOTSTRAP.md skip करता है)।
--resetbooleandev config + credentials + sessions + workspace reset करें (--dev आवश्यक है)।
--forcebooleanstart करने से पहले selected port पर कोई existing listener kill करें।
--verbosebooleanVerbose logs।
--cli-backend-logsbooleanconsole में केवल CLI backend logs दिखाएँ (और stdout/stderr enable करें)।
"--ws-log--compactboolean--ws-log compact के लिए alias।
--raw-streambooleanraw model stream events को jsonl में log करें।
Gateway restart करें
openclaw gateway restartopenclaw gateway restart --safeopenclaw gateway restart --safe --skip-deferralopenclaw gateway restart --forceopenclaw gateway restart --safe running Gateway से active work preflight करने और active work drain होने के बाद एक coalesced restart schedule करने को कहता है। डिफ़ॉल्ट safe restart configured gateway.reload.deferralTimeoutMs (default 5 minutes) तक active work का wait करता है; जब वह budget expire होता है तो restart force किया जाता है। indefinite safe wait के लिए gateway.reload.deferralTimeoutMs को 0 पर set करें, जो कभी force नहीं करता। Plain restart existing service-manager behavior रखता है; --force immediate override path बना रहता है।
openclaw gateway restart --safe --skip-deferral --safe जैसा ही OpenClaw-aware coordinated restart चलाता है, लेकिन active-work deferral gate bypass करता है ताकि blockers reported होने पर भी Gateway restart तुरंत emit करे। इसे operator escape hatch के रूप में use करें जब कोई deferral stuck task run से pinned हो गया हो और सिर्फ --safe gateway.reload.deferralTimeoutMs से bounded हो सकता हो। --skip-deferral के लिए --safe आवश्यक है।
Gateway profiling
- Gateway startup के दौरान phase timings log करने के लिए
OPENCLAW_GATEWAY_STARTUP_TRACE=1set करें, जिसमें per-phaseeventLoopMaxdelay और installed-index, manifest registry, startup planning, और owner-map work के लिए plugin lookup-table timings शामिल हैं। - restart signal handling, active-work drain, shutdown phases, next start, ready timing, और memory metrics के लिए restart-scoped
restart trace:lines log करने हेतुOPENCLAW_GATEWAY_RESTART_TRACE=1set करें। - external QA harnesses के लिए best-effort JSONL startup diagnostics timeline लिखने हेतु
OPENCLAW_DIAGNOSTICS=timelineकोOPENCLAW_DIAGNOSTICS_TIMELINE_PATH=<path>के साथ set करें। आप config मेंdiagnostics.flags: ["timeline"]से भी flag enable कर सकते हैं; path फिर भी env-provided है। event-loop samples शामिल करने के लिएOPENCLAW_DIAGNOSTICS_EVENT_LOOP=1जोड़ें। - पहले
pnpm buildचलाएँ, फिर built CLI entry के विरुद्ध Gateway startup benchmark करने के लिएpnpm test:startup:gateway -- --runs 5 --warmup 1चलाएँ। benchmark first process output,/healthz,/readyz, startup trace timings, event-loop delay, और plugin lookup-table timing details record करता है। - पहले
pnpm buildचलाएँ, फिर macOS या Linux पर built CLI entry के विरुद्ध in-process Gateway restart benchmark करने के लिएpnpm test:restart:gateway -- --case skipChannels --runs 1 --restarts 5चलाएँ। restart benchmark SIGUSR1 का उपयोग करता है, child process में startup और restart traces दोनों enable करता है, और next/healthz, next/readyz, downtime, ready timing, CPU, RSS, और restart trace metrics record करता है। /healthzको liveness और/readyzको usable readiness मानें। Trace lines और benchmark output owner attribution के लिए हैं; एक trace span या एक sample को complete performance conclusion न मानें।
running Gateway query करें
सभी query commands WebSocket RPC का उपयोग करते हैं।
Output modes
- Default: human-readable (TTY में colored)।
--json: machine-readable JSON (कोई styling/spinner नहीं)।--no-color(याNO_COLOR=1): human layout बनाए रखते हुए ANSI disable करें।
Shared options
--url <url>: Gateway WebSocket URL।--token <token>: Gateway token।--password <password>: Gateway password।--timeout <ms>: timeout/budget (command के अनुसार बदलता है)।--expect-final: "final" response का wait करें (agent calls)।
gateway health
openclaw gateway health --url ws://127.0.0.1:18789openclaw gateway health --port 18789HTTP /healthz endpoint liveness probe है: server के HTTP answer कर पाने पर यह return करता है। HTTP /readyz endpoint अधिक strict है और startup plugin sidecars, channels, या configured hooks के settle होते समय red रहता है। Local या authenticated detailed readiness responses में event-loop delay, event-loop utilization, CPU core ratio, और degraded flag के साथ eventLoop diagnostic block शामिल होता है।
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
इस port पर local loopback Gateway target करें। यह health call के लिए OPENCLAW_GATEWAY_URL और OPENCLAW_GATEWAY_PORT override करता है।
gateway usage-cost
session logs से usage-cost summaries fetch करें।
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-agentsbooleanसभी configured agents में cost summary aggregate करें। --agent के साथ combine नहीं किया जा सकता।
gateway stability
running Gateway से recent diagnostic stability recorder fetch करें।
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">
शामिल करने के लिए recent events की maximum संख्या (max 1000)।
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdHlwZSA8dHlwZQ
" type="string">
diagnostic event type से filter करें, जैसे payload.large या diagnostic.memory.pressure।
"--since-seq--bundle [path]stringrunning Gateway को call करने के बजाय persisted stability bundle पढ़ें। state directory के अंतर्गत newest bundle के लिए --bundle latest (या सिर्फ --bundle) use करें, या bundle JSON path सीधे pass करें।
--exportbooleanstability details print करने के बजाय shareable support diagnostics zip लिखें।
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tb3V0cHV0IDxwYXRo
" type="string">
--export के लिए output path।
Privacy और bundle behavior
- Records operational metadata रखते हैं: event names, counts, byte sizes, memory readings, queue/session state, approval ids, channel/plugin names, और redacted session summaries। वे chat text, webhook bodies, tool outputs, raw request या response bodies, tokens, cookies, secret values, hostnames, या raw session ids नहीं रखते। recorder को पूरी तरह disable करने के लिए
diagnostics.enabled: falseset करें। - fatal Gateway exits, shutdown timeouts, और restart startup failures पर, जब recorder के पास events होते हैं, OpenClaw वही diagnostic snapshot
~/.openclaw/logs/stability/openclaw-stability-*.jsonमें लिखता है। newest bundle कोopenclaw gateway stability --bundle latestसे inspect करें;--limit,--type, और--since-seqbundle output पर भी apply होते हैं।
gateway diagnostics export
bug reports से attach करने के लिए designed local diagnostics zip लिखें। privacy model और bundle contents के लिए Diagnostics Export देखें।
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-bundlebooleanसंचित stability bundle lookup छोड़ें।
--jsonbooleanलिखे गए पथ, आकार और manifest को JSON के रूप में प्रिंट करें।
निर्यात में एक manifest, Markdown सारांश, config shape, सैनिटाइज़ किए गए config विवरण, सैनिटाइज़ किए गए log सारांश, सैनिटाइज़ किए गए Gateway status/health snapshots, और मौजूद होने पर नवीनतम stability bundle शामिल होता है।
इसे साझा करने के लिए बनाया गया है। यह debugging में मदद करने वाले परिचालन विवरण रखता है, जैसे सुरक्षित OpenClaw log fields, subsystem names, status codes, durations, configured modes, ports, plugin ids, provider ids, non-secret feature settings, और redacted operational log messages। यह chat text, webhook bodies, tool outputs, credentials, cookies, account/message identifiers, prompt/instruction text, hostnames, और secret values को छोड़ता या redact करता है। जब LogTape-style message user/chat/tool payload text जैसा दिखता है, तो निर्यात केवल यह रखता है कि message छोड़ा गया था और उसका byte count।
gateway status
gateway status Gateway service (launchd/systemd/schtasks) और connectivity/auth capability की वैकल्पिक probe दिखाता है।
openclaw gateway statusopenclaw gateway status --jsonopenclaw gateway status --require-rpc"--url"--token"--password"--timeout--no-probebooleanconnectivity probe छोड़ें (केवल-service दृश्य)।
--deepbooleansystem-level services को भी scan करें।
--require-rpcbooleanडिफ़ॉल्ट connectivity probe को read probe में upgrade करें और उस read probe के विफल होने पर non-zero exit करें। --no-probe के साथ जोड़ा नहीं जा सकता।
Status semantics
- local CLI config missing या invalid होने पर भी
gateway statusdiagnostics के लिए उपलब्ध रहता है। - डिफ़ॉल्ट
gateway statusservice state, WebSocket connect, और handshake time पर दिखाई देने वाली auth capability साबित करता है। यह read/write/admin operations साबित नहीं करता। - Diagnostic probes first-time device auth के लिए non-mutating हैं: वे मौजूद होने पर मौजूदा cached device token का reuse करते हैं, लेकिन केवल status check करने के लिए नई CLI device identity या read-only device pairing record नहीं बनाते।
gateway statusसंभव होने पर probe auth के लिए configured auth SecretRefs resolve करता है।- यदि इस command path में required auth SecretRef unresolved है, तो probe connectivity/auth विफल होने पर
gateway status --jsonrpc.authWarningreport करता है;--token/--passwordस्पष्ट रूप से pass करें या पहले secret source resolve करें। - यदि probe सफल होती है, तो false positives से बचने के लिए unresolved auth-ref warnings suppress कर दी जाती हैं।
- probing enabled होने पर, JSON output में
gateway.versionशामिल होता है जब running Gateway उसे report करता है; यदि follow-up handshake probe version metadata नहीं दे सकता, तो--require-rpcstatus.runtimeVersionRPC payload पर fall back कर सकता है। - scripts और automation में
--require-rpcका उपयोग करें जब listening service पर्याप्त न हो और आपको read-scope RPC calls भी healthy चाहिए हों। --deepextra launchd/systemd/schtasks installs के लिए best-effort scan जोड़ता है। जब multiple gateway-like services detect होती हैं, human output cleanup hints print करता है और warn करता है कि अधिकतर setups को प्रति machine एक gateway चलाना चाहिए।--deeprecent Gateway supervisor restart handoff भी report करता है जब service process external supervisor restart के लिए cleanly exited हो।--deepplugin-aware mode (pluginValidation: "full") में config validation चलाता है और configured plugin manifest warnings (उदाहरण के लिए missing channel config metadata) surface करता है ताकि install और update smoke checks उन्हें पकड़ सकें। डिफ़ॉल्टgateway statusfast read-only path रखता है जो plugin validation छोड़ता है।- Human output resolved file log path के साथ CLI-vs-service config paths/validity snapshot शामिल करता है ताकि profile या state-dir drift diagnose करने में मदद मिले।
Linux systemd auth-drift checks
- Linux systemd installs पर, service auth drift checks unit से
Environment=औरEnvironmentFile=दोनों values पढ़ते हैं (जिसमें%h, quoted paths, multiple files, और optional-files शामिल हैं)। - Drift checks merged runtime env (पहले service command env, फिर process env fallback) का उपयोग करके
gateway.auth.tokenSecretRefs resolve करते हैं। - यदि token auth effectively active नहीं है (explicit
gateway.auth.modeofpassword/none/trusted-proxy, या mode unset जहां password win कर सकता है और कोई token candidate win नहीं कर सकता), तो token-drift checks config token resolution छोड़ देते हैं।
gateway probe
gateway probe "debug everything" command है। यह हमेशा probe करता है:
- आपका configured remote gateway (यदि set है), और
- localhost (loopback) भले ही remote configured हो।
यदि आप --url pass करते हैं, तो वह explicit target दोनों से पहले जोड़ दिया जाता है। Human output targets को इस प्रकार label करता है:
URL (explicit)Remote (configured)याRemote (configured, inactive)Local loopback
openclaw gateway probeopenclaw gateway probe --jsonopenclaw gateway probe --port 18789OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
local loopback probe target और SSH tunnel remote port के लिए यह port उपयोग करें। --url के बिना, यह configured gateway environment URL, environment port, या remote targets के बजाय local loopback target चुनता है।
Interpretation
Reachable: yesका मतलब है कि कम से कम एक target ने WebSocket connect accept किया।Capability: read-only|write-capable|admin-capable|pairing-pending|connect-onlyreport करता है कि probe auth के बारे में क्या prove कर सकी। यह reachability से अलग है।Read probe: okका मतलब है कि read-scope detail RPC calls (health/status/system-presence/config.get) भी सफल हुईं।Read probe: limited - missing scope: operator.readका मतलब है कि connect सफल हुआ लेकिन read-scope RPC limited है। इसे degraded reachability के रूप में report किया जाता है, full failure के रूप में नहीं।Connect: okके बादRead probe: failedका मतलब है कि Gateway ने WebSocket connection accept किया, लेकिन follow-up read diagnostics timed out या failed। यह भी degraded reachability है, unreachable Gateway नहीं।gateway statusकी तरह, probe existing cached device auth reuse करता है लेकिन first-time device identity या pairing state create नहीं करता।- Exit code non-zero केवल तब होता है जब कोई probed target reachable नहीं है।
JSON output
Top level:
ok: कम से कम एक target reachable है।degraded: कम से कम एक target ने connection accept किया लेकिन full detail RPC diagnostics complete नहीं किए।capability: reachable targets में देखी गई best capability (read_only,write_capable,admin_capable,pairing_pending,connected_no_operator_scope, याunknown)।primaryTargetId: इस order में active winner मानने के लिए best target: explicit URL, SSH tunnel, configured remote, फिर local loopback।warnings[]:code,message, और optionaltargetIdsके साथ best-effort warning records।network: current config और host networking से निकाले गए local loopback/tailnet URL hints।discovery.timeoutMsऔरdiscovery.count: इस probe pass के लिए इस्तेमाल किया गया actual discovery budget/result count।
Per target (targets[].connect):
ok: connect + degraded classification के बाद reachability।rpcOk: full detail RPC success।scopeLimited: missing operator scope के कारण detail RPC failed।
Per target (targets[].auth):
role: उपलब्ध होने परhello-okमें report की गई auth role।scopes: उपलब्ध होने परhello-okमें report किए गए granted scopes।capability: उस target के लिए surfaced auth capability classification।
Common warning codes
ssh_tunnel_failed: SSH tunnel setup failed; command direct probes पर fall back हो गया।multiple_gateways: distinct gateway identities reachable थीं, या OpenClaw यह prove नहीं कर सका कि reachable targets वही gateway हैं। उसी gateway के लिए SSH tunnel, proxy URL, या configured remote URL यह warning trigger नहीं करता।auth_secretref_unresolved: failed target के लिए configured auth SecretRef resolve नहीं हो सका।probe_scope_limited: WebSocket connect सफल हुआ, लेकिन read probe missingoperator.readसे limited थी।
Remote over SSH (Mac app parity)
macOS app का "Remote over SSH" mode local port-forward का उपयोग करता है ताकि remote gateway (जो केवल loopback से bound हो सकता है) ws://127.0.0.1:<port> पर reachable हो जाए।
CLI equivalent:
openclaw gateway probe --ssh user@gateway-hostOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tc3NoIDx0YXJnZXQ
" type="string">
user@host या user@host:port (port defaults to 22)।
--ssh-autobooleanresolved discovery endpoint (local. plus the configured wide-area domain, if any) से पहले discovered gateway host को SSH target के रूप में चुनें। TXT-only hints ignored हैं।
Config (optional, used as defaults):
gateway.remote.sshTargetgateway.remote.sshIdentity
gateway call <method>
Low-level RPC helper।
openclaw gateway call statusopenclaw gateway call logs.tail --params '{"sinceMs": 60000}'"--params"--url"--token"--password"--timeout--expect-finalbooleanमुख्य रूप से agent-style RPCs के लिए जो final payload से पहले intermediate events stream करते हैं।
--jsonbooleanMachine-readable JSON output।
Gateway service प्रबंधित करें
openclaw gateway installopenclaw gateway startopenclaw gateway stopopenclaw gateway restartopenclaw gateway uninstallwrapper के साथ इंस्टॉल करें
जब managed service को किसी दूसरे executable के माध्यम से शुरू करना हो, जैसे secrets manager shim या run-as helper, तब --wrapper का उपयोग करें। wrapper को सामान्य Gateway args मिलते हैं और अंततः उन args के साथ openclaw या Node को exec करने की ज़िम्मेदारी उसी की होती है।
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 restartआप environment के माध्यम से भी wrapper सेट कर सकते हैं। gateway install सत्यापित करता है कि path एक executable file है, wrapper को service ProgramArguments में लिखता है, और बाद के forced reinstalls, updates, और doctor repairs के लिए service environment में OPENCLAW_WRAPPER को बनाए रखता है।
OPENCLAW_WRAPPER="$HOME/.local/bin/openclaw-doppler" openclaw gateway install --forceopenclaw doctorबनाए रखे गए wrapper को हटाने के लिए, reinstall करते समय OPENCLAW_WRAPPER खाली करें:
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
- managed service को restart करने के लिए
gateway restartका उपयोग करें। restart substitute के रूप मेंgateway stopऔरgateway startको chain न करें। - macOS पर,
gateway stopdefault रूप सेlaunchctl bootoutका उपयोग करता है, जो disable को बनाए रखे बिना current boot session से LaunchAgent को हटाता है — KeepAlive auto-recovery future crashes के लिए active रहती है औरgateway startmanuallaunchctl enableके बिना cleanly re-enable करता है। KeepAlive और RunAtLoad को persistently suppress करने के लिए--disableपास करें, ताकि gateway अगले explicitgateway startतक respawn न हो; इसका उपयोग तब करें जब manual stop को reboots या system restarts के बाद भी बना रहना चाहिए। gateway restart --saferunning Gateway से active work को preflight करने और active work drain होने के बाद एक coalesced restart schedule करने को कहता है। default safe restart configuredgateway.reload.deferralTimeoutMs(default 5 minutes) तक active work की प्रतीक्षा करता है; जब वह budget समाप्त हो जाता है, restart forced होता है। ऐसे indefinite safe wait के लिए जो कभी force नहीं करता,gateway.reload.deferralTimeoutMsको0पर सेट करें।--safeको--forceया--waitके साथ combine नहीं किया जा सकता।gateway restart --wait 30sउस restart के लिए configured restart drain budget को override करता है। bare numbers milliseconds होते हैं;s,m, औरhजैसी units स्वीकार की जाती हैं।--wait 0indefinite प्रतीक्षा करता है।gateway restart --safe --skip-deferralOpenClaw-aware safe restart चलाता है लेकिन deferral gate को bypass करता है, ताकि blockers report होने पर भी Gateway restart तुरंत emit करे। stuck-task-run deferrals के लिए operator escape hatch;--safeआवश्यक है।gateway restart --forceactive-work drain को skip करता है और तुरंत restart करता है। इसका उपयोग तब करें जब operator listed task blockers का पहले ही inspection कर चुका हो और gateway को अभी वापस चाहता हो।- Lifecycle commands scripting के लिए
--jsonस्वीकार करते हैं।
Auth and SecretRefs at install time
- जब token auth को token की आवश्यकता होती है और
gateway.auth.tokenSecretRef-managed है, तोgateway installसत्यापित करता है कि SecretRef resolvable है, लेकिन resolved token को service environment metadata में persist नहीं करता। - यदि token auth को token की आवश्यकता है और configured token SecretRef unresolved है, तो install fallback plaintext persist करने के बजाय fail closed होता है।
gateway runपर password auth के लिए inline--passwordके बजायOPENCLAW_GATEWAY_PASSWORD,--password-file, या SecretRef-backedgateway.auth.passwordको प्राथमिकता दें।- inferred auth mode में, shell-only
OPENCLAW_GATEWAY_PASSWORDinstall token requirements को relax नहीं करता; managed service install करते समय durable config (gateway.auth.passwordया configenv) का उपयोग करें। - यदि
gateway.auth.tokenऔरgateway.auth.passwordदोनों configured हैं औरgateway.auth.modeunset है, तो install तब तक blocked रहता है जब तक mode explicit रूप से set न हो।
gateways खोजें (Bonjour)
gateway discover Gateway beacons (_openclaw-gw._tcp) के लिए scan करता है।
- Multicast DNS-SD:
local. - Unicast DNS-SD (Wide-Area Bonjour): कोई domain चुनें (example:
openclaw.internal.) और split DNS + DNS server setup करें; Bonjour देखें।
सिर्फ वे gateways जिनमें Bonjour discovery enabled है (default), beacon advertise करते हैं।
Wide-area discovery records में ये TXT hints शामिल हो सकते हैं:
role(gateway role hint)transport(transport hint, e.g.gateway)gatewayPort(WebSocket port, usually18789)sshPort(सिर्फ full discovery mode; जब यह absent होता है तो clients default SSH targets को22पर रखते हैं)tailnetDns(MagicDNS hostname, जब available हो)gatewayTls/gatewayTlsSha256(TLS enabled + cert fingerprint)cliPath(सिर्फ full discovery mode)
gateway discover
openclaw gateway discover"--timeout--jsonbooleanMachine-readable output (styling/spinner को भी disable करता है).
Examples:
openclaw gateway discover --timeout 4000openclaw gateway discover --json | jq '.beacons[].wsUrl'