CLI commands
Gateway
Gateway — это WebSocket-сервер OpenClaw (каналы, узлы, сеансы, хуки). Подкоманды на этой странице находятся в openclaw gateway ….
Настройка локального mDNS + глобального DNS-SD.
Как OpenClaw объявляет и находит шлюзы.
Ключи конфигурации gateway верхнего уровня.
Запуск Gateway
Запустите локальный процесс Gateway:
openclaw gatewayПсевдоним для запуска на переднем плане:
openclaw gateway runПоведение при запуске
- По умолчанию Gateway отказывается запускаться, если в
~/.openclaw/openclaw.jsonне заданоgateway.mode=local. Используйте--allow-unconfiguredдля разовых запусков или запусков в разработке. - Ожидается, что
openclaw onboard --mode localиopenclaw setupзаписываютgateway.mode=local. Если файл существует, ноgateway.modeотсутствует, считайте это поврежденной или перезаписанной конфигурацией и исправьте ее, а не предполагайте локальный режим неявно. - Если файл существует и
gateway.modeотсутствует, Gateway считает это подозрительным повреждением конфигурации и отказывается «угадывать local» за вас. - Привязка за пределами loopback без аутентификации блокируется (защитное ограничение).
lan,tailnetиcustomсейчас разрешаются через IPv4-only пути BYOH.- IPv6-only BYOH сегодня не поддерживается нативно на этом пути. Используйте IPv4 sidecar или прокси, если сам хост является IPv6-only.
SIGUSR1запускает перезапуск внутри процесса, когда это разрешено (commands.restartвключен по умолчанию; задайтеcommands.restart: false, чтобы заблокировать ручной перезапуск, при этом применение/обновление инструмента и конфигурации gateway останутся разрешенными).- Обработчики
SIGINT/SIGTERMостанавливают процесс gateway, но не восстанавливают пользовательское состояние терминала. Если вы оборачиваете CLI через TUI или ввод в raw-mode, восстановите терминал перед выходом.
Параметры
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
Порт WebSocket (значение по умолчанию берется из конфигурации/env; обычно 18789).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tYmluZCA8bG9vcGJhY2t8bGFufHRhaWxuZXR8YXV0b3xjdXN0b20
" type="string">
Режим привязки слушателя. lan, tailnet и custom сейчас разрешаются через IPv4-only пути.
"--authOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdG9rZW4gPHRva2Vu
" type="string">
Переопределение токена (также задает OPENCLAW_GATEWAY_TOKEN для процесса).
"--password"--tailscale--tailscale-reset-on-exitbooleanСбросить конфигурацию Tailscale serve/funnel при завершении работы.
--bind custom + gateway.customBindHoststringСегодня ожидает IPv4-адрес. Для IPv6-only BYOH разместите IPv4 sidecar или прокси перед Gateway и укажите OpenClaw на эту IPv4-конечную точку.
--allow-unconfiguredbooleanРазрешить запуск gateway без gateway.mode=local в конфигурации. Обходит защиту запуска только для разовой/dev начальной загрузки; не записывает и не исправляет файл конфигурации.
--devbooleanСоздать dev-конфигурацию + workspace, если они отсутствуют (пропускает BOOTSTRAP.md).
--resetbooleanСбросить dev-конфигурацию + учетные данные + сеансы + workspace (требует --dev).
--forcebooleanЗавершить любой существующий слушатель на выбранном порту перед запуском.
--verbosebooleanПодробные журналы.
--cli-backend-logsbooleanПоказывать в консоли только журналы backend CLI (и включить stdout/stderr).
"--ws-log--compactbooleanПсевдоним для --ws-log compact.
--raw-streambooleanЗаписывать raw-события потока модели в jsonl.
Перезапуск Gateway
openclaw gateway restartopenclaw gateway restart --safeopenclaw gateway restart --safe --skip-deferralopenclaw gateway restart --forceopenclaw gateway restart --safe просит работающий Gateway предварительно проверить активную работу и запланировать один объединенный перезапуск после завершения активной работы. По умолчанию безопасный перезапуск ждет активную работу до настроенного gateway.reload.deferralTimeoutMs (по умолчанию 5 минут); когда этот бюджет истекает, перезапуск выполняется принудительно. Задайте gateway.reload.deferralTimeoutMs равным 0 для бессрочного безопасного ожидания, которое никогда не принуждает перезапуск. Обычный restart сохраняет существующее поведение service-manager; --force остается путем немедленного переопределения.
openclaw gateway restart --safe --skip-deferral выполняет тот же координированный с учетом OpenClaw перезапуск, что и --safe, но обходит блок отсрочки активной работы, поэтому Gateway отправляет перезапуск немедленно, даже когда сообщается о блокировщиках. Используйте это как аварийный выход оператора, когда отсрочка удерживается зависшим выполнением задачи, а один только --safe может быть ограничен gateway.reload.deferralTimeoutMs. --skip-deferral требует --safe.
Профилирование Gateway
- Задайте
OPENCLAW_GATEWAY_STARTUP_TRACE=1, чтобы записывать тайминги фаз при запуске Gateway, включая задержкуeventLoopMaxпо фазам и тайминги таблиц поиска plugin для installed-index, реестра manifest, планирования запуска и работы owner-map. - Задайте
OPENCLAW_GATEWAY_RESTART_TRACE=1, чтобы записывать строкиrestart trace:в области перезапуска для обработки сигнала перезапуска, ожидания активной работы, фаз завершения, следующего старта, тайминга готовности и метрик памяти. - Задайте
OPENCLAW_DIAGNOSTICS=timelineсOPENCLAW_DIAGNOSTICS_TIMELINE_PATH=<path>, чтобы записывать best-effort JSONL timeline диагностики запуска для внешних QA harnesses. Вы также можете включить флаг черезdiagnostics.flags: ["timeline"]в конфигурации; путь по-прежнему передается через env. ДобавьтеOPENCLAW_DIAGNOSTICS_EVENT_LOOP=1, чтобы включить выборки event-loop. - Сначала выполните
pnpm build, затемpnpm test:startup:gateway -- --runs 5 --warmup 1, чтобы измерить запуск Gateway относительно собранной точки входа CLI. Benchmark записывает первый вывод процесса,/healthz,/readyz, тайминги startup trace, задержку event-loop и детали таймингов таблиц поиска plugin. - Сначала выполните
pnpm build, затемpnpm test:restart:gateway -- --case skipChannels --runs 1 --restarts 5, чтобы измерить перезапуск Gateway внутри процесса относительно собранной точки входа CLI на macOS или Linux. Benchmark перезапуска использует SIGUSR1, включает в дочернем процессе и startup, и restart trace, а также записывает следующий/healthz, следующий/readyz, downtime, тайминг готовности, CPU, RSS и метрики restart trace. - Считайте
/healthzиндикатором живости, а/readyz— пригодной готовностью. Строки trace и вывод benchmark предназначены для атрибуции владельцам; не считайте один span trace или одну выборку полным выводом о производительности.
Запрос работающего Gateway
Все команды запросов используют WebSocket RPC.
Режимы вывода
- По умолчанию: удобочитаемый формат (с цветом в TTY).
--json: машиночитаемый JSON (без оформления/spinner).--no-color(илиNO_COLOR=1): отключить ANSI, сохранив человекочитаемую компоновку.
Общие параметры
--url <url>: WebSocket URL Gateway.--token <token>: токен Gateway.--password <password>: пароль Gateway.--timeout <ms>: timeout/budget (зависит от команды).--expect-final: ждать "final" ответ (вызовы agent).
gateway health
openclaw gateway health --url ws://127.0.0.1:18789openclaw gateway health --port 18789HTTP-конечная точка /healthz — это probe живости: она возвращает ответ, когда сервер может отвечать по HTTP. HTTP-конечная точка /readyz строже и остается красной, пока startup sidecars plugin, каналы или настроенные hooks еще стабилизируются. Локальные или аутентифицированные подробные ответы готовности включают диагностический блок eventLoop с задержкой event-loop, использованием event-loop, соотношением ядер CPU и флагом degraded.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
Нацелиться на Gateway через local loopback на этом порту. Это переопределяет OPENCLAW_GATEWAY_URL и OPENCLAW_GATEWAY_PORT для health-вызова.
gateway usage-cost
Получить сводки usage-cost из журналов сеансов.
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Агрегировать сводку стоимости по всем настроенным agents. Нельзя сочетать с --agent.
gateway stability
Получить недавний recorder диагностической стабильности из работающего Gateway.
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">
Максимальное количество недавних событий для включения (макс. 1000).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdHlwZSA8dHlwZQ
" type="string">
Фильтровать по типу диагностического события, например payload.large или diagnostic.memory.pressure.
"--since-seq--bundle [path]stringЧитать сохраненный bundle стабильности вместо вызова работающего Gateway. Используйте --bundle latest (или просто --bundle) для новейшего bundle в каталоге состояния либо передайте путь к JSON bundle напрямую.
--exportbooleanЗаписать zip с диагностикой поддержки, пригодный для передачи, вместо вывода деталей стабильности.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tb3V0cHV0IDxwYXRo
" type="string">
Путь вывода для --export.
Приватность и поведение bundle
- Записи сохраняют операционные metadata: имена событий, счетчики, размеры в байтах, показания памяти, состояние очереди/сеанса, approval ids, имена channel/plugin и отредактированные сводки сеансов. Они не сохраняют текст чата, тела webhook, вывод инструментов, raw-тела запросов или ответов, токены, cookies, значения секретов, hostnames или raw id сеансов. Задайте
diagnostics.enabled: false, чтобы полностью отключить recorder. - При фатальных завершениях Gateway, тайм-аутах shutdown и сбоях запуска при restart OpenClaw записывает тот же диагностический snapshot в
~/.openclaw/logs/stability/openclaw-stability-*.json, когда у recorder есть события. Изучите новейший bundle с помощьюopenclaw gateway stability --bundle latest;--limit,--typeи--since-seqтакже применяются к выводу bundle.
gateway diagnostics export
Записать локальный zip с диагностикой, предназначенный для прикрепления к bug reports. О модели приватности и содержимом bundle см. Экспорт диагностики.
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Пропустить поиск сохраненного пакета стабильности.
--jsonbooleanВывести записанный путь, размер и манифест как JSON.
Экспорт содержит манифест, сводку Markdown, форму конфигурации, очищенные сведения конфигурации, очищенные сводки журналов, очищенные снимки статуса/работоспособности Gateway и самый новый пакет стабильности, если он существует.
Он предназначен для совместного использования. Он сохраняет операционные сведения, полезные для отладки, такие как безопасные поля журналов OpenClaw, имена подсистем, коды статуса, длительности, настроенные режимы, порты, идентификаторы Plugin, идентификаторы провайдеров, несекретные настройки функций и отредактированные операционные сообщения журнала. Он опускает или редактирует текст чата, тела webhook, вывод инструментов, учетные данные, cookies, идентификаторы аккаунтов/сообщений, текст подсказок/инструкций, имена хостов и секретные значения. Когда сообщение в стиле LogTape выглядит как пользовательский/чатовый/инструментальный текст полезной нагрузки, экспорт сохраняет только факт, что сообщение было опущено, и количество его байт.
gateway status
gateway status показывает службу Gateway (launchd/systemd/schtasks) и необязательную проверку возможности подключения/аутентификации.
openclaw gateway statusopenclaw gateway status --jsonopenclaw gateway status --require-rpc"--url"--token"--password"--timeout--no-probebooleanПропустить проверку подключения (представление только службы).
--deepbooleanТакже сканировать службы системного уровня.
--require-rpcbooleanПовысить стандартную проверку подключения до проверки чтения и завершиться с ненулевым кодом, если эта проверка чтения завершается ошибкой. Нельзя сочетать с --no-probe.
Семантика статуса
gateway statusостается доступной для диагностики, даже когда локальная конфигурация CLI отсутствует или недействительна.- Стандартная
gateway statusподтверждает состояние службы, подключение WebSocket и возможность аутентификации, видимую во время рукопожатия. Она не подтверждает операции чтения/записи/администрирования. - Диагностические проверки не изменяют состояние при первой аутентификации устройства: они повторно используют существующий кэшированный токен устройства, если он есть, но не создают новую идентичность устройства CLI или запись сопряжения устройства только для чтения только для проверки статуса.
gateway statusпо возможности разрешает настроенные auth SecretRefs для аутентификации проверки.- Если обязательный auth SecretRef не разрешен в этом пути команды,
gateway status --jsonсообщаетrpc.authWarning, когда подключение/аутентификация проверки завершается ошибкой; передайте--token/--passwordявно или сначала разрешите источник секрета. - Если проверка успешна, предупреждения о неразрешенных auth-ref подавляются, чтобы избежать ложных срабатываний.
- Когда проверка включена, вывод JSON включает
gateway.version, если запущенный Gateway ее сообщает;--require-rpcможет откатиться к полезной нагрузке RPCstatus.runtimeVersion, если последующая проверка рукопожатия не может предоставить метаданные версии. - Используйте
--require-rpcв скриптах и автоматизации, когда прослушивающей службы недостаточно и вызовы RPC с областью чтения также должны быть работоспособны. --deepдобавляет best-effort-сканирование дополнительных установок launchd/systemd/schtasks. Когда обнаружено несколько служб, похожих на gateway, вывод для пользователя печатает подсказки по очистке и предупреждает, что в большинстве установок следует запускать один gateway на машину.--deepтакже сообщает о недавней передаче перезапуска супервизора Gateway, когда процесс службы штатно завершился для внешнего перезапуска супервизором.--deepзапускает проверку конфигурации в режиме с учетом Plugin (pluginValidation: "full") и показывает предупреждения настроенного манифеста Plugin (например, отсутствующие метаданные конфигурации канала), чтобы smoke-проверки установки и обновления их обнаруживали. Стандартнаяgateway statusсохраняет быстрый путь только для чтения, который пропускает проверку Plugin.- Вывод для пользователя включает разрешенный путь файлового журнала, а также снимок путей/валидности конфигурации CLI и службы, чтобы помочь диагностировать расхождение профиля или каталога состояния.
Проверки расхождения аутентификации Linux systemd
- В установках Linux systemd проверки расхождения аутентификации службы читают значения
Environment=иEnvironmentFile=из unit-файла (включая%h, пути в кавычках, несколько файлов и необязательные файлы с-). - Проверки расхождения разрешают SecretRefs
gateway.auth.tokenс использованием объединенного runtime-окружения (сначала окружение команды службы, затем fallback на окружение процесса). - Если аутентификация токеном фактически не активна (явный
gateway.auth.modeсо значениемpassword/none/trusted-proxyили не заданный режим, где пароль может победить и ни один кандидат токена не может победить), проверки расхождения токена пропускают разрешение токена конфигурации.
gateway probe
gateway probe — это команда «отладить все». Она всегда проверяет:
- ваш настроенный удаленный gateway (если задан), и
- localhost (local loopback) даже если настроен удаленный.
Если вы передаете --url, эта явная цель добавляется перед обеими. Вывод для пользователя помечает цели так:
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 и удаленного порта SSH-туннеля. Без --url это выбирает цель local loopback вместо URL окружения настроенного gateway, порта окружения или удаленных целей.
Интерпретация
Reachable: yesозначает, что хотя бы одна цель приняла подключение WebSocket.Capability: read-only|write-capable|admin-capable|pairing-pending|connect-onlyсообщает, что проверка смогла подтвердить об аутентификации. Это отдельно от достижимости.Read probe: okозначает, что вызовы RPC детализации с областью чтения (health/status/system-presence/config.get) также успешно выполнены.Read probe: limited - missing scope: operator.readозначает, что подключение успешно, но RPC с областью чтения ограничен. Это сообщается как ухудшенная достижимость, а не полный сбой.Read probe: failedпослеConnect: okозначает, что Gateway принял соединение WebSocket, но последующая диагностика чтения превысила тайм-аут или завершилась ошибкой. Это также ухудшенная достижимость, а не недостижимый Gateway.- Как и
gateway status, probe повторно использует существующую кэшированную аутентификацию устройства, но не создает идентичность устройства или состояние сопряжения при первом использовании. - Код выхода ненулевой только когда ни одна проверенная цель не достижима.
Вывод JSON
Верхний уровень:
ok: хотя бы одна цель достижима.degraded: хотя бы одна цель приняла подключение, но не завершила полную подробную RPC-диагностику.capability: лучшая возможность, замеченная среди достижимых целей (read_only,write_capable,admin_capable,pairing_pending,connected_no_operator_scopeилиunknown).primaryTargetId: лучшая цель, которую следует считать активным победителем, в таком порядке: явный URL, SSH-туннель, настроенная удаленная цель, затем local loopback.warnings[]: best-effort-записи предупреждений сcode,messageи необязательнымиtargetIds.network: подсказки URL local loopback/tailnet, полученные из текущей конфигурации и сетевых данных хоста.discovery.timeoutMsиdiscovery.count: фактически использованный бюджет обнаружения/количество результатов для этого прохода проверки.
Для каждой цели (targets[].connect):
ok: достижимость после подключения + классификация ухудшенного состояния.rpcOk: полный успех подробного RPC.scopeLimited: подробный RPC завершился ошибкой из-за отсутствующей области оператора.
Для каждой цели (targets[].auth):
role: роль аутентификации, сообщенная вhello-ok, когда доступна.scopes: предоставленные области, сообщенные вhello-ok, когда доступны.capability: показанная классификация возможности аутентификации для этой цели.
Распространенные коды предупреждений
ssh_tunnel_failed: настройка SSH-туннеля завершилась ошибкой; команда откатилась к прямым проверкам.multiple_gateways: были достижимы разные идентичности gateway, или OpenClaw не смог доказать, что достижимые цели являются одним и тем же gateway. SSH-туннель, URL proxy или настроенный удаленный URL к тому же gateway не вызывают это предупреждение.auth_secretref_unresolved: настроенный auth SecretRef не удалось разрешить для цели с ошибкой.probe_scope_limited: подключение WebSocket успешно, но проверка чтения была ограничена из-за отсутствующегоoperator.read.
Удаленный доступ через SSH (паритет с приложением Mac)
Режим приложения macOS «Удаленный доступ через SSH» использует локальную переадресацию порта, чтобы удаленный gateway (который может быть привязан только к loopback) стал доступен по ws://127.0.0.1:<port>.
Эквивалент CLI:
openclaw gateway probe --ssh user@gateway-hostOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tc3NoIDx0YXJnZXQ
" type="string">
user@host или user@host:port (порт по умолчанию 22).
--ssh-autobooleanВыбрать первый обнаруженный хост gateway как цель SSH из разрешенной конечной точки обнаружения (local. плюс настроенный глобальный домен, если есть). Подсказки только TXT игнорируются.
Конфигурация (необязательно, используется как значения по умолчанию):
gateway.remote.sshTargetgateway.remote.sshIdentity
gateway call <method>
Низкоуровневый помощник RPC.
openclaw gateway call statusopenclaw gateway call logs.tail --params '{"sinceMs": 60000}'"--params"--url"--token"--password"--timeout--expect-finalbooleanВ основном для RPC в стиле агента, которые перед финальной полезной нагрузкой передают промежуточные события.
--jsonbooleanМашиночитаемый вывод JSON.
Управление службой Gateway
openclaw gateway installopenclaw gateway startopenclaw gateway stopopenclaw gateway restartopenclaw gateway uninstallУстановка с оберткой
Используйте --wrapper, когда управляемый сервис должен запускаться через другой исполняемый файл, например через
прослойку менеджера секретов или помощник для запуска от имени другого пользователя. Обертка получает обычные аргументы Gateway и
отвечает за последующий exec openclaw или Node с этими аргументами.
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Вы также можете задать обертку через окружение. gateway install проверяет, что путь указывает на
исполняемый файл, записывает обертку в ProgramArguments сервиса и сохраняет
OPENCLAW_WRAPPER в окружении сервиса для последующих принудительных переустановок, обновлений и исправлений через doctor.
OPENCLAW_WRAPPER="$HOME/.local/bin/openclaw-doppler" openclaw gateway install --forceopenclaw doctorЧтобы удалить сохраненную обертку, очистите OPENCLAW_WRAPPER при переустановке:
OPENCLAW_WRAPPER= openclaw gateway install --forceopenclaw gateway restartПараметры команд
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
Поведение жизненного цикла
- Используйте
gateway restart, чтобы перезапустить управляемый сервис. Не связывайтеgateway stopиgateway startв цепочку как замену перезапуску. - В macOS
gateway stopпо умолчанию используетlaunchctl bootout, что удаляет LaunchAgent из текущего загрузочного сеанса без сохранения отключения — автоматическое восстановление KeepAlive остается активным для будущих сбоев, аgateway startповторно включает сервис без ручногоlaunchctl enable. Передайте--disable, чтобы постоянно подавить KeepAlive и RunAtLoad, чтобы Gateway не запускался снова до следующего явногоgateway start; используйте это, когда ручная остановка должна переживать перезагрузки или рестарты системы. gateway restart --safeпросит работающий Gateway предварительно проверить активную работу и запланировать один объединенный перезапуск после завершения активной работы. Безопасный перезапуск по умолчанию ожидает активную работу до настроенногоgateway.reload.deferralTimeoutMs(по умолчанию 5 минут); когда этот бюджет истекает, перезапуск выполняется принудительно. Установитеgateway.reload.deferralTimeoutMsв0для бессрочного безопасного ожидания, которое никогда не выполняет принудительный перезапуск.--safeнельзя сочетать с--forceили--wait.gateway restart --wait 30sпереопределяет настроенный бюджет ожидания завершения работы для этого перезапуска. Числа без единиц измеряются в миллисекундах; поддерживаются единицы вродеs,mиh.--wait 0ждет бессрочно.gateway restart --safe --skip-deferralвыполняет безопасный перезапуск с учетом OpenClaw, но обходит шлюз отсрочки, поэтому Gateway немедленно выдает событие перезапуска, даже если сообщаются блокировщики. Аварийный выход для оператора при зависших отсрочках запусков задач; требует--safe.gateway restart --forceпропускает ожидание завершения активной работы и перезапускает немедленно. Используйте это, когда оператор уже проверил перечисленные блокировщики задач и хочет вернуть Gateway в работу прямо сейчас.- Команды жизненного цикла принимают
--jsonдля сценариев.
Auth и SecretRefs во время установки
- Когда token auth требует токен, а
gateway.auth.tokenуправляется через SecretRef,gateway installпроверяет, что SecretRef можно разрешить, но не сохраняет разрешенный токен в метаданные окружения сервиса. - Если token auth требует токен, а настроенный SecretRef токена не разрешается, установка завершается отказом вместо сохранения fallback в виде открытого текста.
- Для password auth в
gateway runпредпочитайтеOPENCLAW_GATEWAY_PASSWORD,--password-fileилиgateway.auth.passwordна базе SecretRef вместо встроенного--password. - В выводимом режиме auth заданный только в оболочке
OPENCLAW_GATEWAY_PASSWORDне смягчает требования к токену при установке; при установке управляемого сервиса используйте устойчивую конфигурацию (gateway.auth.passwordили configenv). - Если настроены и
gateway.auth.token, иgateway.auth.password, аgateway.auth.modeне задан, установка блокируется, пока режим не будет задан явно.
Обнаружение Gateway (Bonjour)
gateway discover сканирует маяки Gateway (_openclaw-gw._tcp).
- Multicast DNS-SD:
local. - Unicast DNS-SD (Wide-Area Bonjour): выберите домен (пример:
openclaw.internal.) и настройте split DNS + DNS-сервер; см. Bonjour.
Только Gateway с включенным обнаружением Bonjour (по умолчанию) объявляют маяк.
Записи обнаружения wide-area могут включать эти подсказки TXT:
role(подсказка роли Gateway)transport(подсказка транспорта, напримерgateway)gatewayPort(порт WebSocket, обычно18789)sshPort(только режим полного обнаружения; клиенты по умолчанию используют SSH-цели на22, когда он отсутствует)tailnetDns(имя хоста MagicDNS, когда доступно)gatewayTls/gatewayTlsSha256(TLS включен + отпечаток сертификата)cliPath(только режим полного обнаружения)
gateway discover
openclaw gateway discover"--timeout--jsonbooleanМашиночитаемый вывод (также отключает стилизацию/спиннер).
Примеры:
openclaw gateway discover --timeout 4000openclaw gateway discover --json | jq '.beacons[].wsUrl'