Несколько шлюзов (один хост)
Большинство настроек должны использовать один шлюз, потому что один шлюз может обрабатывать несколько подключений к обмену сообщениями и агентов. Если вам нужна более сильная изоляция или избыточность (например, резервный бот), запустите отдельные шлюзы с изолированными профилями/портами.
Чек-лист изоляции (обязательно)
- OPENCLAW_CONFIG_PATH — файл конфигурации для каждого экземпляра
- OPENCLAW_STATE_DIR — сессии, учетные данные, кеши для каждого экземпляра
- agents.defaults.workspace — корень рабочего пространства для каждого экземпляра
- gateway.port (или --port) — уникальный для каждого экземпляра
- Производные порты (browser/canvas) не должны перекрываться
Если они совместно используются, вы столкнетесь с гонками конфигурации и конфликтами портов.
Рекомендуется: профили (--profile)
Профили автоматически ограничивают OPENCLAW_STATE_DIR + OPENCLAW_CONFIG_PATH и добавляют суффикс к именам служб.
# main
openclaw --profile main setup
openclaw --profile main gateway --port 18789
# rescue
openclaw --profile rescue setup
openclaw --profile rescue gateway --port 19001
Службы по профилям:
openclaw --profile main gateway install
openclaw --profile rescue gateway install
Руководство по резервному боту
Запустите второй шлюз на том же хосте с его собственными:
- профилем/конфигурацией
- директорией состояния
- рабочим пространством
- базовым портом (плюс производные порты)
Это сохраняет резервный бот изолированным от основного бота, чтобы он мог отлаживать или применять изменения конфигурации, если первичный бот не работает.
Интервал портов: оставьте не менее 20 портов между базовыми портами, чтобы производные порты browser/canvas/CDP никогда не сталкивались.
Как установить (резервный бот)
# Основной бот (существующий или новый, без параметра --profile)
# Работает на порту 18789 + порты Chrome CDC/Canvas/...
openclaw onboard
openclaw gateway install
# Резервный бот (изолированный профиль + порты)
openclaw --profile rescue onboard
# Примечания:
# - имя рабочего пространства будет добавлено с -rescue по умолчанию
# - Порт должен быть не менее 18789 + 20 портов,
# лучше выбрать совершенно другой базовый порт, например 19789,
# - остальная часть onboarding такая же, как обычная
# Для установки службы (если это не произошло автоматически во время onboarding)
openclaw --profile rescue gateway install
Сопоставление портов (производные)
Базовый порт = gateway.port (или OPENCLAW_GATEWAY_PORT / --port).
- порт службы управления браузером = базовый + 2 (только loopback)
- canvasHost.port = базовый + 4
- Порты CDP профиля браузера автоматически выделяются из browser.controlPort + 9 .. + 108
Если вы переопределяете любой из них в конфигурации или env, вы должны держать их уникальными для каждого экземпляра.
Примечания по браузеру/CDP (распространенная ошибка)
- Не привязывайте browser.cdpUrl к одинаковым значениям на нескольких экземплярах.
- Каждому экземпляру нужен собственный порт управления браузером и диапазон CDP (производный от его порта шлюза).
- Если вам нужны явные порты CDP, установите browser.profiles.<name>.cdpPort для каждого экземпляра.
- Удаленный Chrome: используйте browser.profiles.<name>.cdpUrl (по профилю, по экземпляру).
Пример ручного env
OPENCLAW_CONFIG_PATH=~/.openclaw/main.json \
OPENCLAW_STATE_DIR=~/.openclaw-main \
openclaw gateway --port 18789
OPENCLAW_CONFIG_PATH=~/.openclaw/rescue.json \
OPENCLAW_STATE_DIR=~/.openclaw-rescue \
openclaw gateway --port 19001
Быстрые проверки
openclaw --profile main status
openclaw --profile rescue status
openclaw --profile rescue browser status