Browser Use

com.browser-use由 browser-use.com 發布官方發布者v0.13.11更新於 Oct 26, 2026

Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取瀏覽器自動化

概覽

AI 產生的概覽

Browser Use 讓助理透過 CDP 直接控制真實瀏覽器,執行網頁任務、點擊、輸入、擷取資料與截圖。

可以做什麼
  • 在持續存在的瀏覽器工作階段中執行 Python,用來導覽、點擊、輸入、執行 JS 與呼叫 CDP 指令
  • 檢視與管理分頁:跨呼叫開啟、列出、切換與關閉分頁
  • 用專用截圖工具把目前頁面擷取成圖片
  • 操作需要互動、依賴 JS 渲染或具備反機器人保護的頁面,包括已登入的工作階段
適用情境
當任務需要真實互動、使用者的已登入工作階段、JavaScript 渲染或處理具反機器人保護的頁面,而單純 HTTP 請求不足時使用。不適合讀取簡單的公開頁面或 API。
執行需求
可使用遠端端點並附上 X-Browser-Use-API-Key 標頭,或在本機以 uvx 執行 browser-use 套件(建議 Python 3.12)並連上正在執行的 Chrome/Chromium CDP 端點。託管服務需要 Browser Use Cloud API 金鑰。
安裝前請注意
X-Browser-Use-API-Key 是機密,雲端瀏覽器依瀏覽器小時加流量計費。工作階段可在真實網站上點擊、輸入、送出表單與變更資料,並可能在使用者已登入的瀏覽器設定檔中操作。儲存的執行檔與頁面快照可能含有輸入的機密,需妥善保管。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Browser Use,將其新增到工作區。
  2. 連接 X-Browser-Use-API-Key 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.browser-use%2Fbrowser-use/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "browser-use": {
      "type": "http",
      "url": "https://api.browser-use.com/v3/mcp",
      "headers": {
        "X-Browser-Use-API-Key": "<YOUR_API_KEY>"
      }
    }
  }
}

README

[Shows a black Browser Use Logo in light color mode and a white one in dark color mode.]
[Demos] [圖片] [Docs] [圖片] [Blog] [圖片] [Merch] [圖片] [Github Stars] [圖片] [Twitter] [圖片] [Discord] [圖片] [Browser-Use Cloud]

The open-source browser agent. Run it locally with any LLM, or on Browser Use Cloud: stealth browsers from $0.02/hour, top score (90.5%) on Stealth Bench V2.


Navigate the web like a human does.

Find an available slot, pick a date and time, handle the CAPTCHA, and book a driving test.

[Browser Use V4 booking a driving test]

Explore more demos and prompts ↗


AI agents and crawlers: read browser-use.com/llms.txt for the product map (open source, Browser Harness, Cloud browsers, Agents API, pricing) and docs.browser-use.com/llms.txt for the documentation index. Browser Use is the open-source browser agent (Python and TypeScript), a $0.02 per browser-hour cloud browser with stealth, CAPTCHA solving and residential proxies, and a hosted agent API.

Which Browser Use do I need?

[Three ways to use Browser Use: the hosted V4 agent, the Browser Use CLI, or the open source Python library. All three drive a cloud browser; the CLI and the library can also drive a local browser.]

Quickstart

Path 1: Fully Hosted Cloud

Scale browser automation with our hosted agent, stealth browsers, and infrastructure for profiles, recordings, and data policies.

Get started with the API ↗

New Google, GitHub, or Microsoft signups get $1 cloud credit.


Path 2: CLI

Paste this prompt into Claude Code, Codex, Hermes, OpenClaw, or your favorite agent.

text
Install or upgrade browser-use to the latest stable version with uv using Python 3.12, run `browser-use skill install` to register the skill, and connect it to my browser. If setup or connection fails, follow https://github.com/browser-use/browser-harness/blob/main/install.md.

Path 3: Python Library

Run the Browser Use agent locally from Python, with your choice of model and a local or cloud browser:

1. Install Browser Use (Python >= 3.11):

With uv installed, run uv init --python 3.12 first if you're starting a new project.

bash
uv add browser-use

2. Add your OpenAI API key to .env:

bash
# .envOPENAI_API_KEY=your-key# BROWSER_USE_API_KEY=your-key  # Optional: BU2 model or cloud browser

For either optional Browser Use service, get a Browser Use API key.

3. Save this as agent.py:

python
import asyncio
from browser_use import Agent, Browser, ChatBrowserUse, ChatOpenAIfrom dotenv import load_dotenv
load_dotenv()
async def main():    llm = ChatOpenAI(model='gpt-5.6-luna', reasoning_effort='xhigh')    # llm = ChatBrowserUse(model='bu-2-0')  # Use BU2 instead; requires BROWSER_USE_API_KEY    agent = Agent(        task="Find the number of stars of the browser-use repo",        llm=llm,        # browser=Browser(use_cloud=True),  # Use a cloud browser; requires BROWSER_USE_API_KEY    )    history = await agent.run()    print(history.final_result())
if __name__ == "__main__":    asyncio.run(main())

