复制安装命令
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
Browser Use lets an AI agent use a web browser the same way humans do — it opens pages, clicks b...
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
来源文件:README.md
Browser Use lets an AI agent use a web browser the same way humans do — it opens pages, clicks buttons, types, and fills in forms. You describe the task, and it completes it. For example, you can have it:
https://github.com/user-attachments/assets/485fd3ec-61b9-4afc-9e86-ee9b85acb592
If you want to use Browser Use in your agent (Claude Code, Codex, Cursor, Hermes, OpenClaw, etc.), paste this prompt, and it sets everything up itself:
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.
Then tell your agent what you want done.
Want to automate the web at scale, from your own code, and with any LLM? Use the Python library:
1. Install Browser Use (Python >= 3.11):
uv add browser-use
# or: pip install browser-use
2. Add your LLM API key to .env. Get one from Browser Use Cloud, or bring your own provider key:
# .env
BROWSER_USE_API_KEY=your-key
# GOOGLE_API_KEY=your-key
# ANTHROPIC_API_KEY=your-key
3. Run your first agent:
import asyncio
from browser_use import Agent, ChatBrowserUse
async def main():
agent = Agent(
task="Find the number of stars of the browser-use repo",
llm=ChatBrowserUse(model='openai/gpt-5.5'),
# llm=ChatBrowserUse(model='bu-2-0-mini-preview'), # Browser Use's optimized model
# llm=ChatOpenAI(model='gpt-5.5'),
# llm=ChatAnthropic(model='claude-opus-4-8'), # Sonnet also works well
)
history = await agent.run()
if __name__ == "__main__":
asyncio.run(main())
Check out the library docs and the cloud docs for more!
We benchmark Browser Use across 100 real-world browser tasks. Full benchmark is open source: browser-use/benchmark.
Browser Use is also #1 on the Odysseys leaderboard with an 87.4% average, ahead of computer-use agents from OpenAI, Anthropic, Google, and Microsoft. Odysseys measures the agent's performance on 200 long-horizon web tasks.
Use the Open-Source Agent
Use the Fully-Hosted Cloud Agent (recommended)
curl -X POST https://api.browser-use.com/api/v4/runs \
-H "X-Browser-Use-API-Key: $BROWSER_USE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"task": "Your task"}'
Use the CLI if you already have an agent (Claude Code, Codex, Cursor, Hermes, OpenClaw, etc.) that you want to complete browser tasks for you. The agent installs the skill once (see Quickstart) and can then control the browser. Examples:
Use the Python library when you are building software that automates the web. Examples:
Rule of thumb: one-off tasks through an agent → CLI. Repeatable automation in code → Python library.
We optimized ChatBrowserUse() specifically for browser automation tasks. On avg it completes tasks 3-5x faster than other models with SOTA accuracy.
For pricing and other LLM providers, see our supported models documentation.
Yes. ChatBrowserUse accepts provider-prefixed model ids, so a single BROWSER_USE_API_KEY reaches all of them — no separate OpenAI/Anthropic/Google keys required:
from browser_use import Agent, ChatBrowserUse
llm = ChatBrowserUse(model='anthropic/claude-sonnet-4-6') # or 'openai/gpt-5.5', 'google/gemini-3-pro'
agent = Agent(task='...', llm=llm)
For the best speed and cost we still recommend the default bu-* models.
Yes. If you use ChatBrowserUse(model='browser-use/bu-30b-a3b-preview') with a normal Agent(...), Browser Use still sends its default agent system prompt for you.
You do not need to add a separate custom "Browser Use system message" just because you switched to the open-source preview model. Only use extend_system_message or override_system_message when you intentionally want to customize the default behavior for your task.
If you want the best default speed/accuracy, we still recommend the newer hosted bu-* models. If you want the open-source preview model, the setup stays the same apart from the model= value.
Yes! You can add custom tools to extend the agent's capabilities:
from browser_use import Tools
tools = Tools()
@tools.action(description='Description of what this tool does.')
def custom_tool(param: str) -> str:
return f"Result: {param}"
agent = Agent(
task="Your task",
llm=llm,
browser=browser,
tools=tools,
)
Yes! Browser-Use is open source and free to use. You only need to choose an LLM provider (like OpenAI, Google, ChatBrowserUse, or run local models with Ollama).
This open-source library is licensed under the MIT License. For Browser Use services & data policy, see our Terms of Service and Privacy Policy.
Check out our authentication examples:
profile-use for your platform from the official releases, then follow the profile sync guide.These examples show how to maintain sessions and handle authentication seamlessly.
For CAPTCHA handling, you need better browser fingerprinting and proxies. Use Browser Use Cloud which provides stealth browsers designed to avoid detection and CAPTCHA challenges.
Chrome can consume a lot of memory, and running many agents in parallel can be tricky to manage.
For production use cases, use our Browser Use Cloud API which handles:
If you use Browser Use in your research or project, please cite:
@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}
}
name: remote-browser
description: Controls an isolated Browser Use Cloud browser from a sandboxed machine with the current Browser Use CLI.
allowed-tools: Bash(browser-use:*)Use this skill when an agent runs on a machine without a usable local Chrome and needs an isolated browser. The current Browser Use CLI runs Python from stdin. Do not use the removed open, state, click, input, tab, cloud connect, or --connect commands.
browser-use --doctor
browser-use skill show
If setup fails, follow the current Browser Use skill.
Authenticate once:
browser-use auth login
Pick a short unique name. r7k2 below is only an example.
browser-use <<'PY'
start_remote_daemon("r7k2")
PY
Use the same name for every command in this browser:
BU_NAME=r7k2 browser-use <<'PY'
new_tab("https://example.com")
wait_for_load()
print(page_info())
PY
Each remote daemon is a separate Browser Use Cloud browser. Use a different name for each parallel task. Remote browsers can bill until they stop or time out.
Helpers are pre-imported. Keep multi-step work in one heredoc when practical.
BU_NAME=r7k2 browser-use <<'PY'
print(page_info())
print(js("document.title"))
fill_input('input[name="q"]', "browser automation")
press_key("Enter")
wait_for_load()
print(page_info())
PY
Useful helpers:
new_tab(url), goto_url(url), wait_for_load()page_info(), js(code), cdp(method, ...)click_at_xy(x, y), type_text(text), fill_input(selector, text), press_key(key), scroll(x, y)list_tabs(), switch_tab(target), close_tab(target)capture_screenshot(), wait_for_element(selector)Prefer the accessibility tree for element discovery:
nodes = cdp("Accessibility.getFullAXTree")["nodes"]
Use a targeted js(...) query when the accessibility tree lacks the element. Verify each action with page_info(), a focused DOM check, or a screenshot.
When the work is done, stop the exact named browser:
browser-use <<'PY'
stop_remote_daemon("r7k2")
PY
Do not leave an unused remote browser running.
评论 (0)
暂无评论,成为第一个评论者吧!