OpenClawセットアップ:Docker、Chromium、noVNCを使用したヒューマンインザループブラウザ自動化

r/openclawの開発者が、自動化されたブラウザセッション中にCAPTCHA解決や承認などの人間参加型タスクをOpenClawで処理できる設定を文書化しました。このソリューションは、必要時にリモート介入を可能にするため、Chromium、noVNC、および関連ツールを備えたDockerコンテナを使用します。
仕組み
エージェントはChrome DevTools Protocol(CDP)を介してヘッドレスブラウザを操作します。CAPTCHAに遭遇したり、人間の承認が必要な場合、Telegram通知を送信します。ユーザーはスマートフォンやノートパソコンでnoVNCのURLを開き、ブラウザを表示して操作した後、「完了」と返信してエージェントに続行させます。この設定には約300MBのRAMと3秒のコールドスタート時間が必要です。
実用的な応用
開発者は、OpenClawに宅配便の集荷を予約させることでこの設定をテストしました。送り状やメールの写真を提供した後、エージェントはオンラインフォームに入力し、日付を選択して送信し、開発者はnoVNC経由で監視しました。Claude Opus 4.6のChromiumウィジェットは同じタスクでナビゲーションループに陥りましたが、OpenClawは予約を完了したと指摘しています。
技術的な実装
Dockerコンテナは以下を実行します:
- 仮想ディスプレイ用のXvfb
- Playwrightを備えたChromium
- リモート表示用のx11vncとnoVNC
- プロセス管理用のsupervisord
ボットはコンテナ内からCDP経由でChromiumを制御し、ユーザーはnoVNC経由で任意のデバイスからブラウザを表示します(アプリは不要)。
セキュリティ対策
- noVNCはTailscale経由でのみアクセス可能(クライアントデバイスはtailnetの一部である必要あり)
- CDPポートはlocalhostのみにバインド
- コンテナはホストのファイルシステムにアクセス不可
- Chromiumは非特権で実行
- パスワード/2FAはnoVNCクリップボードパネルで直接処理
追加の強化
- Dockerヘルスチェック:30秒ごとにCDPをポーリング、3回のリトライ後に異常と判定
- リソース制限:1GB RAM + 2 CPU
- タブプルーナー:最大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は4つのプロセスを管理します:Xvfb、Chromium、x11vnc、noVNC/websockify。
start-chromium.shスクリプトは、CDPアクセスのための--remote-debugging-port=9222 --remote-debugging-address=0.0.0.0を含む特定のフラグでChromeを起動します。
今後の課題
開発者は、noVNCにトークン認証を追加し、アイドルタイムアウト後の自動停止機能を実装する予定です。
📖 完全なソースを読む: r/openclaw
👀 See Also

クロードコードのスキルファイルを実際に動作させる6つのパターン
2,300以上のスキルファイルをテストした結果、ある開発者はClaude Codeのスキルが必要なときに読み込まれるかどうかを決定する6つのパターンを特定しました。具体的には、特定のトリガー言語、1ファイルに1つの機能、使用すべきでない場合のリストなどです。

ChatGPTの履歴をOpenClawメモリシステムにエクスポート
Redditユーザーが、ai-chat-md-exportツールを使用してChatGPTの数年にわたる会話履歴をエクスポートし、OpenClawのメモリシステムにインポートするプロセスを共有しています。これにより、ローカルのAIエージェントが過去のコンテキストにアクセスできるようになります。

OpenClawノードセットアップによるリモートブラウザ自動化の修正
CDP/RDPの面倒を避けるためにローカルのOpenClawノードを使う — ブラウザを可視状態で実行し、IPとクッキーを保持。

小規模モデルの評価プロンプトが誤解を招く理由とその修正方法
Redditの投稿によると、小規模モデルの評価プロンプトは、トランスフォーマーの誤った認知経路をトリガーするため、しばしば誤解を招く結果を生み出します。具体的には、事実の想起、応用・指示の遵守、感情的・共感的推論という3つの異なるモードを特定しています。