Hosting
exe.dev
Цель: OpenClaw Gateway, запущенный на VM exe.dev и доступный с вашего ноутбука по адресу: https://<vm-name>.exe.xyz
Эта страница предполагает использование стандартного образа exeuntu от exe.dev. Если вы выбрали другой дистрибутив, сопоставьте пакеты соответствующим образом.
Быстрый путь для начинающих
- https://exe.new/openclaw
- Заполните свой ключ/токен аутентификации при необходимости
- Нажмите «Агент» рядом с вашей VM и дождитесь, пока Shelley завершит подготовку
- Откройте
https://<vm-name>.exe.xyz/и выполните аутентификацию с помощью настроенного общего секрета (по умолчанию в этом руководстве используется аутентификация по токену, но аутентификация по паролю тоже работает, если переключитьgateway.auth.mode) - Одобрите все ожидающие запросы на сопряжение устройств с помощью
openclaw devices approve <requestId>
Что вам понадобится
- Учетная запись exe.dev
- Доступ
ssh exe.devк виртуальным машинам exe.dev (необязательно)
Автоматическая установка с Shelley
Shelley, агент exe.dev, может мгновенно установить OpenClaw с помощью нашего промпта. Используемый промпт приведен ниже:
Set up OpenClaw (https://docs.openclaw.ai/install) on this VM. Use the non-interactive and accept-risk flags for openclaw onboarding. Add the supplied auth or token as needed. Configure nginx to forward from the default port 18789 to the root location on the default enabled site config, making sure to enable Websocket support. Pairing is done by "openclaw devices list" and "openclaw devices approve <request id>". Make sure the dashboard shows that OpenClaw's health is OK. exe.dev handles forwarding from port 8000 to port 80/443 and HTTPS for us, so the final "reachable" should be <vm-name>.exe.xyz, without port specification.Ручная установка
1) Создайте VM
С вашего устройства:
ssh exe.dev newЗатем подключитесь:
ssh <vm-name>.exe.xyz2) Установите предварительные зависимости (на VM)
sudo apt-get updatesudo apt-get install -y git curl jq ca-certificates openssl3) Установите OpenClaw
Запустите установочный скрипт OpenClaw:
curl -fsSL https://openclaw.ai/install.sh | bash4) Настройте nginx для проксирования OpenClaw на порт 8000
Отредактируйте /etc/nginx/sites-enabled/default следующим содержимым
server { listen 80 default_server; listen [::]:80 default_server; listen 8000; listen [::]:8000; server_name _; location / { proxy_pass http://127.0.0.1:18789; proxy_http_version 1.1; # WebSocket support proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # Standard proxy headers proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; # Timeout settings for long-lived connections proxy_read_timeout 86400s; proxy_send_timeout 86400s; }}Перезаписывайте заголовки пересылки вместо сохранения цепочек, предоставленных клиентом.
OpenClaw доверяет метаданным пересланного IP только от явно настроенных прокси,
а цепочки X-Forwarded-For в стиле добавления считаются риском для усиления защиты.
5) Откройте OpenClaw и предоставьте привилегии
Откройте https://<vm-name>.exe.xyz/ (см. вывод Control UI при онбординге). Если появится запрос аутентификации, вставьте
настроенный общий секрет с VM. В этом руководстве используется аутентификация по токену, поэтому получите gateway.auth.token
с помощью openclaw config get gateway.auth.token (или сгенерируйте его с помощью openclaw doctor --generate-gateway-token).
Если вы переключили Gateway на аутентификацию по паролю, используйте вместо этого gateway.auth.password / OPENCLAW_GATEWAY_PASSWORD.
Одобряйте устройства с помощью openclaw devices list и openclaw devices approve <requestId>. Если сомневаетесь, используйте Shelley из браузера!
Настройка удаленных каналов
Для удаленных хостов предпочитайте один вызов config patch множеству SSH-вызовов config set. Храните настоящие токены в окружении VM или ~/.openclaw/.env, а в openclaw.json помещайте только SecretRefs.
На VM добавьте в окружение сервиса необходимые секреты:
cat >> ~/.openclaw/.env <<'EOF'SLACK_BOT_TOKEN=xoxb-...SLACK_APP_TOKEN=xapp-...DISCORD_BOT_TOKEN=...OPENAI_API_KEY=sk-...EOFС локального компьютера создайте файл патча и передайте его в VM через pipe:
// openclaw.remote.patch.json5{ secrets: { providers: { default: { source: "env" }, }, }, channels: { slack: { enabled: true, mode: "socket", botToken: { source: "env", provider: "default", id: "SLACK_BOT_TOKEN" }, appToken: { source: "env", provider: "default", id: "SLACK_APP_TOKEN" }, groupPolicy: "open", requireMention: false, }, discord: { enabled: true, token: { source: "env", provider: "default", id: "DISCORD_BOT_TOKEN" }, dmPolicy: "disabled", dm: { enabled: false }, groupPolicy: "allowlist", }, }, agents: { defaults: { model: { primary: "openai/gpt-5.5" }, models: { "openai/gpt-5.5": { params: { fastMode: true } }, }, }, },}ssh <vm-name>.exe.xyz 'openclaw config patch --stdin --dry-run' < ./openclaw.remote.patch.json5ssh <vm-name>.exe.xyz 'openclaw config patch --stdin' < ./openclaw.remote.patch.json5ssh <vm-name>.exe.xyz 'openclaw gateway restart && openclaw health'Используйте --replace-path, когда вложенный allowlist должен стать точно равным значению патча, например при замене allowlist каналов Discord:
ssh <vm-name>.exe.xyz 'openclaw config patch --stdin --replace-path "channels.discord.guilds[\"123\"].channels"' < ./discord.patch.json5Удаленный доступ
Удаленный доступ обрабатывается аутентификацией exe.dev. По
умолчанию HTTP-трафик с порта 8000 пересылается на https://<vm-name>.exe.xyz
с аутентификацией по электронной почте.
Обновление
npm i -g openclaw@latestopenclaw doctoropenclaw gateway restartopenclaw healthРуководство: Обновление