Configuration OpenClaw pour l'automatisation de navigateur avec intervention humaine, utilisant Docker, Chromium et noVNC

Un développeur sur r/openclaw a documenté sa configuration pour permettre à OpenClaw de gérer des tâches nécessitant une intervention humaine comme la résolution de CAPTCHAs et les approbations pendant les sessions de navigation automatisées. La solution utilise un conteneur Docker avec Chromium, noVNC et des outils associés pour permettre une intervention à distance lorsque nécessaire.
Fonctionnement
L'agent pilote un navigateur sans interface graphique via le protocole Chrome DevTools (CDP). Lorsqu'il rencontre un CAPTCHA ou a besoin d'une approbation humaine, il envoie une notification Telegram. L'utilisateur ouvre une URL noVNC sur son téléphone ou son ordinateur portable pour visualiser et interagir avec le navigateur, puis répond "fait" pour permettre à l'agent de continuer. La configuration nécessite environ 300 Mo de RAM avec un temps de démarrage à froid de 3 secondes.
Application pratique
Le développeur a testé cette configuration en faisant réserver un ramassage de colis par OpenClaw. Après avoir fourni des photos de bordereaux d'expédition et d'e-mails, l'agent a rempli le formulaire en ligne, sélectionné les dates et l'a soumis pendant que le développeur surveillait via noVNC. Il a noté que le widget Chromium de Claude Opus 4.6 avait des difficultés avec la même tâche, restant bloqué dans des boucles de navigation alors qu'OpenClaw terminait la réservation.
Implémentation technique
Le conteneur Docker exécute :
- Xvfb pour l'affichage virtuel
- Chromium avec Playwright
- x11vnc et noVNC pour la visualisation à distance
- supervisord pour la gestion des processus
Le bot contrôle Chromium via CDP depuis l'intérieur du conteneur, tandis que les utilisateurs visualisent le navigateur via noVNC depuis n'importe quel appareil avec une simple URL (aucune application requise).
Mesures de sécurité
- noVNC accessible uniquement via Tailscale (l'appareil client doit faire partie du tailnet)
- Port CDP lié uniquement à localhost
- Le conteneur n'a pas accès au système de fichiers de l'hôte
- Chromium s'exécute sans privilèges
- Les mots de passe/2FA sont gérés via le panneau de presse-papiers de noVNC directement
Renforcement supplémentaire
- Vérification de santé Docker : interroge CDP toutes les 30 secondes, 3 tentatives avant d'être considéré comme non sain
- Limites de ressources : 1 Go de RAM + 2 CPU
- Élagueur d'onglets : conserve un maximum de 5 onglets, ferme les onglets vides, s'exécute toutes les 5 minutes
- Le conteneur reste isolé sans montages d'hôte
Configuration Docker
Le Dockerfile utilise Ubuntu 24.04 et installe :
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"]
Le supervisord.conf gère quatre processus : Xvfb, Chromium, x11vnc et noVNC/websockify.
Le script start-chromium.sh lance Chrome avec des drapeaux spécifiques incluant --remote-debugging-port=9222 --remote-debugging-address=0.0.0.0 pour l'accès CDP.
Éléments à faire
Le développeur prévoit d'ajouter une authentification par jeton sur noVNC et de mettre en œuvre une fonction d'arrêt automatique après un délai d'inactivité.
📖 Lire la source complète : r/openclaw
👀 See Also

100 Conseils pour Construire un Agent IA Personnel : Du Prototype Cloud à la Production
Six semaines à construire un agent IA persistant — pas un wrapper de chatbot — qui gère des tâches, suit des affaires, lit des emails et analyse des données. Leçons clés : Rédigez une Constitution pas un prompt système, utilisez des fichiers markdown plats pour la mémoire, et versionnez votre fichier d'identité dans git.

Claude Code Skills vs. Custom Agents : Un modèle mental basé sur la cohérence des tâches
Un utilisateur de Reddit clarifie la distinction entre les compétences de Claude Code et les agents personnalisés : les compétences exécutent les mêmes étapes à chaque fois, tandis que les agents personnalisés nécessitent un raisonnement et une adaptation. Le post couvre également les sous-agents parallèles, la délégation, les crochets et les blocs de construction.

OpenClaw 101 : Un résumé de démarrage rapide pour débutants
Aucun
Carnets d’ingénieur en IA : une série Colab sans framework pour apprendre RAG, agents et évaluations avec l’API gratuite Groq
Un nouveau dépôt GitHub propose plus de 30 notebooks Colab couvrant les compétences d'ingénieur IA : RAG, agents, évaluations, fine-tuning — le tout sans framework et fonctionnant sur l'API gratuite Groq.