agent-sdk  by browser-use

Minimalist agent framework for LLM-powered applications

Created 1 week ago

New!

580 stars

Top 55.9% on SourcePulse

GitHubView on GitHub
Project Summary

<2-3 sentences summarising what the project addresses and solves, the target audience, and the benefit.> browser-use/agent-sdk provides a minimalist framework for building LLM-powered agents, emphasizing a simple "for-loop" execution model with minimal abstractions. It aims to empower developers by giving LLMs maximum freedom within a defined action space, making it ideal for researchers and engineers seeking direct control over agent behavior and leveraging the capabilities of advanced RL'd models. The framework powers BU.app and offers a direct path to agent development.

How It Works

The core design revolves around a straightforward for loop executing tool calls, eschewing complex abstractions. It operates on the principle that LLMs themselves hold the primary value, requiring only a complete action space, an explicit exit mechanism (via the done tool), and effective context management. This approach prioritizes simplicity and direct LLM interaction over framework-imposed magic.

Quick Start & Requirements

  • Primary install / run command: uv add bu-agent-sdk
  • Non-default prerequisites and dependencies: Python environment, access to LLM APIs (e.g., Anthropic, OpenAI, Google).
  • Links: Comprehensive examples are available in the bu_agent_sdk/examples/ directory, including claude_code.py (sandboxed coding assistant) and dependency_injection.py.

Highlighted Details

  • Done Tool Pattern: Enforces explicit task completion via a TaskComplete exception, preventing premature agent termination.
  • Ephemeral Messages: Manages context size by retaining only the last N messages for large outputs like browser states or screenshots.
  • Simple LLM Primitives: Offers a unified interface for multiple LLM providers (Anthropic, OpenAI, Google) with minimal provider-specific code (~300 lines).
  • Context Compaction: Automatically summarizes conversation history when approaching context limits to maintain efficiency.
  • Dependency Injection: Integrates a FastAPI-style system for type-safe dependency management within tools.
  • Streaming Events: Supports real-time event streaming (ToolCallEvent, ToolResultEvent, FinalResponseEvent) for dynamic agent feedback.
  • Sandboxed Execution: Includes examples demonstrating secure execution environments for code generation and file operations.

Maintenance & Community

No specific details regarding maintainers, community channels (like Discord/Slack), or roadmap were found in the provided README.

Licensing & Compatibility

The project is released under the MIT License, which is highly permissive and generally compatible with commercial use and closed-source applications.

Limitations & Caveats

The framework's minimalist philosophy, while powerful, places a greater onus on the developer to implement sophisticated agent behaviors and "vibe-restriction" through evaluation, rather than relying on extensive built-in guardrails. Complex agent orchestration might require significant custom development.

Health Check
Last Commit

1 week ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
1
Star History
581 stars in the last 11 days

Explore Similar Projects

Starred by Yiran Wu Yiran Wu(Coauthor of AutoGen) and Eric Zhu Eric Zhu(Coauthor of AutoGen; Research Scientist at Microsoft Research).

PocketFlow by The-Pocket

0.9%
10k
Minimalist LLM framework for agentic coding
Created 1 year ago
Updated 1 month ago
Starred by Jeff Hammerbacher Jeff Hammerbacher(Cofounder of Cloudera), Eric Zhu Eric Zhu(Coauthor of AutoGen; Research Scientist at Microsoft Research), and
9 more.

Qwen-Agent by QwenLM

0.5%
13k
Agent framework for LLM application development
Created 2 years ago
Updated 2 days ago
Feedback? Help us improve.