From fc4ce8f74d19900fb763e113c249b93d394ff8b1 Mon Sep 17 00:00:00 2001 From: Daniel Dolezal Date: Thu, 16 Apr 2026 11:55:09 +0200 Subject: [PATCH] rename Chrome to Browser --- README.md | 14 +++++++------- browser_cli/client.py | 2 +- pyproject.toml | 2 +- uv.lock | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 30a1ba7..d90aee5 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Control your real, running browser from the terminal or a Python script — no h You have 40 tabs open. You want to close all the duplicates, group the GitHub ones, save your session before a meeting, and open a few URLs into a specific group — all from a script. That is what browser-cli is for. -It works by pairing a small Chrome/Brave extension with a Python CLI tool. The extension has full access to your browser's tabs, windows, groups, and page DOM. The CLI talks to it in real time over a local IPC channel. +It works by pairing a small browser extension with a Python CLI tool. The extension has full access to your browser's tabs, windows, groups, and page DOM. The CLI talks to it in real time over a local IPC channel. --- @@ -23,9 +23,9 @@ terminal / python script │ │ Native Messaging Protocol (stdin/stdout, 4-byte length prefix + JSON) ▼ - Chrome Extension (background service worker) + Browser Extension (background worker/page) │ - │ chrome.* APIs + │ extension APIs ▼ Your running browser ``` @@ -53,7 +53,7 @@ Every response: ## Installation -**Requirements:** Python 3.10+, [uv](https://github.com/astral-sh/uv), Chrome, Chromium, Brave, Edge, or Vivaldi +**Requirements:** Python 3.10+, [uv](https://github.com/astral-sh/uv), Chrome, Chromium, Brave, Edge, Vivaldi ```sh git clone @@ -63,8 +63,8 @@ uv run browser-cli install brave # or: chrome, chromium, edge, vivaldi ``` The `install` command will: -1. Ask you to load the `extension/` folder as an unpacked extension in your browser (`brave://extensions` → Developer mode → Load unpacked) -2. Ask you to paste the extension ID shown on the extension card +1. Ask you to load the browser-specific extension package +2. For Chromium-family browsers, ask you to paste the extension ID shown on the extension card 3. Write the native messaging manifest to your OS so the browser can find the host 4. Copy the native host into an internal `libexec` directory and create a small wrapper outside your `PATH` @@ -404,7 +404,7 @@ bash examples/demo.sh ## Limitations -- **Chrome internal pages** (`chrome://`, `brave://`, `about:`) cannot be scripted. DOM and extract commands only work on regular `http://` and `https://` pages. +- **Browser internal pages** (`chrome://`, `brave://`, `edge://`, `about:`) cannot be scripted. DOM and extract commands only work on regular `http://` and `https://` pages. - **Multiple browser instances can be auto-distinguished, but generated aliases are temporary**. Unaliased browsers get UUID aliases from the native host, which avoids collisions but is less ergonomic than setting a stable alias with `browser-cli clients rename --browser `. - **Supported install targets are explicit, not “all Chromium browsers”**. The installer currently supports Chrome, Chromium, Brave, Edge, and Vivaldi. Other Chromium-based browsers may use different or shared native messaging manifest locations, so they need browser-specific verification before being added safely. - **Linux and macOS only** — Windows native messaging paths are not yet handled. diff --git a/browser_cli/client.py b/browser_cli/client.py index 2b8004f..6c8467d 100644 --- a/browser_cli/client.py +++ b/browser_cli/client.py @@ -125,7 +125,7 @@ def send_command(command: str, args: dict | None = None, profile: str | None = N f"Cannot connect to browser{profile_hint}.\n" "Make sure:\n" " 1. The browser-cli extension is installed and enabled\n" - " 2. The native host is registered: uv run browser-cli install chrome\n" + " 2. The native host is registered: uv run browser-cli install \n" " 3. Your browser is running\n" " Tip: use BROWSER_CLI_PROFILE= to select a specific profile" ) diff --git a/pyproject.toml b/pyproject.toml index 5451f30..44201bd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "browser-cli" version = "0.5.12" -description = "Control your real running browser from the terminal via a Chrome extension" +description = "Control your real running browser from the terminal via a browser extension" requires-python = ">=3.10" dependencies = [ "click>=8", diff --git a/uv.lock b/uv.lock index e645333..9ac464e 100644 --- a/uv.lock +++ b/uv.lock @@ -4,7 +4,7 @@ requires-python = ">=3.10" [[package]] name = "browser-cli" -version = "0.5.7" +version = "0.5.12" source = { editable = "." } dependencies = [ { name = "click" },