Files
Saurav Panda 9be28bcea1 feat(llm): default ChatBrowserUse to bu-2-0-mini-preview
Adds bu-2-0-mini-preview as an accepted model id and makes it the
constructor default, so a bare ChatBrowserUse() now routes there.

bu-2-0 is unchanged: still accepted, still documented as the premium
option, and bu-latest still resolves to it. Keeping 'latest' on the
stable line means existing callers pinned to that alias do not silently
move onto a preview model; only the bare-constructor default moves.

Pricing is registered alongside the model so cost tracking does not
silently report $0 for what is now the default. This model has no cache
discount, so cached reads bill at the input rate.

Examples, README and the model reference are updated to the new default.
The model reference also claimed bu-latest resolved to bu-1-0, which has
not been true since bu-2-0 shipped; corrected here.
2026-08-13 11:05:57 -07:00

64 lines
1.7 KiB
Python

"""Example of using sandbox execution with Browser-Use Agent
This example demonstrates how to use the @sandbox decorator to run
browser automation tasks with the Agent in a sandbox environment.
To run this example:
1. Set your BROWSER_USE_API_KEY environment variable
2. Set your LLM API key (OPENAI_API_KEY, ANTHROPIC_API_KEY, etc.)
3. Run: python examples/sandbox_execution.py
"""
import asyncio
import os
from browser_use import Browser, ChatBrowserUse, sandbox
from browser_use.agent.service import Agent
# Example with event callbacks to monitor execution
def on_browser_ready(data):
"""Callback when browser session is created"""
print('\n🌐 Browser session created!')
print(f' Session ID: {data.session_id}')
print(f' Live view: {data.live_url}')
print(' Click the link above to watch the AI agent work!\n')
@sandbox(
log_level='INFO',
on_browser_created=on_browser_ready,
# server_url='http://localhost:8080/sandbox-stream',
# cloud_profile_id='21182245-590f-4712-8888-9611651a024c',
# cloud_proxy_country_code='us',
# cloud_timeout=60,
)
async def pydantic_example(browser: Browser):
agent = Agent(
"""go and check my ip address and the location. return the result in json format""",
browser=browser,
llm=ChatBrowserUse(model='bu-2-0-mini-preview'),
)
res = await agent.run()
return res.final_result()
async def main():
"""Run examples"""
# Check if API keys are set
if not os.getenv('BROWSER_USE_API_KEY'):
print('❌ Please set BROWSER_USE_API_KEY environment variable')
return
print('\n\n=== Search with AI Agent (with live browser view) ===')
search_result = await pydantic_example()
print('\nResults:')
print(search_result)
if __name__ == '__main__':
asyncio.run(main())