Gateway

Vários gateways

A maioria das configurações precisa de um Gateway — um único Gateway gerencia várias conexões de mensagens e agentes. Execute Gateways separados com perfis/portas isolados somente quando precisar de maior isolamento ou redundância (por exemplo, um bot de resgate).

Início rápido do bot de resgate

A configuração mais simples de um bot de resgate:

  • Mantenha o bot principal no perfil padrão.
  • Execute o bot de resgate em --profile rescue, com seu próprio token de bot do Telegram.
  • Coloque o bot de resgate em outra porta base, por exemplo, 19789.

Isso permite que o bot de resgate depure ou aplique alterações de configuração caso o bot principal esteja inativo. Deixe pelo menos 20 portas entre as portas base para que as portas derivadas do navegador/CDP nunca entrem em conflito.

bash
# Bot de resgate (bot do Telegram separado, perfil separado, porta 19789)openclaw --profile rescue onboardopenclaw --profile rescue gateway install --port 19789

Se o bot principal já estiver em execução, normalmente isso é tudo de que você precisa. Se a integração inicial já tiver instalado o serviço de resgate, ignore o gateway install final.

Durante openclaw --profile rescue onboard:

  • Use um token de bot do Telegram separado, dedicado à conta de resgate (fácil de manter restrita aos operadores, independente da instalação do canal/aplicativo do bot principal e um caminho simples de recuperação por MD).
  • Mantenha o nome de perfil rescue.
  • Use uma porta base pelo menos 20 números acima da porta do bot principal.
  • Aceite o workspace de resgate padrão, a menos que já gerencie um por conta própria.

O que --profile rescue onboard altera

--profile rescue onboard executa o fluxo normal de integração inicial, mas grava tudo em um perfil separado; assim, o bot de resgate recebe seus próprios:

  • Arquivo de perfil/configuração
  • Diretório de estado
  • Workspace (padrão: ~/.openclaw/workspace-rescue)
  • Nome do serviço gerenciado
  • Porta base (mais as portas derivadas)
  • Token de bot do Telegram

As demais solicitações são idênticas às da integração inicial normal.

Configuração geral de vários Gateways

O mesmo padrão de isolamento funciona para qualquer par ou grupo de Gateways em um host — atribua a cada Gateway adicional seu próprio perfil nomeado e sua própria porta base:

bash
# principal (perfil padrão)openclaw setupopenclaw gateway --port 18789 # gateway adicionalopenclaw --profile ops setupopenclaw --profile ops gateway --port 19789

Perfis nomeados em ambos também funcionam:

bash
openclaw --profile main setupopenclaw --profile main gateway --port 18789 openclaw --profile ops setupopenclaw --profile ops gateway --port 19789

Os serviços seguem o mesmo padrão:

bash
openclaw gateway installopenclaw --profile ops gateway install --port 19789

Use o início rápido do bot de resgate para ter um canal alternativo para operadores; use o padrão geral de perfis para vários Gateways de longa duração em diferentes canais, locatários, workspaces ou funções operacionais.

Lista de verificação de isolamento

Mantenha estes itens exclusivos para cada instância do Gateway:

Configuração Finalidade
OPENCLAW_CONFIG_PATH Arquivo de configuração por instância
OPENCLAW_STATE_DIR Sessões, credenciais e caches por instância
agents.defaults.workspace Raiz do workspace por instância
gateway.port (ou --port) Exclusiva por instância
Portas derivadas do navegador/CDP Veja abaixo

Compartilhar qualquer um deles causa conflitos de configuração, estado ou portas. A inicialização do Gateway impõe a propriedade exclusiva do diretório de estado, mesmo quando OPENCLAW_ALLOW_MULTI_GATEWAY=1 ignora a instância única por configuração.

Mapeamento de portas (derivadas)

Porta base = gateway.port (ou OPENCLAW_GATEWAY_PORT / --port).

  • Porta do serviço de controle do navegador = base + 2 (somente loopback).
  • O host do Canvas é servido no próprio servidor HTTP do Gateway (a mesma porta que gateway.port).
  • As portas CDP do perfil do navegador são alocadas automaticamente de browser control port + 9 até + 108.

Se substituir qualquer uma delas na configuração ou no ambiente, você deverá mantê-las exclusivas para cada instância.

Observações sobre navegador/CDP (armadilha comum)

  • Não fixe browser.cdpUrl no mesmo valor em várias instâncias.
  • Cada instância precisa de sua própria porta de controle do navegador e faixa de CDP (derivadas da porta do Gateway).
  • Para portas CDP explícitas, defina browser.profiles.<name>.cdpPort por instância.
  • Para o Chrome remoto, use browser.profiles.<name>.cdpUrl (por perfil e por instância).

Exemplo manual com variáveis de ambiente

bash
OPENCLAW_CONFIG_PATH=~/.openclaw/main.json \OPENCLAW_STATE_DIR=~/.openclaw \openclaw gateway --port 18789 OPENCLAW_CONFIG_PATH=~/.openclaw/rescue.json \OPENCLAW_STATE_DIR=~/.openclaw-rescue \openclaw gateway --port 19789

Verificações rápidas

bash
openclaw gateway status --deepopenclaw --profile rescue gateway status --deepopenclaw --profile rescue gateway probeopenclaw statusopenclaw --profile rescue statusopenclaw --profile rescue browser status
  • gateway status --deep detecta serviços launchd/systemd/schtasks obsoletos de instalações anteriores.
  • Textos de aviso de gateway probe, como multiple reachable gateway identities detected, são esperados somente quando você executa intencionalmente mais de um gateway isolado ou quando o OpenClaw não consegue comprovar que os destinos de sondagem acessíveis são o mesmo gateway. Um túnel SSH, uma URL de proxy ou uma URL remota configurada para o mesmo gateway representa um único gateway com vários transportes, mesmo quando as portas de transporte são diferentes.

Relacionado

Was this useful?
On this page

On this page