openbrowser-ai
billy-enrizky · billy-enrizky/openbrowser-ai
Plugin này cho phép các AI agent như Claude Code tự động điều hướng, tương tác và trích xuất thông tin từ các trang web bằng cách viết và thực thi mã Python để tự động hóa trình duyệt thông minh.
OpenBrowser is a framework for intelligent browser automation. It combines direct CDP communication with a CodeAgent architecture, where the LLM writes Python code executed in a persistent namespace, to navigate, interact with, and extract information from web pages autonomously.
Xem trước
Bạn có thể làm gì với nó
- Tự động cạo dữ liệu thông tin sản phẩm từ các trang web thương mại điện tử như Walmart.
- Tự động hóa các tác vụ lặp đi lặp lại như đặt vé máy bay hoặc điền biểu mẫu trên bất kỳ trang web nào.
- Xây dựng các agent trích xuất dữ liệu web tùy chỉnh có thể thích ứng với các thay đổi của trang web bằng mã do AI tạo ra.
Kiểm tra an toàn
Dùng được, nhưng nên đọc ghi chú trước.
- ●Bảo agent tải và chạy một script từ xa.
plugin/skills/accessibility-audit/SKILL.md - ●Trình cài đặt tải script từ xa và chạy thẳng bằng shell.
install.sh - ●Yêu cầu quyền quản trị (sudo).
install.sh
Quét tự động các file trong repo. Luôn xem lại code trước khi chạy.
Trích từ README
OpenBrowser
AI browser automation, powered by code.
Cloud dashboard for saved cookies and scheduled tasks is available in the hosted version. Join the waitlist for early access: https://openbrowser.me :
https://github.com/user-attachments/assets/b17f97f3-f9f8-4707-8e39-abbbbe1a693b
Automating Walmart Product Scraping:
https://github.com/user-attachments/assets/c517c739-9199-47b0-bac7-c2c642a21094
OpenBrowserAI Automatic Flight Booking:
https://github.com/user-attachments/assets/632128f6-3d09-497f-9e7d-e29b9cb65e0f
OpenBrowserAI Automatic Form Filling:
https://github.com/user-attachments/assets/16f7ef1a-beb1-45e2-a733-9592536e0ef7
AI-powered browser automation using CodeAgent and CDP (Chrome DevTools Protocol)
OpenBrowser is a framework for intelligent browser automation. It combines direct CDP communication with a CodeAgent architecture, where the LLM writes Python code executed in a persistent namespace, to navigate, interact with, and extract information from web pages autonomously.
Table of Contents
- Documentation
- Key Features
- Installation
- Quick Start
- Configuration
- Supported LLM Providers
- Claude Code Plugin
- Codex
- OpenCode
- OpenClaw
- MCP Server
- Benchmark: Token Efficiency
- CLI Usage
- Project Structure
- Backend and Frontend Deployment
- Testing
- Research: Reinforcement Fine-Tuning for Browser Agents
- Contributing
- License
- Contact
Documentation
Full documentation: https://docs.openbrowser.me
Key Features
- CodeAgent Architecture - LLM writes Python code in a persistent Jupyter-like namespace for browser automation
- Raw CDP Communication - Direct Chrome DevTools Protocol for maximum control and speed
- Vision Support - Screenshot analysis for visual understanding of pages
- 15 LLM Providers - OpenAI, Anthropic, Google, Groq, AWS Bedrock, Azure, Ollama, DeepSeek, Cerebras, OpenRouter, OCI, and more
- MCP Server - Model Context Protocol for Claude Desktop, Claude Code, Codex, OpenCode, and other AI assistants, with reusable saved login sessions
- CLI Daemon - Persistent browser daemon with
-cflag for direct code execution from Bash, saved login state, and 10-minute auto-shutdown - Workflow Recording - Record, replay, and export browser sessions to Jupyter notebooks or API crawler code
- Video Recording - Record browser sessions as video files with ffmpeg
- Cloud Platform - Full-stack web UI with real-time VNC streaming, saved logins (KMS-encrypted), scheduled workflows (EventBridge + SQS), and email notifications (SES)
- Plugin System - Claude Code plugin with 7 guided skills (deep research, web scraping, form filling, e2e testing, page analysis, accessibility audit, file download)
Installation
Quick install (macOS / Linux)
curl -fsSL https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/main/install.sh | sh
Quick install (Windows PowerShell)
irm https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/main/install.ps1 | iex
Detects uv, pipx, or pip and installs OpenBrowser automatically.
Install to ~/.local/bin without sudo:
curl -fsSL https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/main/install.sh | sh -s -- --local
Homebrew (macOS / Linux)
brew tap billy-enrizky/openbrowser
brew install openbrowser-ai
pip
pip install openbrowser-ai
uv (recommended)
uv pip install openbrowser-ai
uvx (zero install)
Run directly without installing -- uvx downloads and caches the package automatically:
# MCP server mode
uvx openbrowser-ai --mcp
# CLI daemon mode
uvx openbrowser-ai -c "await navigate('https://example.com')"
pipx
pipx install openbrowser-ai
From source
git clone https://github.com/billy-enrizky/openbrowser-ai.git
cd openbrowser-ai
uv pip install -e ".[agent]"
Optional Dependencies
pip install openbrowser-ai[agent] # LLM agent support (langgraph, langchain, litellm)
pip install openbrowser-ai[all] # All LLM providers
pip install openbrowser-ai[anthropic] # Anthropic Claude
pip install openbrowser-ai[groq] # Groq
pip install openbrowser-ai[ollama] # Ollama (local models)
pip install openbrowser-ai[aws] # AWS Bedrock
pip install openbrowser-ai[azure] # Azure OpenAI
pip install openbrowser-ai[video] # Video recording support
No separate browser install needed. OpenBrowser auto-detects any installed Chromium-based browser (Chrome, Edge, Brave, Chromium) and uses it directly. If none is found and
uvxis available, Chromium is installed automatically on first run. To pre-install manually (requiresuvx):openbrowser-ai install
Quick Start
Basic Usage
import asyncio
from openbrowser import CodeAgent, ChatGoogle
async def main():
agent = CodeAgent(
task="Go to google.com and search for 'Python tutorials'",
llm=ChatGoogle(model="gemini-3-flash"),
)
result = await agent.run()
print(f"Result: {result}")
asyncio.run(main())
With Different LLM Providers
from openbrowser import CodeAgent, ChatOpenAI, ChatAnthropic, ChatGoogle
# OpenAI
agent = CodeAgent(task="...", llm=ChatOpenAI(model="gpt-5.2"))
# Anthropic
agent = CodeAgent(task="...", llm=ChatAnthropic(model="claude-sonnet-4-6"))
# Google Gemini
agent = CodeAgent(task="...", llm=ChatGoogle(model="gemini-3-flash"))