CLI commands
Gateway
Gateway OpenClaw का WebSocket सर्वर है (चैनल, नोड, सत्र, hooks)। इस पेज के subcommands openclaw gateway … के अंतर्गत रहते हैं।
स्थानीय mDNS + wide-area DNS-SD सेटअप।
OpenClaw gateways को कैसे विज्ञापित और खोजता है।
शीर्ष-स्तरीय gateway config keys।
Gateway चलाएँ
स्थानीय Gateway प्रक्रिया चलाएँ:
openclaw gatewayForeground alias:
openclaw gateway runस्टार्टअप व्यवहार
- डिफ़ॉल्ट रूप से, Gateway तब तक शुरू होने से मना करता है जब तक
~/.openclaw/openclaw.jsonमेंgateway.mode=localसेट न हो। अस्थायी/dev runs के लिए--allow-unconfiguredका उपयोग करें। openclaw onboard --mode localऔरopenclaw setupसेgateway.mode=localलिखे जाने की अपेक्षा है। यदि फ़ाइल मौजूद है लेकिनgateway.modeगायब है, तो उसे local mode को अप्रत्यक्ष रूप से मानने के बजाय टूटा या overwrite हुआ config मानकर ठीक करें।- यदि फ़ाइल मौजूद है और
gateway.modeगायब है, तो Gateway इसे संदिग्ध config क्षति मानता है और आपके लिए "guess local" करने से मना करता है। - auth के बिना loopback से आगे bind करना अवरुद्ध है (सुरक्षा guardrail)।
lan,tailnet, औरcustomअभी IPv4-only BYOH paths पर resolve होते हैं।- IPv6-only BYOH आज इस path पर मूल रूप से समर्थित नहीं है। यदि host स्वयं IPv6-only है, तो IPv4 sidecar या proxy का उपयोग करें।
- अधिकृत होने पर
SIGUSR1in-process restart trigger करता है (commands.restartडिफ़ॉल्ट रूप से सक्षम है; manual restart रोकने के लिएcommands.restart: falseसेट करें, जबकि gateway tool/config apply/update अनुमत रहते हैं)। SIGINT/SIGTERMhandlers gateway प्रक्रिया रोकते हैं, लेकिन वे कोई custom terminal state restore नहीं करते। यदि आप CLI को TUI या raw-mode input के साथ wrap करते हैं, तो exit से पहले terminal restore करें।
विकल्प
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
WebSocket port (डिफ़ॉल्ट 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 (प्रक्रिया के लिए OPENCLAW_GATEWAY_TOKEN भी सेट करता है)।
"--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 की अनुमति दें। केवल अस्थायी/dev bootstrap के लिए startup guard bypass करता है; config file लिखता या repair नहीं करता।
--devbooleanयदि missing हो तो dev config + workspace बनाएँ (BOOTSTRAP.md छोड़ता है)।
--resetbooleandev config + credentials + sessions + workspace reset करें (--dev आवश्यक)।
--forcebooleanशुरू करने से पहले चयनित port पर किसी भी मौजूदा listener को kill करें।
--verbosebooleanविस्तृत logs।
--cli-backend-logsbooleanconsole में केवल CLI backend logs दिखाएँ (और stdout/stderr सक्षम करें)।
"--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 से restart करने से पहले active OpenClaw work preflight करने के लिए कहता है। यदि queued operations, reply delivery, embedded runs, या task runs active हैं, तो Gateway blockers report करता है, duplicate safe restart requests coalesce करता है, और active work drain होने पर restart करता है। Plain restart compatibility के लिए मौजूदा service-manager behavior बनाए रखता है। --force का उपयोग केवल तब करें जब आप स्पष्ट रूप से immediate override path चाहते हों।
openclaw gateway restart --safe --skip-deferral वही OpenClaw-aware coordinated restart चलाता है जो --safe चलाता है, लेकिन active-work deferral gate bypass करता है ताकि blockers report होने पर भी Gateway तुरंत restart emit करे। इसे operator escape hatch के रूप में उपयोग करें जब कोई deferral अटके task run से pinned हो गया हो और केवल --safe अनिश्चित काल तक wait करे। --skip-deferral के लिए --safe आवश्यक है।
Gateway profiling
- Gateway startup के दौरान phase timings log करने के लिए
OPENCLAW_GATEWAY_STARTUP_TRACE=1सेट करें, जिसमें 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=1सेट करें। - external QA harnesses के लिए best-effort JSONL startup diagnostics timeline लिखने हेतु
OPENCLAW_DIAGNOSTICS=timelineकोOPENCLAW_DIAGNOSTICS_TIMELINE_PATH=<path>के साथ सेट करें। आप config मेंdiagnostics.flags: ["timeline"]के साथ भी flag सक्षम कर सकते हैं; 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 दोनों सक्षम करता है, और 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 को पूर्ण performance conclusion न मानें।
Running Gateway query करें
सभी query commands WebSocket RPC का उपयोग करते हैं।
Output modes
- डिफ़ॉल्ट: 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 की प्रतीक्षा करें (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 दे सकता है। 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-agentsbooleancost summary को सभी configured agents में 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 की अधिकतम संख्या (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) उपयोग करें, या सीधे 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, 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: falseसेट करें। - 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
एक स्थानीय diagnostics zip लिखें जिसे bug reports से attach करने के लिए design किया गया है। 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-bundlebooleanpersisted stability bundle lookup छोड़ें।
--jsonbooleanलिखे गए पथ, आकार, और manifest को JSON के रूप में प्रिंट करें।
export में एक manifest, Markdown summary, config shape, sanitized config details, sanitized log summaries, sanitized Gateway status/health snapshots, और मौजूद होने पर नवीनतम stability bundle शामिल होता है।
इसे साझा करने के लिए बनाया गया है। यह debugging में मदद करने वाली operational details रखता है, जैसे सुरक्षित 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 जैसा दिखता है, तो export केवल यह रखता है कि एक 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-only view)।
--deepbooleansystem-level services भी scan करें।
--require-rpcbooleandefault connectivity probe को read probe में upgrade करें और जब वह read probe विफल हो तो non-zero exit करें। इसे --no-probe के साथ जोड़ा नहीं जा सकता।
Status semantics
- local CLI config missing या invalid होने पर भी diagnostics के लिए
gateway statusउपलब्ध रहता है। - default
gateway statusservice state, WebSocket connect, और handshake time पर दिखने वाली auth capability सिद्ध करता है। यह read/write/admin operations सिद्ध नहीं करता। - Diagnostic probes first-time device auth के लिए non-mutating हैं: वे मौजूद होने पर existing 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 दबा दी जाती हैं।
- 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 चाहिए हों। --deepअतिरिक्त launchd/systemd/schtasks installs के लिए best-effort scan जोड़ता है। जब कई gateway-like services detect होती हैं, human output cleanup hints प्रिंट करता है और चेतावनी देता है कि अधिकांश setups में प्रति machine एक gateway चलना चाहिए।--deepहालिया Gateway supervisor restart handoff भी report करता है जब service process external supervisor restart के लिए साफ़ रूप से exit हुआ हो।--deepplugin-aware mode (pluginValidation: "full") में config validation चलाता है और configured plugin manifest warnings (उदाहरण के लिए missing channel config metadata) surface करता है ताकि install और update smoke checks उन्हें पकड़ सकें। defaultgateway statusfast read-only path रखता है जो plugin validation skip करता है।- 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 नहीं है (
password/none/trusted-proxyका explicitgateway.auth.mode, या mode unset जहाँ password जीत सकता है और कोई token candidate नहीं जीत सकता), तो token-drift checks config token resolution skip करते हैं।
gateway probe
gateway probe "सब कुछ debug करें" 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 स्वीकार किया।Capability: read-only|write-capable|admin-capable|pairing-pending|connect-onlyreport करता है कि probe auth के बारे में क्या सिद्ध कर सका। यह 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 है। इसे full failure नहीं, बल्कि degraded reachability के रूप में report किया जाता है।Read probe: failedafterConnect: okका अर्थ है Gateway ने WebSocket connection स्वीकार किया, लेकिन follow-up read diagnostics timed out या failed हुए। यह भी unreachable Gateway नहीं, बल्कि degraded reachability है।gateway statusकी तरह, probe existing cached device auth का reuse करता है लेकिन first-time device identity या pairing state नहीं बनाता।- Exit code केवल तब non-zero होता है जब कोई भी probed target reachable न हो।
JSON output
Top level:
ok: कम से कम एक target reachable है।degraded: कम से कम एक target ने connection स्वीकार किया लेकिन full detail RPC diagnostics complete नहीं किए।capability: reachable targets में देखी गई best capability (read_only,write_capable,admin_capable,pairing_pending,connected_no_operator_scope, याunknown)।primaryTargetId: 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 यह सिद्ध नहीं कर सका कि 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 default रूप से 22)।
--ssh-autobooleanresolved discovery endpoint (local. plus configured wide-area domain, यदि कोई हो) से पहले discovered gateway host को SSH target के रूप में चुनें। TXT-only hints ignored हैं।
Config (optional, 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 के साथ install करें
--wrapper का उपयोग तब करें जब managed service को किसी अन्य executable के माध्यम से शुरू करना आवश्यक हो, उदाहरण के लिए
secrets manager shim या run-as helper। 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 को स्थायी किए बिना वर्तमान boot session से LaunchAgent को हटा देता है — KeepAlive auto-recovery भविष्य के crashes के लिए active रहती है औरgateway startmanuallaunchctl enableके बिना साफ़ तौर पर re-enable करता है। KeepAlive और RunAtLoad को लगातार suppress करने के लिए--disableपास करें, ताकि gateway अगले explicitgateway startतक respawn न हो; इसका उपयोग तब करें जब manual stop को reboots या system restarts के बाद भी बने रहना चाहिए। gateway restart --saferunning Gateway से active OpenClaw work का preflight करने और reply delivery, embedded runs, और task runs drain होने तक restart को defer करने के लिए कहता है।--safeको--forceया--waitके साथ combine नहीं किया जा सकता।gateway restart --wait 30sउस restart के लिए configured restart drain budget को override करता है। bare numbers milliseconds होते हैं;s,m, औरhजैसी units स्वीकार की जाती हैं।--wait 0अनिश्चित काल तक wait करता है।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 है, तो mode स्पष्ट रूप से set होने तक install blocked रहता है।
gateways खोजें (Bonjour)
gateway discover Gateway beacons (_openclaw-gw._tcp) के लिए scan करता है।
- Multicast DNS-SD:
local. - Unicast DNS-SD (Wide-Area Bonjour): कोई domain चुनें (उदाहरण:
openclaw.internal.) और split DNS + DNS server set up करें; Bonjour देखें।
केवल Bonjour discovery enabled (default) वाले gateways beacon advertise करते हैं।
Wide-area discovery records में ये TXT hints शामिल हो सकते हैं:
role(gateway role hint)transport(transport hint, जैसेgateway)gatewayPort(WebSocket port, आमतौर पर18789)sshPort(केवल full discovery mode; clients इसके absent होने पर SSH targets को default रूप से22पर सेट करते हैं)tailnetDns(MagicDNS hostname, उपलब्ध होने पर)gatewayTls/gatewayTlsSha256(TLS enabled + cert fingerprint)cliPath(केवल full discovery mode)
gateway discover
openclaw gateway discover"--timeout--jsonbooleanMachine-readable output (styling/spinner को भी disable करता है)।
उदाहरण:
openclaw gateway discover --timeout 4000openclaw gateway discover --json | jq '.beacons[].wsUrl'