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

Correction des erreurs 'Navigate Unsupported' et des plugins navigateur dans OpenClaw auto-hébergé sur Docker
Correction étape par étape pour les erreurs de permission EACCES, l'absence de Playwright et de binaires Chromium lors de l'auto-hébergement d'OpenClaw avec Docker sur un VPS comme Hostinger.

Configuration d'OpenClaw pour une Communication Fluide d'Agent à Agent
Un utilisateur de Reddit partage des paramètres de configuration spécifiques pour OpenClaw qui réduisent les délais d'attente dans la communication entre agents, incluant les paramètres de visibilité des outils, les directives de mémoire et des solutions de contournement pour la limitation ANNOUNCE_SKIP.

Contournement par Raccourci iOS pour envoyer des photos iPhone à Cowork via la synchronisation iCloud
Un développeur a créé un raccourci iOS appelé "PhoPo" qui convertit les photos de l'iPhone en JPEG, les redimensionne et les enregistre dans un dossier synchronisé via iCloud accessible par Cowork, permettant ainsi à Claude d'analyser des captures d'écran et des photos provenant d'appareils mobiles.

Guide : Déployer OpenClaw avec llama.cpp sur le Mini PC GEEKOM IT15
Une présentation technique détaillée explique comment passer OpenClaw d'Ollama à llama.cpp pour exécuter un modèle local Qwen3-8B avec l'accélération GPU Intel Arc, couvrant les modifications de configuration, la gestion manuelle du serveur et le dépannage des problèmes courants.