Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 9 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,6 @@ OpenBrowser is a framework for intelligent browser automation. It combines direc

## Installation

### Homebrew (macOS / Linux)

```bash
brew tap billy-enrizky/openbrowser
brew install openbrowser-ai
```

### Quick install (macOS / Linux)

```bash
Expand All @@ -75,18 +68,24 @@ curl -fsSL https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/main/i
### Quick install (Windows PowerShell)

```powershell
# Windows (PowerShell)
irm https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/main/install.ps1 | iex
```

Detects `uv`, `pipx`, or `pip` and installs OpenBrowser + Chromium automatically.
Detects `uv`, `pipx`, or `pip` and installs OpenBrowser automatically.

Install to `~/.local/bin` without sudo:

```bash
curl -fsSL https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/main/install.sh | sh -s -- --local
```

### Homebrew (macOS / Linux)

```bash
brew tap billy-enrizky/openbrowser
brew install openbrowser-ai
```

### pip

```bash
Expand Down Expand Up @@ -138,13 +137,7 @@ pip install openbrowser-ai[azure] # Azure OpenAI
pip install openbrowser-ai[video] # Video recording support
```

### Install Browser

```bash
uvx openbrowser-ai install
# or
playwright install chromium
```
> **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 `uvx` is available, Chromium is installed automatically on first run. To pre-install manually (requires `uvx`): `openbrowser-ai install`
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot Mar 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The manual browser pre-install command is wrong for the documented uvx flow; openbrowser-ai install won't exist unless the package was installed separately.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At README.md, line 140:

<comment>The manual browser pre-install command is wrong for the documented `uvx` flow; `openbrowser-ai install` won't exist unless the package was installed separately.</comment>

<file context>
@@ -137,7 +137,7 @@ pip install openbrowser-ai[azure]      # Azure OpenAI

-> 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 uvx is available, Chromium is installed automatically on first run. To pre-install manually: openbrowser-ai install
+> 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 uvx is available, Chromium is installed automatically on first run. To pre-install manually (requires uvx): openbrowser-ai install

Quick Start

</file context>


</details>

```suggestion
> **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 `uvx` is available, Chromium is installed automatically on first run. To pre-install manually (requires `uvx`): `uvx openbrowser-ai install`
Fix with Cubic


## Quick Start

Expand Down
38 changes: 19 additions & 19 deletions docs/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,31 +9,37 @@ To get started with OpenBrowser you need to install the package and set up an AP
## 1. Installing OpenBrowser

<Tabs>
<Tab title="Homebrew">
<Tab title="Quick install">
**macOS / Linux**

```bash
brew tap billy-enrizky/openbrowser
brew install openbrowser-ai
curl -fsSL https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/main/install.sh | sh
```

Installs OpenBrowser and Chromium into a Homebrew-managed virtualenv.
</Tab>
<Tab title="Quick install">
**macOS / Linux**
**Windows (PowerShell)**

```bash
curl -fsSL https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/main/install.sh | sh
```powershell
irm https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/main/install.ps1 | iex
```

Detects `uv`, `pipx`, or `pip` and installs OpenBrowser + Chromium automatically.
Detects `uv`, `pipx`, or `pip` and installs OpenBrowser automatically.

Install to `~/.local/bin` without sudo:

```bash
curl -fsSL https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/main/install.sh | sh -s -- --local
```
</Tab>
<Tab title="Homebrew">
**macOS / Linux**

```bash
brew tap billy-enrizky/openbrowser
brew install openbrowser-ai
```

Installs OpenBrowser into a Homebrew-managed virtualenv.
</Tab>
<Tab title="pip">
```bash
pip install openbrowser-ai
Expand Down Expand Up @@ -87,15 +93,9 @@ To get started with OpenBrowser you need to install the package and set up an AP
</Tab>
</Tabs>

### Install Browser

After installing, set up Chromium:

```bash
uvx openbrowser-ai install
# or
playwright install chromium
```
<Info>
**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 `uvx` is available, Chromium is installed automatically on first run. To pre-install manually (requires `uvx`): `openbrowser-ai install`
</Info>

## 2. Choose your favorite LLM
Create a `.env` file and add your API key.
Expand Down
16 changes: 4 additions & 12 deletions install.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -161,22 +161,14 @@ if (-not $SkipBrowser) {
}
catch {
try {
$null = Get-Command 'playwright' -ErrorAction Stop
& playwright install chromium 2>$null
$null = Get-Command 'uvx' -ErrorAction Stop
& uvx playwright install chromium 2>$null
if ($LASTEXITCODE -ne 0) {
Write-Warn "Chromium install failed (run 'playwright install chromium' manually)"
Write-Warn "Chromium install failed (run 'openbrowser-ai install' manually)"
}
}
catch {
try {
Invoke-Python -Arguments @('-m', 'playwright', 'install', 'chromium') 2>$null
if ($LASTEXITCODE -ne 0) {
Write-Warn "Chromium install skipped (run 'openbrowser-ai install' manually)"
}
}
catch {
Write-Warn "Chromium install skipped (run 'openbrowser-ai install' manually)"
}
Write-Warn "Chromium install skipped. Please run 'openbrowser-ai install' manually after installation completes."
}
Comment on lines +164 to 172
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in fda5e2d. Same generic warning message applied to install.ps1.

}
}
Expand Down
6 changes: 3 additions & 3 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -157,10 +157,10 @@ if [ "$SKIP_BROWSER" = false ]; then
info "Installing Chromium browser..."
if command -v openbrowser-ai >/dev/null 2>&1; then
openbrowser-ai install 2>/dev/null || warn "Chromium install failed (run 'openbrowser-ai install' manually)"
elif command -v playwright >/dev/null 2>&1; then
playwright install chromium 2>/dev/null || warn "Chromium install failed (run 'playwright install chromium' manually)"
elif command -v uvx >/dev/null 2>&1; then
uvx playwright install chromium 2>/dev/null || warn "Chromium install failed (run 'openbrowser-ai install' manually)"
else
"$PYTHON" -m playwright install chromium 2>/dev/null || warn "Chromium install skipped (run 'openbrowser-ai install' manually)"
warn "Chromium install skipped. Please run 'openbrowser-ai install' manually after installation completes."
fi
fi

Expand Down
4 changes: 1 addition & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ dependencies = [
# Core browser automation
"pydantic>=2.0.0",
"pydantic-settings>=2.0.0",
"playwright",
"python-dotenv",
"httpx>=0.28.1",
"websockets>=15.0.1",
Expand Down Expand Up @@ -40,7 +39,6 @@ agent = [
"boto3>=1.36.0",
"reportlab",
]
cli = ["textual>=3.2.0"]
video = ["imageio[ffmpeg]", "numpy"]
anthropic = ["anthropic>=0.68.0"]
groq = ["groq>=0.30.0"]
Expand All @@ -57,7 +55,7 @@ dev = [
"mcp>=1.0.0",
]
all = [
"openbrowser-ai[agent,cli,video,anthropic,groq,ollama,aws,azure,pdf]",
"openbrowser-ai[agent,video,anthropic,groq,ollama,aws,azure,pdf]",
]

[project.scripts]
Expand Down
Loading
Loading