Introduction¶
When building workflows that require browser operations, you often need to start a headless browser or configure a remote debugging port. This typically means logging in again, losing installed extensions, or repeatedly encountering an “Allow remote debugging” confirmation dialog. BrowserRig provides a locally driven solution. It does not rely on a headless browser; instead, it connects through a Chrome extension to your existing logged-in Chromium browser.
What Is This¶
BrowserRig is an open-source local browser driver plugin maintained by Castor6. It allows an agent to reuse your existing Chrome windows, Cookies, login sessions, and extensions without requiring browser-scoped remote debugging approval. It is a standalone open-source product. It does not include an LLM or make planning decisions; it only serves as a code-level execution layer.
Core Features¶
- Reuse existing sessions: Reuse Chrome windows, Cookies, sessions, and extensions.
- Non-blocking connection: Connect to a logged-in Chrome instance through a local relay and extension without triggering browser-scoped remote debugging confirmation.
- Session takeover: The
session adopt --activecommand can find, attach to, and take over the active tab in a single operation. - Background work: The
executecommand creates background tabs within the same browser profile, keeping foreground workflows uninterrupted. - Skill-first driving: Provides CLI and Skill-first driving modes compatible with runtimes such as DeepSeek Harness.
Installation and Enablement¶
Add the plugin to the designated Profile in DeepSeek Harness.
dsh plugin --profile web add browserrig
After installation, inspect the generated configuration to confirm that the plugin was loaded successfully:
dsh --profile web --dump-config
Typical Usage¶
After installation, execute Playwright scripts through the CLI. The following command navigates to a sample page and returns the title and URL:
browserrig execute 'await page.goto("https://example.com"); return { title: await page.title(), url: page.url() }'
Check the plugin connection status and run a health check:
browserrig status
browserrig doctor
Use Cases and Notes¶
- Use cases: Development and testing workflows that require preserving login state, using browser extensions, or frequently switching browser windows.
- Prerequisites: Node.js 22.22.0 or a newer version is required.
- Permissions: The plugin runs with the permissions of the current DSH process. Chrome may display the standard non-blocking debug information bar when tabs are attached; this is normal.
- Key difference: BrowserRig does not connect to Chrome’s browser-scoped remote debugging endpoint; instead, it transfers CDP commands through the extension API. It does not include an LLM or make planning decisions; it only executes code.
Conclusion¶
BrowserRig addresses the pain point of reusing a real browser environment in agent development. Through session adopt --active and the background-tab mechanism, it maintains workflow continuity. For more details, see the project source code.