Skip to main content

Make websites accessible for AI agents

Project description

Browser Use - Narrative's custom fork

Latest merged official tags

  1. tags/0.1.41 (https://github.com/browser-use/browser-use/tree/0.1.41)

Development Setup

1. Clone the Repository

git clone https://github.com/trynarrative/tn-browser-use.git
cd tn-browser-use

2. Initial Setup

Create and activate a virtual environment:

uv venv --python 3.11

source .venv/bin/activate  # On Windows use: .venv\Scripts\activate

Install dependencies:

uv pip install -e ".[dev]"

playwright install

Setup env

cp .env.example .env

3. Making Changes

prod is our main branch.

Create a new branch for your changes:

git checkout origin prod

git checkout -b user/your-feature-name

Stage and commit your changes:

git add .

git commit -m "Description of your changes"

Push your changes, raise PR to prod:

git push origin user/your-feature-name

4. Publishing to PyPI

Ref: https://packaging.python.org/en/latest/tutorials/packaging-projects/

  1. Update version in pyproject.toml
  2. Build the package:
python -m build
  1. Upload to PyPI:
uv pip install twine # Install if not present

python -m twine upload dist/* # Get API token from teammate

5. Syncing with Upstream

To keep your fork in sync with the upstream repository:

# Add upstream remote if not already added
git remote add upstream https://github.com/browser-use/browser-use.git

# Fetch upstream changes
git fetch upstream

# Merge upstream changes into your main branch
git checkout main
git merge upstream/main

# Push changes to your fork
git push origin main

# And carefully merge with prod
git checkout main
git merge upstream/main

# And merge with prod branch by forking from latest relase tag
git checkout tags/v1.2.3 -b my-custom-version

OTHER DOCS

Shows a black Browser Use Logo in light color mode and a white one in dark color mode.

Enable AI to control your browser 🤖

GitHub stars Discord Cloud Documentation Twitter Follow Twitter Follow Weave Badge

🌐 Browser-use is the easiest way to connect your AI agents with the browser.

💡 See what others are building and share your projects in our Discord! Want Swag? Check out our Merch store.

🌤️ Skip the setup - try our hosted version for instant browser automation! Try the cloud ☁︎.

Quick start

With pip (Python>=3.11):

pip install browser-use

Install Playwright:

playwright install chromium

Spin up your agent:

from langchain_openai import ChatOpenAI
from browser_use import Agent
import asyncio
from dotenv import load_dotenv
load_dotenv()

async def main():
    agent = Agent(
        task="Compare the price of gpt-4o and DeepSeek-V3",
        llm=ChatOpenAI(model="gpt-4o"),
    )
    await agent.run()

asyncio.run(main())

Add your API keys for the provider you want to use to your .env file.

OPENAI_API_KEY=
ANTHROPIC_API_KEY=
AZURE_ENDPOINT=
AZURE_OPENAI_API_KEY=
GEMINI_API_KEY=
DEEPSEEK_API_KEY=
GROK_API_KEY=
NOVITA_API_KEY=

For other settings, models, and more, check out the documentation 📕.

Test with UI

You can test browser-use with a UI repository

Or simply run the gradio example:

uv pip install gradio
python examples/ui/gradio_demo.py

Demos



Task: Add grocery items to cart, and checkout.

AI Did My Groceries



Prompt: Add my latest LinkedIn follower to my leads in Salesforce.

LinkedIn to Salesforce



Prompt: Read my CV & find ML jobs, save them to a file, and then start applying for them in new tabs, if you need help, ask me.'

https://github.com/user-attachments/assets/171fb4d6-0355-46f2-863e-edb04a828d04



Prompt: Write a letter in Google Docs to my Papa, thanking him for everything, and save the document as a PDF.

Letter to Papa



Prompt: Look up models with a license of cc-by-sa-4.0 and sort by most likes on Hugging face, save top 5 to file.

https://github.com/user-attachments/assets/de73ee39-432c-4b97-b4e8-939fd7f323b3



More examples

For more examples see the examples folder or join the Discord and show off your project.

Vision

Tell your computer what to do, and it gets it done.

Roadmap

Agent

  • Improve agent memory (summarize, compress, RAG, etc.)
  • Enhance planning capabilities (load website specific context)
  • Reduce token consumption (system prompt, DOM state)

DOM Extraction

  • Improve extraction for datepickers, dropdowns, special elements
  • Improve state representation for UI elements

Rerunning tasks

  • LLM as fallback
  • Make it easy to define workflow templates where LLM fills in the details
  • Return playwright script from the agent

Datasets

  • Create datasets for complex tasks
  • Benchmark various models against each other
  • Fine-tuning models for specific tasks

User Experience

  • Human-in-the-loop execution
  • Improve the generated GIF quality
  • Create various demos for tutorial execution, job application, QA testing, social media, etc.

Contributing

We love contributions! Feel free to open issues for bugs or feature requests. To contribute to the docs, check out the /docs folder.

Local Setup

To learn more about the library, check out the local setup 📕.

main is the primary development branch with frequent changes. For production use, install a stable versioned release instead.


Cooperations

We are forming a commission to define best practices for UI/UX design for browser agents. Together, we're exploring how software redesign improves the performance of AI agents and gives these companies a competitive advantage by designing their existing software to be at the forefront of the agent age.

Email Toby to apply for a seat on the committee.

Swag

Want to show off your Browser-use swag? Check out our Merch store. Good contributors will receive swag for free 👀.

Citation

If you use Browser Use in your research or project, please cite:

@software{browser_use2024,
  author = {Müller, Magnus and Žunič, Gregor},
  title = {Browser Use: Enable AI to control your browser},
  year = {2024},
  publisher = {GitHub},
  url = {https://github.com/browser-use/browser-use}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tn_browser_use-0.1.44.tar.gz (104.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tn_browser_use-0.1.44-py3-none-any.whl (119.4 kB view details)

Uploaded Python 3

File details

Details for the file tn_browser_use-0.1.44.tar.gz.

File metadata

  • Download URL: tn_browser_use-0.1.44.tar.gz
  • Upload date:
  • Size: 104.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for tn_browser_use-0.1.44.tar.gz
Algorithm Hash digest
SHA256 5f22bc9c31af9ca116e5b8ff7df6738b11a29ca6eefa21c09caa3a875fe03aa0
MD5 0f1f77ecdc9926def9d6ca32fbaae29c
BLAKE2b-256 6d3379c19965953b4df01377590d593a58800a739d86996ffcd3c288925d0cc2

See more details on using hashes here.

File details

Details for the file tn_browser_use-0.1.44-py3-none-any.whl.

File metadata

  • Download URL: tn_browser_use-0.1.44-py3-none-any.whl
  • Upload date:
  • Size: 119.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for tn_browser_use-0.1.44-py3-none-any.whl
Algorithm Hash digest
SHA256 2a8d8fb8a11d5714c4b35edcb72b162f0b5d0712c9d1990bdcd96fa777a863df
MD5 2b7154085c5c16a886bdee2ab2bd7592
BLAKE2b-256 4764826dd80fcc1a988c6e304e62d2bb33308c935c0c8a80c6eeb9775cb2ca6f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page