mirror of
https://github.com/browser-use/browser-use
synced 2026-05-13 17:56:35 +02:00
102 lines
3.2 KiB
Plaintext
102 lines
3.2 KiB
Plaintext
---
|
|
title: "Observability"
|
|
description: "Trace Browser Use's agent execution steps and capture browser session recording"
|
|
icon: "eye"
|
|
mode: "wide"
|
|
---
|
|
|
|
## Overview
|
|
|
|
Browser Use has a native integration with [Laminar](https://laminar.sh) - open-source platform for monitoring and analyzing error patterns in AI agents.
|
|
Laminar SDK automatically captures **agent execution steps, costs and browser session recordings** of Browser Use agent.
|
|
Browser session recordings allows developers to see full video replay of the browser session, which is useful for debugging Browser Use agent.
|
|
|
|
## Setup
|
|
|
|
Install Laminar python SDK.
|
|
```bash
|
|
pip install lmnr
|
|
```
|
|
|
|
Register on [Laminar Cloud](https://laminar.sh) or [self-host Laminar](https://github.com/lmnr-ai/lmnr), create a project and get the project API key from your project settings. Set the `LMNR_PROJECT_API_KEY` environment variable.
|
|
```bash
|
|
export LMNR_PROJECT_API_KEY=<your-project-api-key>
|
|
```
|
|
|
|
## Usage
|
|
|
|
Then, you simply initialize the Laminar at the top of your project and both Browser Use agent traces and session recordings will be automatically captured.
|
|
|
|
```python {7-9}
|
|
from browser_use import Agent, ChatGoogle
|
|
import asyncio
|
|
|
|
from lmnr import Laminar
|
|
import os
|
|
|
|
# At initialization time, Laminar auto-instruments
|
|
# Browser Use and any browser you use (local or remote)
|
|
Laminar.initialize(project_api_key=os.getenv('LMNR_PROJECT_API_KEY'))
|
|
|
|
async def main():
|
|
agent = Agent(
|
|
task="go to ycombinator.com, summarize 3 startups from the latest batch",
|
|
llm=ChatGoogle(model="gemini-2.5-flash"),
|
|
)
|
|
await agent.run()
|
|
|
|
asyncio.run(main())
|
|
```
|
|
|
|
## Viewing Traces
|
|
|
|
You can view traces in the Laminar UI by going to the traces tab in your project.
|
|
When you select a trace, you can see both the browser session recording and the agent execution steps.
|
|
|
|
Timeline of the browser session is synced with the agent execution steps.
|
|
In the trace view, you can also see the agent's current step, the tool it's using, and the tool's input and output.
|
|
|
|
<img className="block" src="/images/laminar.png" alt="Laminar" />
|
|
|
|
## Laminar
|
|
|
|
To learn more about how you can trace and evaluate your Browser Use agent with Laminar, check out [Laminar docs](https://docs.lmnr.ai).
|
|
|
|
## Browser Use Cloud Authentication
|
|
|
|
Browser Use can sync your agent runs to the cloud for easy viewing and sharing. Authentication is required to protect your data.
|
|
|
|
### Quick Setup
|
|
|
|
```bash
|
|
# Authenticate once to enable cloud sync for all future runs
|
|
browser-use auth
|
|
# Or if using module directly:
|
|
python -m browser_use.cli auth
|
|
```
|
|
|
|
**Note**: Cloud sync is enabled by default. If you've disabled it, you can re-enable with `export BROWSER_USE_CLOUD_SYNC=true`.
|
|
|
|
### Manual Authentication
|
|
|
|
```python
|
|
# Authenticate from code after task completion
|
|
from browser_use import Agent
|
|
|
|
agent = Agent(task="your task")
|
|
await agent.run()
|
|
|
|
# Later, authenticate for future runs
|
|
await agent.authenticate_cloud_sync()
|
|
```
|
|
|
|
### Reset Authentication
|
|
|
|
```bash
|
|
# Force re-authentication with a different account
|
|
rm ~/.config/browseruse/cloud_auth.json
|
|
browser-use auth
|
|
```
|
|
|
|
**Note**: Authentication uses OAuth Device Flow - you must complete the auth process while the command is running. Links expire when the polling stops.
|