🔖

Browser-Use-Web-UIをDockerで試しました

に公開

私は、Windows11で、Browser Use Web UIを使おうとしました。
でも、このようなエラーが出ました。
エラーの一部を掲載します。

(web-ui) PS D:\○○\browser-use\web-ui> copy .env.example .env                         
(web-ui) PS D:\○○\browser-use\web-ui> python webui.py --ip 127.0.0.1 --port 7788     
INFO     [browser_use] BrowserUse logging setup complete with level info
INFO     [root] Anonymized telemetry enabled. See https://docs.browser-use.com/development/telemetry for more information.
* Running on local URL:  http://127.0.0.1:7788

To create a public link, set share=True in launch().
INFO     [agent] 🚀 Starting task: go to google.com and type 'OpenAI' click search and give me the first url
INFO     [src.agent.custom_agent] 
📍 Step 1
WARNING  [browser] Page load failed, continuing...
ERROR    [agent] ❌ Result failed 1/3 times:
 Connection closed while reading from the driver
INFO     [src.agent.custom_agent] 
📍 Step 1
WARNING  [browser] Page load failed, continuing...
ERROR    [agent] ❌ Result failed 2/3 times:
 Connection closed while reading from the driver
INFO     [src.agent.custom_agent] 
📍 Step 1
Task exception was never retrieved
future: <Task finished name='Task-176' coro=<Connection.run.<locals>.init() done, defined at D:\○○\browser-use\web-ui\.venv\Lib\site-packages\playwright\_impl\_connection.py:276> exception=Exception('Connection.init: Connection closed while reading from the driver')>
Traceback (most recent call last):
  File "D:\○○\browser-use\web-ui\.venv\Lib\site-packages\playwright\_impl\_connection.py", line 277, in init
    self.playwright_future.set_result(await self._root_object.initialize())
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\○○\browser-use\web-ui\.venv\Lib\site-packages\playwright\_impl\_connection.py", line 219, in initialize
    await self._channel.send(
  File "D:\○○\browser-use\web-ui\.venv\Lib\site-packages\playwright\_impl\_connection.py", line 61, in send
    return await self._connection.wrap_api_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\○○\browser-use\web-ui\.venv\Lib\site-packages\playwright\_impl\_connection.py", line 528, in wrap_api_call
    raise rewrite_error(error, f"{parsed_st['apiName']}: {error}") from None
Exception: Connection.init: Connection closed while reading from the driver
Task exception was never retrieved
future: <Task finished name='Task-182' coro=<Connection.run.<locals>.init() done, defined at D:\○○\browser-use\web-ui\.venv\Lib\site-packages\playwright\_impl\_connection.py:276> exception=Exception('Connection.init: Connection closed while reading from the driver')>
Traceback (most recent call last):
  File "D:\○○\browser-use\web-ui\.venv\Lib\site-packages\playwright\_impl\_connection.py", line 277, in init
    self.playwright_future.set_result(await self._root_object.initialize())
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Playwrightに関連するエラーのようですが、再インストールやパッケージのバージョンを上げるなど試みましたが、解決できませんでした。
そのためDockerを使う方法を試したら、Browser Use Web UIを使うことができました。

リポジトリは、こちらです。

https://github.com/browser-use/web-ui

DockerのWindowsのインストーラーは、こちらです。

https://docs.docker.com/desktop/setup/install/windows-install/
Windows11でインテルのCPUを搭載したパソコンの場合は、DockerのWindowsのインストーラーで、X86_64の方を選んでください。

ブラウザでアクセス

ここにブラウザでアクセスすると、この画面が表示されます。
http://127.0.0.1:7788

そして、この動画のように動作を確認できました。

https://youtu.be/gxsBK311msQ

起動したDockerのコンテナの停止手順

下記のコマンドで、停止できます。
docker compose down

私はVSCODEのDockerの拡張機能を使っていますが、今回のようにターミナルで文字が流れしまうときに、コマンドの停止をしたいとき便利でした。

詳しいコマンドは、 browser-use-webuiのリポジトリで確認してください。

VSCODEのDockerの拡張機能を使うと、簡単にコンテナの停止ができます。

動いてるコンテナを右クリックします。

Stopをクリックすると、コンテナの停止ができます。

画面の簡単な説明

この画面のメニュー項目を簡単に説明します。

Agent Settings(エージェント設定)

AIエージェントの動作設定を行うメニュー。エージェントの種類や最大ステップ数、アクション数、ビジョン機能の有効化などを設定できる。
LLM Configuration(LLM設定)

大規模言語モデル(LLM)の設定を行うメニュー。

使用するLLMの選択が、できます。
APIキーの登録が、できます。
Ollamaも選択できますので、ローカル環境のLLMも選択できます。

Browser Settings(ブラウザ設定)

Use Own Browserは、自分がログインしているブラウザを使うときに、設定します。

Run Agent(エージェント実行)

設定したAIエージェントを実際に動作させたい操作の内容、プロンプトを入力します。
日本語のプロンプトも、利用できます。

Deep Research(詳細調査)

AIがより深い調査や分析を行います。
詳しく調べたいときに、活用できます。

Results(結果)

AIエージェントが実行した操作の結果を確認できます。

Recordings(記録)

AIの動作履歴や操作の記録を確認できます。
ブラウザの操作の様子が、動画で確認できます。
動画のダウンロードも、できます。

Configuration(設定)

全体の設定や環境設定を行うことができます。

まとめ

Windowsの環境でBrowser-Use-Web-UIを試すときは、Dockerを活用すると良いと思います。
またDockerを使うためなのかヘッドレスで、動作しました。
つまり実際に、リアルタイムでブラウザが操作されている様子を見ることができないのです。
私も、色々試して体験したいと思っています。

Discussion