OpenViSTAI · Agents · Blockchain · Crypto
Menu
Browser Agents

Browser Control

Browser Control is a Rust CLI that drives Chrome or Chromium through the Chrome DevTools Protocol, exposing page observation and browser actions as shell commands for coding agents.

Independent OpenViST project profile, based on linked sources.

Browser Control — OpenViST project profile in Browser Agents.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when an agent or shell workflow needs to inspect and operate a real Chrome or Chromium browser through CDP, especially when compact command output and element references are useful.

Who it is for

  • Developers building shell-based coding-agent workflows that need browser interaction.
  • Automation authors who want page snapshots, element handles, browser events or raw CDP commands from a CLI.

Documented uses

  • Inspect a page and identify actionable elements through a snapshot.
  • Click page elements using snapshot references, CSS selectors or coordinates.
  • Read page text or evaluate JavaScript in the browser.
  • Review recent browser events, network requests and console messages.
  • Send raw Chrome DevTools Protocol commands when helper commands are insufficient.
Before you choose

Requirements & limits

The repository documents installation from crates.io, prebuilt GitHub release binaries or source. The source build requires the Rust toolchain pinned in rust-toolchain.toml; browser control requires a recent Chrome or Chromium build reachable over CDP. The project identifies its license as MIT.

  • The tool is a browser-control layer; the coding agent supplies the reasoning and task decisions.
  • Snapshot-generated references provide a page-derived target option alongside CSS selectors and coordinates.
  • Raw CDP and JavaScript evaluation extend the command interface beyond its helper actions.
  • A local browser can be launched by the CLI, or an existing browser can be supplied through a CDP endpoint.
  • The project documents recent event, network and console information through its background watcher.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Install Browser Control from source

Build the CLI from the repository and place its binary on your PATH.

Before you start

  • A Rust toolchain installed through rustup.
  • The browser-control Git repository.

Steps

  1. Clone the repository and change into its directory.

  2. Run rustup toolchain install to install the version pinned in rust-toolchain.toml.

  3. Build with cargo build --locked --release.

  4. Install target/release/browser-control on your PATH.

Expected outcome

The browser-control CLI binary is built and installed on the PATH.

Guide limitations

  • This recipe covers installation only; browser use also requires Chrome or Chromium reachable over CDP.
Source-based practical guide

Connect to a page and inspect an element

Launch a browser page, inspect its actionable elements and issue a click using a snapshot reference.

Before you start

  • The browser-control CLI.
  • A recent Chrome or Chromium build; the launch command can start one.

Steps

  1. Run browser-control init to create the .browser-control workspace.

  2. Run browser-control launch with the page URL.

  3. Run browser-control snapshot to obtain numbered element references.

  4. Run browser-control click with a reference returned by the snapshot.

Expected outcome

The CLI connects to the launched browser, reports actionable element references and sends a click command for the selected reference.

Guide limitations

  • The example describes command usage; it does not guarantee a particular page's response to a click.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
10 October 2026
Original website title
keon/browser-control · Official homepage title · retained in its source language