
Openbrowser Ai
me.openbrowser由 openbrowser.me 發布v0.1.54更新於 Oct 24, 2026
AI browser automation. Write async Python to navigate, click, type, and extract data.
概覽
本機 MCP 伺服器,讓助理透過撰寫並執行 Python 程式碼來操作 Chromium 瀏覽器,完成導覽、點擊、輸入與資料擷取。
- 可以做什麼
- 透過單一 execute_code 工具在持續存在的命名空間中執行 Python 程式碼,只回傳明確要求的結果。導覽頁面、上一頁、等待,切換或關閉分頁。點擊、輸入文字、捲動、送出按鍵、上傳檔案,並對畫布、PDF 或嵌入內容使用座標操作。讀取頁面狀態與可互動元素,取得 CSS 選擇器,在頁面中執行 JavaScript。選擇下拉選項,使用瀏覽器 Cookie 下載檔案並列出已下載檔案。
- 適用情境
- 適合需要助理操作真實網站的場合:跨頁擷取結構化資料、填寫表單與登入流程、端對端測試網頁應用程式、稽核頁面,或下載需要登入工作階段的檔案。
- 執行需求
- 以 Python 套件形式在桌面本機執行(uvx openbrowser-ai --mcp)。需要 Chromium 系列瀏覽器;若系統有 uvx,首次執行會自動安裝 Chromium。MCP 模式不需要 LLM API 金鑰。選用環境變數:OPENBROWSER_HEADLESS、OPENBROWSER_ALLOWED_DOMAINS、OPENBROWSER_USER_DATA_DIR、OPENBROWSER_STORAGE_STATE、OPENBROWSER_MAX_OUTPUT、OPENBROWSER_COMPACT_DESCRIPTION、ANONYMIZED_TELEMETRY。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Openbrowser Ai,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
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
[PyPI version] [Downloads] [Python 3.12+] [License: MIT] [Tests] [Coverage]
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)
Quick install (Windows PowerShell)
Detects uv, pipx, or pip and installs OpenBrowser automatically.
Install to ~/.local/bin without sudo:
Homebrew (macOS / Linux)
pip
uv (recommended)
uvx (zero install)
Run directly without installing -- uvx downloads and caches the package automatically:
pipx
From source
Optional Dependencies
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
With Different LLM Providers
Using Browser Session Directly
Configuration
Environment Variables
BrowserProfile Options
Supported LLM Providers
Claude Code Plugin
Install OpenBrowser as a Claude Code plugin:
This installs the MCP server and 7 built-in skills:
See plugin/README.md for detailed tool parameter documentation.
Codex
OpenBrowser works with OpenAI Codex via native skill discovery.
Quick Install
Tell Codex:
Manual Install
Then configure the MCP server in your project (see MCP Server below).
Detailed docs: .codex/INSTALL.md
OpenCode
OpenBrowser works with OpenCode.ai via plugin and skill symlinks.
Quick Install
Tell OpenCode:
Manual Install
Then configure the MCP server in your project (see MCP Server below).
Detailed docs: .opencode/INSTALL.md
OpenClaw
OpenClaw supports OpenBrowser via the CLI daemon. Install OpenBrowser,
then use openbrowser-ai -c from the Bash tool:
The daemon starts automatically on first use and persists variables across calls.
For OpenClaw plugin documentation, see docs.openclaw.ai/tools/plugin.
MCP Server
OpenBrowser includes an MCP (Model Context Protocol) server that exposes browser automation as tools for AI assistants like Claude. Listed on the MCP Registry as me.openbrowser/openbrowser-ai. No external LLM API keys required -- the MCP client provides the intelligence.
By default, each MCP server process uses an isolated profile under ~/.config/openbrowser/profiles/mcp-<instance-id>. Its storage_state.json is seeded once from ~/.config/openbrowser/profiles/default/storage_state.json, so existing logins are available without allowing concurrent MCP servers to kill or corrupt one another's browser. The per-process profile is retained on disk but is not automatically reused by a later MCP process. Configure OPENBROWSER_USER_DATA_DIR for a profile that survives restarts; OPENBROWSER_STORAGE_STATE is a one-time seed for managed profiles, and later changes are saved to the active per-process copy rather than copied back automatically. OpenBrowser also auto-cleans disposable Chromium caches in managed profiles, which keeps disk usage down without deleting cookies or login state. If you explicitly configure the same OPENBROWSER_USER_DATA_DIR for multiple servers, the profile lease rejects the second owner with a clear error.
Quick Setup
Claude Code: add to your project's .mcp.json:
Claude Desktop: add to ~/Library/Application Support/Claude/claude_desktop_config.json:
Run directly:
Tool
The MCP server exposes a single execute_code tool that runs Python code in a persistent namespace with browser automation functions. The LLM writes Python code to navigate, interact, and extract data, returning only what was explicitly requested.
Available functions (use await unless noted):
Prefer indexed actions whenever an element index exists. Coordinate actions use CSS viewport pixels, not screenshot pixels. If a screenshot uses a devicePixelRatio other than 1, divide its coordinates by window.devicePixelRatio before calling an *_xy function.
Pre-imported libraries: json, csv, re, datetime, asyncio, Path, requests, numpy, pandas, matplotlib, BeautifulSoup
Configuration
Benchmark: Token Efficiency
CLI Benchmark: 4-Way Comparison (6 Tasks, N=3 runs)
Four CLI tools compared with a single Bash tool each. Claude Sonnet 4.6 on Bedrock. Randomized order. All achieve 100% accuracy.
[CLI Benchmark: Token Usage vs Duration]
openbrowser-ai uses 2.1-2.6x fewer tokens than all competitors via Python code batching and compact DOM representation.
Per-Task Token Usage
[CLI Benchmark: Per-Task Token Usage]
openbrowser-ai wins 5 of 6 tasks. The advantage is largest on complex pages (search_navigate: 2.9x fewer tokens than browser-use) where code batching avoids repeated page state dumps.
Cost per Benchmark Run (6 Tasks)
Raw results are in benchmarks/e2e_4way_cli_results.json. Full 4-way comparison with methodology.
E2E LLM Benchmark: MCP Server Comparison (6 Tasks, N=5 runs)
[E2E LLM Benchmark: MCP Server Comparison]
OpenBrowser uses 3.2x fewer tokens than Playwright and 6.0x fewer than Chrome DevTools. MCP response sizes: Playwright 1,132,173 chars, Chrome DevTools 1,147,244 chars, OpenBrowser 7,853 chars -- a 144x difference.
Full MCP comparison with methodology
CLI Usage
The -c flag connects to a persistent browser daemon over a Unix socket (localhost TCP on Windows). Variables persist across calls while the daemon is running. The daemon starts automatically on first use and shuts down after 10 minutes of inactivity.
The CLI daemon stores its browser profile in ~/.config/openbrowser/profiles/daemon and also writes storage_state.json there, so cookies and login sessions survive daemon restarts. One-shot -p runs use ~/.config/openbrowser/profiles/cli with the same storage-state behavior. Managed profiles automatically clear disposable browser caches on startup and shutdown while keeping auth state.
Project Structure
Testing
Benchmarks
Run individual MCP server benchmarks (JSON-RPC stdio, 5-step Wikipedia workflow):
Raw results are in benchmarks/e2e_4way_cli_results.json. See full comparison for methodology.
Backend and Frontend Deployment
The project includes a FastAPI backend and a Next.js frontend, both containerized with Docker.
Prerequisites
- Docker and Docker Compose
- A
.envfile in the project root withPOSTGRES_PASSWORDand any LLM API keys (seebackend/env.example)
Local Development (Docker Compose)
The dev compose mounts backend/app/ and src/ as volumes for hot-reload. API keys are loaded from backend/.env via env_file. The POSTGRES_PASSWORD is read from the root .env file.
Full Stack (Docker Compose)
This builds and runs both the backend and frontend containers together with PostgreSQL.
Backend
The backend is a FastAPI application in backend/ with a Dockerfile at backend/Dockerfile. It includes:
- REST API on port 8000
- WebSocket endpoint at
/wsfor real-time agent communication - VNC support (Xvfb + x11vnc + websockify) for live browser viewing on ports 6080-6090
- Kiosk security: Openbox window manager, Chromium enterprise policies, X11 key grabber daemon
- Health check at
/health
Frontend
The frontend is a Next.js application in frontend/ with a Dockerfile at frontend/Dockerfile.
Environment Variables
Key environment variables for the backend (see backend/env.example for the full list):
Research: Reinforcement Fine-Tuning for Browser Agents
Beyond the framework, we conducted two independent research studies on improving browser agents through reinforcement learning, both using the FormFactory benchmark (1,250 form-filling tasks across 8 domains) and OpenBrowser's browser execution environment.
Study 1: Browser-in-the-Loop (Autoregressive RL)
We investigated whether reinforcement learning can improve a language model's ability to fill web forms beyond what supervised learning achieves.
- Method: Two-phase pipeline -- SFT on Qwen3-8B with QLoRA (992 demonstrations), then online GRPO with live browser execution rewards (composite: 40% submission success + 40% field accuracy + 20% execution completeness)
- Result: GRPO achieves 9.1% higher average reward than SFT alone on held-out validation (p=0.007, Wilcoxon signed-rank test). Improvement comes specifically from better form submission, not field filling.
- Key finding: SFT is a prerequisite -- without it, the base model generates unstructured text and earns zero reward across all attempts.
- Paper: Browser-in-the-Loop: Reinforcement Fine-Tuning LLM Agents for Web Form Filling
- Models: Qwen3-8B-FormFactory-SFT-LoRA, Qwen3-8B-FormFactory-GRPO-LoRA
Study 2: Diffusion Language Models for Web Action Planning
We investigated whether diffusion language models -- which generate text by iteratively denoising an entire sequence in parallel rather than left-to-right -- can learn web action planning.
- Models tested: ReFusion 8B (masked diffusion with causal LM backbone) and FS-DFM 1.3B (pure discrete flow matching)
- Result: After SFT, diffusion models solve 60-69% of tasks vs. 100% for the AR baseline. Token-level RL is universally fragile (2/16 comparisons improve, both insignificant). Sequence-level RL succeeds: MDPO pushes ReFusion to 91.9% (+31.4pp) and ESPO pushes FS-DFM to 87.1% (+18.6pp).
- Key finding: The appropriate RL formulation is architecture-dependent. ELBO-based optimization (ESPO) produces concentrated distributions across architectures, while per-step trajectory methods produce multimodal distributions.
- Paper: Concentrate or Collapse: When Reinforcement Learning Meets Diffusion Language Models for Web Planning
- Models: 10 trained models on HuggingFace including ReFusion-8B-MDPO, FS-DFM-1.3B-ESPO-mu8, and more
Reproducing RL Experiments
All training code is in infra/training/. Training runs on a single NVIDIA A10G GPU (24GB VRAM) via Anyscale.
Reward function (in infra/training/shared/reward_functions.py): composite score = 0.4 * task completion + 0.4 * field accuracy + 0.2 * execution completeness. Online reward (online_reward.py) launches headless Chromium, executes the model's action plan, and computes the score from live browser state.
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contact
- Email: [email protected]
- GitHub: @billy-enrizky
- Repository: github.com/billy-enrizky/openbrowser-ai
- Documentation: https://docs.openbrowser.me
Made with love for the AI automation community
來源:README.md,提交 48ec5d9
工具
0版本歷史
5- v0.1.54最新Sep 22, 2026
- v0.1.53Sep 21, 2026
- v0.1.52Sep 21, 2026
- v0.1.51Sep 20, 2026
- v0.1.50Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分