Gateway

Несколько шлюзов

Большинству конфигураций нужен один Gateway — один Gateway обслуживает несколько подключений к службам обмена сообщениями и агентов. Запускайте отдельные Gateway с изолированными профилями и портами, только если требуется более строгая изоляция или резервирование (например, резервный бот).

Быстрый запуск резервного бота

Простейшая конфигурация резервного бота:

  • Оставьте основного бота в профиле по умолчанию.
  • Запустите резервного бота в --profile rescue с отдельным токеном Telegram-бота.
  • Назначьте резервному боту другой базовый порт, например 19789.

Благодаря этому резервный бот сможет выполнять диагностику или изменять конфигурацию, если основной бот недоступен. Оставляйте между базовыми портами не менее 20 портов, чтобы производные порты браузера/CDP никогда не пересекались.

bash
# Резервный бот (отдельный Telegram-бот, отдельный профиль, порт 19789)openclaw --profile rescue onboardopenclaw --profile rescue gateway install --port 19789

Если основной бот уже запущен, обычно этого достаточно. Если при первоначальной настройке резервная служба уже была установлена, пропустите заключительную команду gateway install.

Во время openclaw --profile rescue onboard:

  • Используйте отдельный токен Telegram-бота, предназначенный для резервной учётной записи (её легко сделать доступной только оператору, она не зависит от установки канала или приложения основного бота и предоставляет простой путь восстановления через личные сообщения).
  • Сохраните имя профиля rescue.
  • Используйте базовый порт как минимум на 20 больше, чем у основного бота.
  • Примите рабочее пространство резервного бота по умолчанию, если только вы уже не управляете отдельным рабочим пространством самостоятельно.

Что изменяет --profile rescue onboard

--profile rescue onboard запускает обычный процесс первоначальной настройки, но записывает всё в отдельный профиль, поэтому резервный бот получает собственные:

  • Файл профиля и конфигурации
  • Каталог состояния
  • Рабочее пространство (по умолчанию: ~/.openclaw/workspace-rescue)
  • Имя управляемой службы
  • Базовый порт (и производные порты)
  • Токен Telegram-бота

В остальном запросы идентичны обычной первоначальной настройке.

Общая конфигурация нескольких Gateway

Тот же принцип изоляции подходит для любой пары или группы Gateway на одном хосте — назначьте каждому дополнительному Gateway отдельный именованный профиль и базовый порт:

bash
# основной (профиль по умолчанию)openclaw setupopenclaw gateway --port 18789 # дополнительный Gatewayopenclaw --profile ops setupopenclaw --profile ops gateway --port 19789

Также можно использовать именованные профили для обоих экземпляров:

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

Для служб действует тот же принцип:

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

Используйте быстрый запуск резервного бота для создания запасного операторского канала; общую схему профилей — для нескольких долгоживущих Gateway, обслуживающих разные каналы, арендаторов, рабочие пространства или операционные роли.

Контрольный список изоляции

Обеспечьте уникальность следующих параметров для каждого экземпляра Gateway:

Параметр Назначение
OPENCLAW_CONFIG_PATH Отдельный файл конфигурации для каждого экземпляра
OPENCLAW_STATE_DIR Отдельные сеансы, учётные данные и кэши
agents.defaults.workspace Корневой каталог рабочего пространства экземпляра
gateway.port (или --port) Уникальное значение для каждого экземпляра
Производные порты браузера/CDP См. ниже

Совместное использование любого из этих параметров приводит к конфликтам конфигурации, состояния или портов. При запуске Gateway проверяется уникальность владельца каталога состояния, даже если OPENCLAW_ALLOW_MULTI_GATEWAY=1 отключает проверку единственного экземпляра для каждой конфигурации.

Сопоставление портов (производных)

Базовый порт = gateway.port (или OPENCLAW_GATEWAY_PORT / --port).

  • Порт службы управления браузером = базовый порт + 2 (только кольцевой интерфейс).
  • Хост Canvas обслуживается непосредственно HTTP-сервером Gateway (тот же порт, что и gateway.port).
  • CDP-порты профиля браузера автоматически выделяются в диапазоне от browser control port + 9 до + 108.

Если вы переопределяете какие-либо из этих значений в конфигурации или переменных окружения, обеспечьте их уникальность для каждого экземпляра.

Примечания о браузере/CDP (распространённая ошибка)

  • Не задавайте для browser.cdpUrl одно и то же фиксированное значение в нескольких экземплярах.
  • Каждому экземпляру нужны отдельный порт управления браузером и собственный диапазон CDP (производные от его порта Gateway).
  • Чтобы явно задать CDP-порты, настройте browser.profiles.<name>.cdpPort отдельно для каждого экземпляра.
  • Для удалённого Chrome используйте browser.profiles.<name>.cdpUrl (отдельно для каждого профиля и экземпляра).

Пример ручной настройки переменных окружения

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

Быстрые проверки

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 обнаруживает устаревшие службы launchd/systemd/schtasks от предыдущих установок.
  • Текст предупреждения gateway probe, например multiple reachable gateway identities detected, ожидаем только тогда, когда вы намеренно запускаете несколько изолированных Gateway или когда OpenClaw не может подтвердить, что доступные цели проверки относятся к одному Gateway. SSH-туннель, URL-адрес прокси или настроенный удалённый URL-адрес одного и того же Gateway представляют собой один Gateway с несколькими транспортами, даже если порты транспортов различаются.

Связанные материалы

Was this useful?
On this page

On this page