Vibeleaderboard
Index / tool
Visit github.com
Category
AI Agents
Rank
Pricing
Open Source
Type
TOOL
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 pagesExecuted browser actions (clicks, form fills, navigation)

  • Create browser automation agents

    LLM model and automation requirementsConfigured browser agent capable of autonomous web tasks

  • Control Chromium browser sessions programmatically

    SDK commands and browser targetsReal-time browser session control and manipulation

  • Execute LLM-driven web navigation

    Natural language instructions and target websitesIntelligent browser navigation and interaction sequences

  • Build custom browser automation workflows

    SDK primitives and workflow specificationsDeployable browser automation applications

  • Extract data from web pages autonomously

    Target websites and data extraction requirementsStructured data scraped from web pages

Tags

browseragentsdkpythonautomation

Tech Stack

Python

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.