Skip to content

Latest commit

 

History

History
130 lines (95 loc) · 3.35 KB

File metadata and controls

130 lines (95 loc) · 3.35 KB
title Quickstart

The shortest possible end-to-end session.

CLI (installed)

npm install -g vibium
vibium go https://example.com
vibium screenshot -o example.png
vibium text

Open a page, save a screenshot, print the page text. That is the entire quickstart.

Why does vibium text not need a URL or selector? Vibium keeps a background browser running across commands; later commands act on the page opened by the most recent vibium go. See Core Concepts for the full mental model.

What you should see:

  • vibium go https://example.com — exits with status 0; the browser navigates to the page. No output on stdout is normal.
  • vibium screenshot -o example.png — writes the PNG to ~/Pictures/Vibium/example.png and prints the saved path to stdout. The CLI manages screenshot storage for you; -o controls the filename, not the directory. ls -lh ~/Pictures/Vibium/example.png should show a non-empty PNG.
  • vibium text — prints the visible page text to stdout. For https://example.com you'll see the heading "Example Domain" followed by the standard placeholder paragraph.

If any of those don't match, see Troubleshooting.

CLI (zero-install with npx)

If you'd rather not install anything, the same flow works through npx:

npx -y vibium go https://example.com
npx -y vibium screenshot -o example.png
npx -y vibium text

This is great for CI jobs, throwaway scripts, and demos. To make the rest of this guide copy-pasteable, alias it for the current shell:

alias vibium='npx -y vibium'
vibium go https://example.com
vibium text

JavaScript / TypeScript

import { writeFileSync } from 'node:fs'
import { browser } from 'vibium'

const browserSession = await browser.start()
const vibe = await browserSession.page()

await vibe.go('https://example.com')
const png = await vibe.screenshot()
writeFileSync('example.png', png)

await browserSession.stop()

screenshot() returns the PNG as bytes; you have to write them to disk yourself (unlike the CLI's -o flag).

Python

from vibium import browser

browser_session = browser.start()
vibe = browser_session.page()

vibe.go("https://example.com")
text = vibe.text()
print(text)

browser_session.stop()

Java

var browserSession = Vibium.start();
var vibe = browserSession.page();
vibe.go("https://example.com");
var png = vibe.screenshot();
java.nio.file.Files.write(java.nio.file.Path.of("example.png"), png);
browserSession.stop();

Let the AI drive

Nightly builds and the next npm release; see Run and Check.

With an AI provider configured (vibium setup asks the questions and writes the config), a whole goal is one command:

vibium run "open example.com and find its contact page"
vibium check "the page shows contact information"

run drives the browser toward the goal and reports COMPLETED or NOT_COMPLETED; check independently verifies a claim with PASS, FAIL, or INCONCLUSIVE. See Run and Check.

Agent skill

npm install -g vibium
vibium add-skill

This installs the browser and check skills for each supported agent already on the machine (Claude Code, Grok). After this, your agent can drive the browser by emitting vibium ... commands.

See the Tutorial for a longer worked example.