mirror of
https://github.com/browser-use/browser-use.git
synced 2026-09-14 19:59:47 +08:00
9be28bcea1
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.
64 lines
1.7 KiB
Python
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())
|