> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Веб

Gateway предоставляет небольшой **браузерный интерфейс управления** (Vite + Lit) на том же порту, что и WebSocket Gateway:

* по умолчанию: `http://<host>:18789/`
* с `gateway.tls.enabled: true`: `https://<host>:18789/`
* необязательный префикс: задайте `gateway.controlUi.basePath` (например, `/openclaw`)

Возможности описаны в разделе [Интерфейс управления](https://docs2.openclaw.ai/ru/web/control-ui.md). На этой странице рассматриваются режимы привязки, безопасность и другие веб-интерфейсы.

## Конфигурация (включено по умолчанию)

Интерфейс управления **включён по умолчанию**, когда ресурсы доступны (`dist/control-ui`):

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  gateway: {
    controlUi: { enabled: true, basePath: "/openclaw" }, // basePath необязателен
  },
}
```

## Webhook

Если `hooks.enabled=true`, Gateway также предоставляет конечную точку Webhook на том же HTTP-сервере. Сведения об аутентификации и полезной нагрузке см. в разделе `hooks` [справочника по конфигурации Gateway](https://docs2.openclaw.ai/ru/gateway/configuration-reference.md#hooks).

## Административный HTTP RPC

`POST /api/v1/admin/rpc` предоставляет выбранные методы плоскости управления Gateway через HTTP. По умолчанию отключён; регистрируется только при включённом плагине `admin-http-rpc`. Модель аутентификации, разрешённые методы и сравнение с API WebSocket см. в разделе [Административный HTTP RPC](https://docs2.openclaw.ai/ru/plugins/admin-http-rpc.md).

## Доступ через Tailscale

> [tab] Встроенный Serve (рекомендуется)
>
> Оставьте Gateway привязанным к loopback-интерфейсу и используйте Tailscale Serve в качестве прокси:
>
> ```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
> {
>   gateway: {
>     bind: "loopback",
>     tailscale: { mode: "serve" },
>   },
> }
> ```
>
> Запустите Gateway:
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> openclaw gateway
> ```
>
> Откройте `https://<magicdns>/` (или настроенный вами `gateway.controlUi.basePath`).

> [tab] Привязка к tailnet + токен
>
> ```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
> {
>   gateway: {
>     bind: "tailnet",
>     controlUi: { enabled: true },
>     auth: { mode: "token", token: "your-token" },
>   },
> }
> ```
>
> Запустите Gateway (в этом примере с привязкой не к loopback-интерфейсу используется аутентификация по токену с общим секретом):
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> openclaw gateway
> ```
>
> Откройте `http://<tailscale-ip>:18789/` (или настроенный вами `gateway.controlUi.basePath`).

> [tab] Публичный интернет (Funnel)
>
> ```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
> {
>   gateway: {
>     bind: "loopback",
>     tailscale: { mode: "funnel" },
>     auth: { mode: "password" }, // или OPENCLAW_GATEWAY_PASSWORD
>   },
> }
> ```
>
> Для `tailscale.mode: "funnel"` требуется `gateway.auth.mode: "password"`; для Serve и Funnel требуется `gateway.bind: "loopback"`.

## Примечания по безопасности

* По умолчанию требуется аутентификация Gateway: токен, пароль, доверенный прокси-сервер или, если они включены, заголовки идентификации Tailscale Serve.
* При привязке не к loopback-интерфейсу аутентификация Gateway также **обязательна**: аутентификация по токену/паролю или обратный прокси-сервер с проверкой идентификации и `gateway.auth.mode: "trusted-proxy"`.
* Мастер первоначальной настройки по умолчанию создаёт аутентификацию с общим секретом и обычно генерирует токен Gateway даже при привязке к loopback-интерфейсу.
* В режиме общего секрета интерфейс отправляет `connect.params.auth.token` или `connect.params.auth.password` во время установления соединения WebSocket.
* При использовании `gateway.tls.enabled: true` локальные вспомогательные средства панели управления и состояния формируют URL-адреса `https://` и URL-адреса WebSocket `wss://`.
* В режимах с передачей идентификационных данных (Tailscale Serve, `trusted-proxy`) проверка аутентификации WebSocket выполняется на основе заголовков запроса, а не общего секрета.
* При публичном развёртывании интерфейса управления с привязкой не к loopback-интерфейсу явно задайте `gateway.controlUi.allowedOrigins` (полные источники). Для loopback, RFC1918/link-local, `.local`, `.ts.net` и узлов Tailscale CGNAT частные загрузки из того же источника принимаются без этого параметра.
* `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback: true` включает резервное определение источника по заголовку Host; это опасное ослабление безопасности.
* При использовании Serve заголовки идентификации Tailscale обеспечивают аутентификацию интерфейса управления/WebSocket, если `gateway.auth.allowTailscale: true` (токен или пароль не требуется). Конечные точки HTTP API не используют заголовки идентификации Tailscale; они всегда следуют обычному режиму HTTP-аутентификации Gateway. Задайте `gateway.auth.allowTailscale: false`, чтобы требовать явные учётные данные даже при использовании Serve. Этот режим без токена предполагает, что сам узел Gateway является доверенным. См. разделы [Tailscale](https://docs2.openclaw.ai/ru/gateway/tailscale.md) и [Безопасность](https://docs2.openclaw.ai/ru/gateway/security.md).

## Сборка интерфейса

Gateway предоставляет статические файлы из `dist/control-ui`:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
pnpm ui:build
```
