| title | Quickstart |
|---|
The shortest possible end-to-end session.
npm install -g vibium
vibium go https://example.com
vibium screenshot -o example.png
vibium textOpen a page, save a screenshot, print the page text. That is the entire quickstart.
Why does
vibium textnot need a URL or selector? Vibium keeps a background browser running across commands; later commands act on the page opened by the most recentvibium 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.pngand prints the saved path to stdout. The CLI manages screenshot storage for you;-ocontrols the filename, not the directory.ls -lh ~/Pictures/Vibium/example.pngshould show a non-empty PNG.vibium text— prints the visible page text to stdout. Forhttps://example.comyou'll see the heading "Example Domain" followed by the standard placeholder paragraph.
If any of those don't match, see Troubleshooting.
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 textThis 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 textimport { 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).
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()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();npm install -g vibium
npx skills add https://github.com/VibiumDev/vibium --skill vibe-checkAfter this, your agent can drive the browser by emitting vibium ... commands.
See the Tutorial for a longer worked example.