Настройка OpenClaw для автоматизации работы браузера с участием человека, с использованием Docker, Chromium и noVNC

Разработчик на r/openclaw описал свою настройку, позволяющую OpenClaw обрабатывать задачи с участием человека, такие как решение CAPTCHA и подтверждения во время автоматизированных сессий браузера. Решение использует контейнер Docker с Chromium, noVNC и связанными инструментами, чтобы позволить удалённое вмешательство при необходимости.
Как это работает
Агент управляет безголовым браузером через Chrome DevTools Protocol (CDP). Когда он сталкивается с CAPTCHA или ему требуется подтверждение человека, он отправляет уведомление в Telegram. Пользователь открывает URL noVNC на своём телефоне или ноутбуке, чтобы просматривать и взаимодействовать с браузером, затем отвечает "готово", чтобы позволить агенту продолжить. Для настройки требуется примерно 300 МБ ОЗУ со временем холодного старта в 3 секунды.
Практическое применение
Разработчик протестировал эту настройку, поручив OpenClaw забронировать вызов курьера. После предоставления фотографий транспортных накладных и писем агент заполнил онлайн-форму, выбрал даты и отправил её, пока разработчик наблюдал через noVNC. Он отметил, что виджет Chromium в Claude Opus 4.6 испытывал трудности с той же задачей, застревая в циклах навигации, в то время как OpenClaw завершил бронирование.
Техническая реализация
Контейнер Docker запускает:
- Xvfb для виртуального дисплея
- Chromium с Playwright
- x11vnc и noVNC для удалённого просмотра
- supervisord для управления процессами
Бот управляет Chromium через CDP изнутри контейнера, в то время как пользователи просматривают браузер через noVNC с любого устройства по простому URL (приложение не требуется).
Меры безопасности
- Доступ к noVNC только через Tailscale (клиентское устройство должно быть частью tailnet)
- Порт CDP привязан только к localhost
- Контейнер не имеет доступа к файловой системе хоста
- Chromium запускается без привилегий
- Пароли/2FA обрабатываются через панель буфера обмена noVNC напрямую
Дополнительное усиление защиты
- Проверка здоровья Docker: опрашивает CDP каждые 30 секунд, 3 попытки перед статусом "нездоров"
- Ограничения ресурсов: 1 ГБ ОЗУ + 2 ЦП
- Очистка вкладок: поддерживает максимум 5 вкладок, закрывает пустые вкладки, запускается каждые 5 минут
- Контейнер остаётся изолированным без подключений к хосту
Конфигурация Docker
Dockerfile использует Ubuntu 24.04 и устанавливает:
FROM ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive
ENV DISPLAY=:99
ENV RESOLUTION=1920x1080x24
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates xvfb x11vnc fonts-liberation \
dbus-x11 supervisor curl gnupg websockify novnc \
&& rm -rf /var/lib/apt/lists/*
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -y nodejs \
&& npx playwright install --with-deps chromium \
&& rm -rf /var/lib/apt/lists/*
RUN useradd -m -s /bin/bash browser \
&& mkdir -p /home/browser/.cache \
&& cp -r /root/.cache/ms-playwright /home/browser/.cache/ \
&& chown -R browser:browser /home/browser
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY start-chromium.sh /usr/local/bin/start-chromium.sh
RUN chmod +x /usr/local/bin/start-chromium.sh
RUN ln -sf /usr/share/novnc/vnc.html /usr/share/novnc/index.html
EXPOSE 6080 9222
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
Файл supervisord.conf управляет четырьмя процессами: Xvfb, Chromium, x11vnc и noVNC/websockify.
Скрипт start-chromium.sh запускает Chrome с определёнными флагами, включая --remote-debugging-port=9222 --remote-debugging-address=0.0.0.0 для доступа к CDP.
Планируемые задачи
Разработчик планирует добавить аутентификацию по токену в noVNC и реализовать функцию автоматической остановки после тайм-аута бездействия.
📖 Прочитать полный источник: r/openclaw
👀 Смотрите также

Практический рабочий процесс с Claude Code для команд разработчиков
Пользователь Reddit делится своей внутренней презентацией о лучших практиках работы с Claude Code, включая выбор модели, структурированные рабочие процессы и конкретные техники составления промптов для повышения качества результатов.

Установка OpenClaw на MacBook Pro с использованием локального Homebrew и NVM
Пользователь успешно установил OpenClaw на MacBook Pro, используя локальную учётную запись без прав администратора с локальным Homebrew, NVM v0.40.4, Python 3.14.3 через pyenv, Node 24 и LLM Qwen3.5-122B-A10B-MLX-vision-4.7-bit через oMLX.

Многоагентная архитектура: Избегание ловушки единого агента в системах искусственного интеллекта
В посте на Reddit указывается на распространенную архитектурную ошибку — использование одного агента для выполнения множества задач, что приводит к созданию хрупких систем, требующих постоянного контроля. Предлагаемое решение — модель «оркестратор-специалист», где каждый агент имеет узкую, конкретную роль.

Qwen3.5-397B MoE работает на 14 ГБ ОЗУ с помощью постраничной загрузки экспертов на M1 Ultra
Движок Paged MoE держит в памяти только 20 экспертов, а остальные подгружает с SSD, запуская модель 397B размером 209GB на Mac Studio с 64GB памяти, достигая 1,59 ток/с и пикового использования RAM 14GB. Включает бенчмарки меньших моделей.