
Browser-Use Agent SDK
https://github.com/browser-use/agent-sdk- Category
- AI Agents
- Rank
- No. 856Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- browser-use
- GitHub
- 686 stars
- Date
About
SDK for building browser agents on top of Browser-Use. Programmatic primitives for automating real Chromium sessions with an LLM.
What it does
A compact Python framework that repeatedly asks a chosen language model what to do, executes registered tools, records results, and continues until completion. It also manages conversation size, streams execution events, tracks token usage, and can inject scoped dependencies into tools.
Why it's ranked here
The core loop stays understandable while covering several problems that basic agent examples ignore: explicit completion, bounded retention for large outputs, context compaction, retries, streaming events, and provider-neutral messages. The important caveat is scope. The supplied repository presents a general tool-calling framework, not built-in browser controls. Browser behavior must come from tools you provide.
What's good
Explicit completion prevents an agent from treating a tool-free response as success. Ephemeral outputs can retain only recent browser state or screenshots, with optional disk storage for removed content. Streaming exposes text, reasoning, tool calls, results, steps, errors, and final responses. Dependency overrides make scoped resources and test doubles practical.
Tradeoffs
The package installs several provider clients as required dependencies even though matching optional dependency groups also exist. Browser automation is not among the declared dependencies, so the advertised browser role depends on separately supplied tools. The package is classified as alpha. The documented top-level quick-start imports also exceed what the shown top-level exports expose.
How to use it well
Pick it when you want direct ownership of an asynchronous tool loop and need provider choice, event streaming, context control, or dependency injection without a large orchestration layer. Define narrow tools, require explicit completion for autonomous work, and mark bulky state as ephemeral. Bring a separate browser-control layer, sandbox policy, and application interface.
Technical notes+
bu_agent_sdk/agent/service.py implements the loop, retry settings, explicit TaskComplete signaling, ephemeral-message destruction, optional persistence, compaction, and usage tracking. bu_agent_sdk/agent/events.py defines the streaming event union. bu_agent_sdk/llm/base.py provides the BaseChatModel protocol, while bu_agent_sdk/llm/__init__.py resolves chat classes through _LAZY_IMPORTS and caches requested model instances in _model_cache; bu_agent_sdk/llm/models.py also creates named instances through module-level __getattr__. bu_agent_sdk/llm/schema.py flattens Pydantic references and forces strict object schemas. One integration mismatch is visible: README.md imports tool and TaskComplete from the package root, but bu_agent_sdk/__init__.py exports only Agent and observability symbols.
Observed
- License
- MIT
- Primary language
- Python
- Python support
- Requires Python 3.11 or newer; classifiers include Python 3.11, 3.12, and 3.13.
- Packaging
- Hatchling build backend; install surface is the bu-agent-sdk Python package via uv.
- Interface
- Asynchronous Python library with direct queries and streamed agent events.
- Declared model dependencies
- Anthropic, OpenAI, and Google GenAI clients are required dependencies; matching optional dependency groups are also declared.
- Browser integration
- No Browser-Use or Chromium package appears in the declared dependencies.
Read from README.md, pyproject.toml, bu_agent_sdk/__init__.py, bu_agent_sdk/observability.py, bu_agent_sdk/llm/base.py, bu_agent_sdk/llm/views.py, bu_agent_sdk/llm/models.py, bu_agent_sdk/llm/schema.py, bu_agent_sdk/llm/__init__.py, bu_agent_sdk/agent/events.py, bu_agent_sdk/llm/messages.py, bu_agent_sdk/tokens/views.py, bu_agent_sdk/agent/service.py, bu_agent_sdk/tools/depends.py, bu_agent_sdk/agent/__init__.py.
What it can do
Automate web browser interactions
Browser automation commands and target web pages → Executed browser actions (clicks, form fills, navigation)
Create browser automation agents
LLM model and automation requirements → Configured browser agent capable of autonomous web tasks
Control Chromium browser sessions programmatically
SDK commands and browser targets → Real-time browser session control and manipulation
Execute LLM-driven web navigation
Natural language instructions and target websites → Intelligent browser navigation and interaction sequences
Build custom browser automation workflows
SDK primitives and workflow specifications → Deployable browser automation applications
Extract data from web pages autonomously
Target websites and data extraction requirements → Structured data scraped from web pages
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.