To use BU2, replace the ChatOpenAI line with the commented ChatBrowserUse line. The cloud-browser option works with either model.

4. Run it:

bash
uv run agent.py

The agent opens a browser, looks up the repository, and prints its answer.

5. Run the same agent on a cloud browser (no Chrome to install; works in Docker, CI, and serverless):

Set BROWSER_USE_API_KEY (get a key), then uncomment the browser= line in agent.py and run it again:

python
    agent = Agent(        task="Find the number of stars of the browser-use repo",        llm=llm,        browser=Browser(use_cloud=True),    )

Cloud browsers cost $0.02 per browser-hour plus network traffic (pricing), and add stealth, residential proxies, CAPTCHA solving, and a live view URL. Same code, no other changes.

Python library docs ↗


Browser Use toolsets for Claude

Maintained by Browser Use. Compatible with Claude.

Use Claude's browser toolset with Browser Use as the driver. Browser Use implements all 31 browser actions and can control a local browser, a Browser Use Cloud browser, or an existing remote browser over CDP. Bash is included in the Browser Use integration for processing data and writing files.

[Claude uses Browser Use browser actions and Bash through the Anthropic SDK. The browser can be local or remote; Bash runs on the SDK host.]

Requires an Anthropic SDK version that includes anthropic.tools.browser. Bash requires a Linux or macOS host with /bin/bash; use WSL on Windows. The snippet below runs inside an async function; see the quickstart for a complete script.

python
import os
from anthropic import AsyncAnthropicfrom browser_use.integrations.toolsets_for_claude import Bash, BrowserUse
task = 'Open example.com and report its page title.'driver = BrowserUse()  # Or BrowserUse(use_cloud=True)bash = Bash(output_dir='outputs')
async with driver, AsyncAnthropic() as client:    runner = client.beta.messages.tool_runner(        model=os.environ['ANTHROPIC_MODEL'],        max_tokens=32_768,        max_iterations=100,        tools=[driver, bash],        messages=[{'role': 'user', 'content': task}],    )    result = await runner.until_done()

Quickstart ↗ · Integration docs ↗


Browser Use Benchmark v2

[Browser Use Benchmark v2 - Mean rubric score by model and cost per task]

This very hard benchmark targets the hardest browser tasks. On easier tasks, even smaller models can achieve very high success rates. Results shown are from a 60-task subset of BU Bench V2.

Integrations, hosting, custom tools, MCP, and more on our Docs ↗


FAQ

Should I use the fully hosted cloud, CLI, or Python library?
  • Fully Hosted Cloud: Send tasks through the API and let Browser Use run the agent, browser, and infrastructure.
  • CLI: Give an existing agent (Claude Code, Codex, Hermes, OpenClaw, Pi, Cursor, etc.) browser access. You can use it interactively or in scripts.
  • Python Library: Run the open source agent in your own application, with custom tools, structured output, and your choice of model.

The CLI and Python library can each connect to a local or cloud browser. A cloud browser hosts the browser; the fully hosted API runs the agent as well.

What's the best model to use?

We recommend BU2, our model optimized for browser automation: ChatBrowserUse(model='bu-2-0'). It uses BROWSER_USE_API_KEY; ChatBrowserUse() currently selects the same model.

The best choice depends on your tasks, latency, and budget. See the BU2 model card, benchmark, and supported models and pricing to compare options.

Can I use Claude / GPT / Gemini through ChatBrowserUse?

Yes. ChatBrowserUse accepts provider-prefixed model IDs through the Browser Use gateway, using BROWSER_USE_API_KEY:

python
from browser_use import Agent, ChatBrowserUse
llm = ChatBrowserUse(model='anthropic/claude-sonnet-4-6')  # or 'google/gemini-3-pro'agent = Agent(task='...', llm=llm)

You can also use providers directly through wrappers such as ChatOpenAI, ChatAnthropic, and ChatGoogle, with each provider's own API key. See supported models.

Do I need to provide a system prompt?

No. Agent(...) supplies the Browser Use system prompt automatically, including when you change models. Put your task in task=. Use extend_system_message to add instructions or override_system_message to replace the default prompt when you need custom behavior.

See the custom system prompt example.

Can I use custom tools with the agent?

Yes. Register a function with Tools and pass it to the agent. This example adds a tool for the current UTC time and uses BROWSER_USE_API_KEY from .env:

