Настройка 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
👀 Смотрите также

Практический обзор: 3 ключевых навыка для Clawhub и 3, которых стоит избегать
Разработчик тестировал навыки Clawhub несколько недель и нашёл три, которые стоит установить: web-search (Brave), daily-brief и memory-search. Три других — food-order, multi-agent orchestrators и humanizer — тратят токены и добавляют ненужную сложность.

Как безопасно запускать нативные инструменты llama.cpp (exec_shell_command) с мульти-песочницей на Linux
Практическое руководство по включению нативных инструментов llama.cpp, особенно exec_shell_command, и их запуску в нескольких песочницах (Firejail + крошечная Alpine VM) для безопасного получения веб-содержимого и выполнения команд через веб-интерфейс llama-server.

Использование ИИ как когнитивного партнера, а не фабрики кода
В посте на Reddit предлагается системный промпт под названием 'Cognitive Authorship Copilot', который заставляет ИИ действовать как партнёр по парному программированию, а не как автономный генератор решений, с тремя уровнями вмешательства в зависимости от сложности задачи.

Разработка ограничений для обеспечения надежности производственных AI-агентов
Пользователь Reddit поделился ограничительным подходом к использованию Claude для сложных операций с кодом, подчеркивая явное перечисление режимов сбоев, поэтапное выполнение с контрольными точками и правила против сокращений, чтобы добиться нулевого количества сломанных сборок при удалении 140 файлов.