Sistema de automação de navegador baseado em Playwright com gerenciamento automático de sessões e métricas de desempenho.
- Python 3.8+
- PostgreSQL 12+
- Playwright
- psutil
- Clone o repositório:
git clone https://github.com/seu-usuario/browser-use.git
cd browser-use
- Crie um ambiente virtual e ative-o:
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
- Instale as dependências:
pip install -r requirements.txt
- Configure o arquivo .env:
cp .env.example .env
# Edite o arquivo .env com suas configurações
- Instale os navegadores do Playwright:
playwright install
- Inicie o servidor:
./start.sh
- Execução de Tarefas
curl -X POST http://localhost:8000/run \
-H "Content-Type: application/json" \
-d '{
"task": "navigate",
"config": {
"url": "https://google.com",
"timeout": 30000,
"viewport": {
"width": 1280,
"height": 720
}
}
}'
- Métricas do Sistema
curl http://localhost:8000/metrics
- Gerenciamento de Tarefas
# Listar tarefas
curl http://localhost:8000/tasks
# Obter detalhes de uma tarefa
curl http://localhost:8000/tasks/{task_id}
# Criar nova tarefa
curl -X POST http://localhost:8000/tasks \
-H "Content-Type: application/json" \
-d '{"task": "navigate", "config": {...}}'
# Atualizar tarefa
curl -X PUT http://localhost:8000/tasks/{task_id} \
-H "Content-Type: application/json" \
-d '{"status": "completed"}'
# Deletar tarefa
curl -X DELETE http://localhost:8000/tasks/{task_id}
O sistema pode ser configurado através do arquivo .env
. As principais configurações incluem:
- Banco de Dados: Configurações do PostgreSQL
- Servidor: Host e porta
- Playwright: Caminho dos navegadores e modo headless
- Log: Nível de log e arquivo de saída
- Segurança: Chave secreta e origens permitidas
- Cache: Tempo de vida e ativação
- Sessões: Timeout e número máximo
O sistema coleta métricas detalhadas sobre:
- Tempo de execução de tarefas
- Uso de recursos (CPU, memória, disco)
- Estatísticas de sessões
- Erros e exceções
- Tempo de resposta da API
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature
) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature'
) - Push para a branch (
git push origin feature/AmazingFeature
) - Abra um Pull Request
Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para detalhes.

🌐 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 ☁︎.
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 📕.
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
Task: Add grocery items to cart, and checkout.
Prompt: Add my latest LinkedIn follower to my leads in 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.'
apply.to.jobs.8x.mp4
Prompt: Write a letter in Google Docs to my Papa, thanking him for everything, and save the document as a PDF.
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.
hugging_face_high_quality.mp4
For more examples see the examples folder or join the Discord and show off your project.
Tell your computer what to do, and it gets it done.
- Improve agent memory (summarize, compress, RAG, etc.)
- Enhance planning capabilities (load website specific context)
- Reduce token consumption (system prompt, DOM state)
- Improve extraction for datepickers, dropdowns, special elements
- Improve state representation for UI elements
- LLM as fallback
- Make it easy to define workflow templates where LLM fills in the details
- Return playwright script from the agent
- Create datasets for complex tasks
- Benchmark various models against each other
- Fine-tuning models for specific tasks
- Human-in-the-loop execution
- Improve the generated GIF quality
- Create various demos for tutorial execution, job application, QA testing, social media, etc.
We love contributions! Feel free to open issues for bugs or feature requests. To contribute to the docs, check out the /docs
folder.
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.
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.
Want to show off your Browser-use swag? Check out our Merch store. Good contributors will receive swag for free 👀.
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}
}