Skip to main content

Múltiplos Gateways (mesmo host)

A maioria das configurações deve usar um único Gateway, porque um único Gateway pode lidar com várias conexões de mensagens e agentes. Se você precisar de isolamento ou redundância mais fortes (por exemplo, um bot de resgate), execute Gateways separados com perfis/portas isolados.

Checklist de isolamento (obrigatório)

  • 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) — único por instância
  • Portas derivadas (browser/canvas) não devem se sobrepor
Se qualquer um desses for compartilhado, você enfrentará condições de corrida de configuração e conflitos de portas.

Recomendado: perfis (--profile)

Os perfis fazem o escopo automático de OPENCLAW_STATE_DIR + OPENCLAW_CONFIG_PATH e adicionam sufixos aos nomes dos serviços.
Serviços por perfil:

Guia do bot de resgate

Execute um segundo Gateway no mesmo host com o seu próprio:
  • perfil/configuração
  • diretório de estado
  • workspace
  • porta base (mais portas derivadas)
Isso mantém o bot de resgate isolado do bot principal, para que ele possa depurar ou aplicar alterações de configuração se o bot principal estiver fora do ar. Espaçamento de portas: deixe pelo menos 20 portas entre as portas base para que as portas derivadas de browser/canvas/CDP nunca colidam.

Como instalar (bot de resgate)

Mapeamento de portas (derivadas)

Porta base = gateway.port (ou OPENCLAW_GATEWAY_PORT / --port).
  • porta do serviço de controle do browser = base + 2 (somente local loopback)
  • o host do canvas é servido no servidor HTTP do Gateway (mesma porta que gateway.port)
  • As portas CDP do perfil do browser são alocadas automaticamente a partir de browser.controlPort + 9 .. + 108
Se você sobrescrever qualquer uma delas na configuração ou em variáveis de ambiente, deve mantê-las únicas por instância.

Notas de Browser/CDP (armadilha comum)

  • Não fixe browser.cdpUrl nos mesmos valores em várias instâncias.
  • Cada instância precisa de sua própria porta de controle do browser e intervalo de CDP (derivado da porta do gateway).
  • Se você precisar de portas CDP explícitas, defina browser.profiles.<name>.cdpPort por instância.
  • Chrome remoto: use browser.profiles.<name>.cdpUrl (por perfil, por instância).

Exemplo manual com env

Verificações rápidas