OpenViSTAI · Agents · Blockchain · Crypto
Menu
Browser Agents

Surf — nicobailon

Surf is a TypeScript command-line tool that lets AI agents and scripts control a browser through a CLI, browser extension and native host. Its commands support navigation, reading page content, clicking referenced elements and capturing snapshots.

Independent OpenViST project profile, based on linked sources.

Surf — nicobailon — 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 Surf when an agent or script needs a command-line path to browser navigation and page interaction, or when a browser-hosted workflow needs to be controlled from another Tailnet machine.

Who it is for

  • AI agent builders who need command-line browser control.
  • Developers using shell scripts to automate browser interactions.
  • Teams running a browser on one Tailnet machine and Surf’s CLI on another.

Documented uses

  • Navigate a browser to a URL and inspect visible page content.
  • Choose and click a page element using a reference from Surf’s output.
  • Capture a browser snapshot for a subsequent agent action.
  • Run browser-control commands from a separate Tailnet-connected client.
Before you choose

Requirements & limits

  • The documented quick start requires installing the CLI, loading the extension in Chrome, installing the native host and restarting the browser.
  • Surf documents support for Chrome and installation options for Chromium, Brave, Edge, Arc and Helium.
  • The repository lists macOS, Linux and Windows as platforms and identifies the license as MIT.
  • Remote use requires client authorization and a Surf credential in addition to Tailnet reachability.

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 Surf with Chrome

Set up the CLI, Chrome extension and native host, then check the browser connection.

Before you start

  • npm
  • Chrome
  • The Surf repository and its extension files

Steps

  1. Install the CLI with the command below.

    Documented command
    npm install -g surf-cli
  2. Open chrome://extensions, enable Developer mode, choose Load unpacked, and select the extension path returned by surf extension-path.

  3. Copy the extension ID from chrome://extensions and run surf install .

  4. Restart Chrome and run surf tab.list.

Expected outcome

The documented setup concludes with a command to list browser tabs.

Guide limitations

  • This guide follows the README’s Chrome quick start; it does not establish results for a particular machine or browser configuration.
Source-based practical guide

Navigate to a page and inspect it

Use Surf commands to open a URL, read page content, click a referenced element and capture a snapshot.

Before you start

  • Surf installed and connected to a supported browser

Steps

  1. Run surf go "https://example.com" to navigate to the page.

  2. Run surf read to retrieve the accessibility tree and visible text.

  3. Use a reference returned by the page reading step with surf click, as in the documented example surf click e5.

  4. Run surf snap to capture a browser snapshot.

Expected outcome

The command sequence covers navigation, page inspection, a referenced click and snapshot capture.

Guide limitations

  • The example reference e5 is illustrative; the appropriate element reference depends on the page output.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
14 October 2026
Original website title
nicobailon/surf-cli · Official homepage title · retained in its source language