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

✍️ OpenClawRadar📅 Опубликовано: 25 февраля 2026 г.🔗 Source
Настройка OpenClaw для автоматизации работы браузера с участием человека, с использованием Docker, Chromium и noVNC
Ad

Разработчик на 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 напрямую
Ad

Дополнительное усиление защиты

  • Проверка здоровья 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

Ad

👀 Смотрите также

Практические решения для повышения надёжности OpenClaw
Гайды

Практические решения для повышения надёжности OpenClaw

Разработчик делится восемью конкретными техниками, которые улучшили его настройку OpenClaw, включая трёхуровневую систему памяти с ежедневными логами и графом знаний, управление активационными баллами и принудительное применение правил через файлы.

OpenClawRadar
🦀
Гайды

Автоматизация обновлений OpenClaw с помощью ИИ-агента: проверенное на практике руководство

Разработчик рассказывает, как обучил ИИ-агента Hermes выполнять обновления OpenClaw, сократив многочасовую мучительную миграцию до «запусти плейбук, наткнись на два известных препятствия».

OpenClawRadar
Как улучшить время отклика OpenClaw, сократив избыточный контекст
Гайды

Как улучшить время отклика OpenClaw, сократив избыточный контекст

Разработчик решил проблему 10-минутного времени отклика в OpenClaw, сократив количество внедряемых символов рабочих файлов с 47 000 до 16 000 за счёт реструктуризации файлов и изменения конфигурации, включая установку bootstrapMaxChars на 8000 и добавление защитных механизмов уплотнения.

OpenClawRadar
Структурирование проектов кода Claude с использованием CLAUDE.md, Skills и MCP
Гайды

Структурирование проектов кода Claude с использованием CLAUDE.md, Skills и MCP

Разработчик делится улучшениями рабочего процесса для Claude Code, включая начало в режиме планирования, ведение файла CLAUDE.md для памяти проекта, создание переиспользуемых навыков для повторяющихся задач и использование MCP для подключения к внешним инструментам.

OpenClawRadar