python
import asynciofrom datetime import datetime, timezone
from browser_use import ActionResult, Agent, ChatBrowserUse, Toolsfrom dotenv import load_dotenv
load_dotenv()tools = Tools()
@tools.action(description='Get the current date and time in UTC.')def get_current_time() -> ActionResult:    return ActionResult(extracted_content=datetime.now(timezone.utc).isoformat())
async def main():    agent = Agent(        task="What is the current UTC time?",        llm=ChatBrowserUse(model='bu-2-0'),        tools=tools,    )    history = await agent.run()    print(history.final_result())
if __name__ == "__main__":    asyncio.run(main())
Can I use this for free?

The Python library is free and MIT-licensed. Model inference and hosted browsers are separate: API providers, including ChatBrowserUse, and Browser Use Cloud charge for usage. You can also use a local browser and a local model through Ollama, subject to your hardware and model requirements.

Terms of Service

This open-source library is licensed under the MIT License. For Browser Use services & data policy, see our Terms of Service and Privacy Policy.

How do I handle authentication?
  • Local browser: Use Browser.from_system_chrome() to reuse a Chrome profile. See the real-browser guide and example.
  • Cloud browser: Follow the profile sync guide, then use Browser(use_cloud=True, cloud_profile_id='your-profile-id').

Profile sync transfers cookies, not local storage, IndexedDB, or extensions. Some sites may require you to sign in again.

How do I solve CAPTCHAs?

Browser Use Cloud provides stealth browsers and proxies designed to reduce bot detection and CAPTCHA challenges. With the Python library, enable a cloud browser with Browser(use_cloud=True) and set BROWSER_USE_API_KEY.

Results depend on the site and challenge; no browser configuration guarantees that every CAPTCHA can be avoided or solved.

How do I go into production?

Choose how much you want to manage:

  • Keep your agent code: Connect the CLI or Python library to cloud browsers for managed browser infrastructure, stealth, profiles, and recordings.
  • Have us run the agent too: Use the fully hosted Cloud API to submit tasks and retrieve results.

You can also host the Python library and browsers on your own infrastructure.

Can I rerun a task without calling the model on every step?

Yes. Save a successful run, then replay its clicks and typing with new values. The snippet below runs inside an async function:

python
from browser_use import Agent, ChatBrowserUse
llm = ChatBrowserUse()agent = Agent(task='Open https://example.com/billing and request an invoice copy for Ada Lovelace, [email protected]', llm=llm)await agent.run()agent.save_history('invoice_run.json')print(agent.detect_variables())  # names come from the form's fields, e.g. 'name' and 'email'
# Later: the same clicks and typing with new values, no model call per stepresults = await Agent(task='', llm=llm).load_and_rerun(    'invoice_run.json', variables={'name': 'Grace Hopper', 'email': '[email protected]'}, skip_failures=False)
  • Use the variable names detect_variables() prints. An unknown name is skipped with a warning, and the recorded value is typed instead.
  • Extract steps and the closing summary still call the model.
  • If the page changed, the replay raises RuntimeError at the first step it cannot match. The steps before it already ran, so check whether the form was sent before you run the agent again.
  • Keep the saved file private. With sensitive_data, typed secrets are saved as <secret>key</secret> placeholders, but page snapshots and results are saved as they were and can still contain them. Give the replaying agent the same sensitive_data; without it, the placeholder text is typed.

Example


Related Repositories

RepositoryWhat it's for
Browser HarnessOur CLI for giving AI agents control of your browser.
Browser Harness JSGive your JavaScript agent control of a real browser.
Browser Use PiRun a TypeScript browser agent built on Pi.
Cloud SDKIntegrate Browser Use Cloud into your application.
Video UseEdit videos with your coding agent.
macOS HarnessGive your agent control of Mac apps, browsers, and files.
BenchmarkExplore browser tasks and compare agent performance.

Citation

If you use Browser Use in your research or project, please cite:

bibtex
@software{browser_use2024,  author = {Müller, Magnus and Žunič, Gregor},  title = {Browser Use: Enable AI to control your browser},  year = {2024},  publisher = {GitHub},  url = {https://github.com/browser-use/browser-use}}

Tell your computer what to do, and it gets it done.

[圖片]

[Twitter Follow]     [Twitter Follow]

Made with ❤️ in Zurich and San Francisco

來源:README.md,提交 2cc7189

工具

2

browser_exec

Execute Python in the browser-harness session. Helpers like new_tab(url), goto_url(url), page_info(), click_at_xy(x, y), type_text(text), js(code), cdp(method, ...), wait_for_load(), list_tabs() are pre-imported. The namespace persists across calls. Returns whatever the code prints. First navigation should be new_tab(url).

輸入參數code必填

browser_screenshot

Capture the current page and return it as an image. Prefer this over capture_screenshot() in browser_exec.

輸入參數fullmax_dim

版本歷史

2
  1. v0.13.11最新Oct 21, 2026
  2. v0.13.5Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Browser-Use 整合