Web interfaces
Painel de controle
O painel do Gateway é a interface de controle no navegador servida em / por padrão (substitua com gateway.controlUi.basePath).
Abertura rápida (Gateway local):
- http://127.0.0.1:18789/ (ou http://localhost:18789/)
- Com
gateway.tls.enabled: true, usehttps://127.0.0.1:18789/ewss://127.0.0.1:18789para o endpoint WebSocket.
Referências principais:
- Interface de controle para uso e recursos da interface.
- Tailscale para automação de Serve/Funnel.
- Superfícies web para modos de vinculação e observações de segurança.
A autenticação é aplicada no handshake do WebSocket pelo caminho de autenticação configurado do Gateway:
connect.params.auth.tokenconnect.params.auth.password- Cabeçalhos de identidade do Tailscale Serve quando
gateway.auth.allowTailscale: true - Cabeçalhos de identidade de proxy confiável quando
gateway.auth.mode: "trusted-proxy"
Consulte gateway.auth em Configuração do Gateway.
Caminho rápido (recomendado)
- Após a integração inicial, a CLI abre automaticamente o painel e exibe um link limpo (sem token).
- Reabra a qualquer momento:
openclaw dashboard(copia o link, abre um navegador se possível e exibe uma dica de SSH se estiver sem interface gráfica). - Se o envio para a área de transferência e para o navegador falhar,
openclaw dashboardainda exibirá a URL limpa e informará que você deve anexar seu token (deOPENCLAW_GATEWAY_TOKENougateway.auth.token) como a chavetokendo fragmento da URL; ele nunca exibe o valor do token nos logs. - Se a interface solicitar autenticação por segredo compartilhado, cole o token ou a senha configurada nas configurações da interface de controle.
Noções básicas de autenticação (local versus remoto)
- Localhost: abra
http://127.0.0.1:18789/. - TLS do Gateway: quando
gateway.tls.enabled: true, os links do painel/status usamhttps://e os links WebSocket da interface de controle usamwss://. - Origem do token de segredo compartilhado:
gateway.auth.token(ouOPENCLAW_GATEWAY_TOKEN).openclaw dashboardpode transmiti-lo pelo fragmento da URL para uma inicialização única; a interface de controle o mantém no sessionStorage para a aba atual e a URL do gateway selecionada, não no localStorage. - Se
gateway.auth.tokenfor gerenciado por SecretRef,openclaw dashboardexibe/copia/abre uma URL sem token por design, para evitar expor tokens gerenciados externamente em logs do shell, no histórico da área de transferência ou em argumentos de inicialização do navegador. Se a referência não puder ser resolvida no shell atual, ele ainda exibirá a URL sem token com orientações práticas para configurar a autenticação. - Senha de segredo compartilhado: use a
gateway.auth.passwordconfigurada (ouOPENCLAW_GATEWAY_PASSWORD). O painel não mantém senhas após recarregamentos. - Modos baseados em identidade: o Tailscale Serve atende à autenticação da interface de controle/WebSocket por meio de cabeçalhos de identidade quando
gateway.auth.allowTailscale: true; um proxy reverso com reconhecimento de identidade fora do loopback atende agateway.auth.mode: "trusted-proxy". Nenhum deles exige que um segredo compartilhado seja colado para o WebSocket. - Fora do localhost: use o Tailscale Serve, uma vinculação de segredo compartilhado fora do loopback, um proxy reverso com reconhecimento de identidade fora do loopback com
gateway.auth.mode: "trusted-proxy"ou um túnel SSH. As APIs HTTP ainda usam autenticação por segredo compartilhado, a menos que você execute intencionalmentegateway.auth.mode: "none"com ingresso privado ou autenticação HTTP por proxy confiável. Consulte Superfícies web.
Abrir no Telegram
Bots do Telegram podem abrir o painel como um Mini App do Telegram com /dashboard.
Requisitos:
gateway.tailscale.mode: "serve"ou"funnel"para que o Telegram receba uma URL HTTPS do Mini App.- O remetente do Telegram deve ser o proprietário do bot: um ID numérico de usuário do Telegram em
commands.ownerAllowFromou nochannels.telegram.allowFromefetivo da conta selecionada. - Execute
/dashboardem uma mensagem direta com o bot. Invocações em grupos apenas informam que você deve abrir o comando em uma mensagem direta e não incluem um botão. - Instalações com Docker: os modos Serve/Funnel exigem que o gateway se vincule ao loopback junto ao
tailscaled, o que a rede em ponte com portas publicadas não consegue atender. Execute o contêiner do gateway comnetwork_mode: hoste monte o sockettailscaleddo host (/var/run/tailscale), além da CLItailscale, no contêiner.
O Mini App realiza uma transferência única de proprietário e redireciona para a interface de controle com um token de inicialização de curta duração. Ele não expõe um token compartilhado do gateway na URL.
Fora do escopo da v1:
- O iframe do Telegram Web não é compatível.
- Tailscale Serve/Funnel é o único caminho de URL publicada compatível.
Se você vir "unauthorized" / 1008
- Confirme se o gateway está acessível: localmente,
openclaw status; remotamente, crie o túnel SSHssh -N -L 18789:127.0.0.1:18789 user@gateway-hoste abrahttp://127.0.0.1:18789/. - Para
AUTH_TOKEN_MISMATCH, os clientes podem fazer uma nova tentativa confiável com um token de dispositivo armazenado em cache quando o gateway retorna dicas de nova tentativa; essa tentativa reutiliza os escopos aprovados armazenados em cache do token (chamadores comdeviceToken/scopesexplícitos mantêm o conjunto de escopos solicitado). Se a autenticação continuar falhando após essa tentativa, resolva manualmente a divergência do token. - Para
AUTH_SCOPE_MISMATCH, o token do dispositivo foi reconhecido, mas não contém os escopos solicitados; refaça o pareamento ou aprove o novo conjunto de escopos em vez de trocar o token compartilhado do gateway. - Fora desse caminho de nova tentativa, a precedência da autenticação da conexão é: token/senha compartilhado explícito, depois
deviceTokenexplícito, depois token de dispositivo armazenado e, por fim, token de inicialização. - No caminho assíncrono do Tailscale Serve, tentativas malsucedidas para o mesmo
{scope, ip}são serializadas antes que o limitador de falhas de autenticação as registre; portanto, uma segunda tentativa simultânea incorreta já pode exibirretry later. - Para as etapas de correção da divergência de token, consulte a Lista de verificação para recuperação de divergência de token.
- Recupere ou forneça o segredo compartilhado no host do gateway:
- Token:
openclaw config get gateway.auth.token - Senha: resolva o
gateway.auth.passwordconfigurado ouOPENCLAW_GATEWAY_PASSWORD - Token gerenciado por SecretRef: resolva o provedor externo de segredos ou exporte
OPENCLAW_GATEWAY_TOKENneste shell e executeopenclaw dashboardnovamente - Nenhum segredo compartilhado configurado:
openclaw doctor --generate-gateway-token
- Token:
- Nas configurações do painel, cole o token ou a senha no campo de autenticação e conecte-se.
- O seletor de idioma da interface fica em Settings -> General -> Language, não em Appearance.
Relacionados
Was this useful?