Coding & Developmentβ¨geminiπ€claudeπuniversal
Vibium
Browser automation for AI agents and humans
Quick Start
Install this Skill
npx skills add VibiumDev/vibium# Vibium
**Browser automation for AI agents and humans.**
Vibium gives AI agents a browser. Install the `vibium` skill and your agent can navigate pages, fill forms, click buttons, and take screenshots β all through simple CLI commands. Also available as an MCP server and as JS/TS and Python client libraries.
**New here?** [Getting Started Tutorial](docs/tutorials/getting-started-js.md) β zero to hello world in 5 minutes.
## Why Vibium?
- **AI-native.** Install as a skill β your agent learns 81 browser automation tools instantly.
- **Zero config.** One install, browser downloads automatically, visible by default.
- **Standards-based.** Built on [WebDriver BiDi](docs/explanation/webdriver-bidi.md), not proprietary protocols controlled by large corporations.
- **Lightweight.** Single ~10MB binary. No runtime dependencies.
- **Flexible.** Use as a CLI skill, MCP server, or JS/Python library.
---
## Architecture
```
ββββββββββββββββββββββββββββββββββββββββ
β LLM / Agent β
β (Claude Code, Codex, Gemini, etc.) β
ββββββββββββββββββββββββββββββββββββββββ
β² β²
β MCP (stdio) β CLI (Bash)
βΌ βΌ
ββββββββββββββββββββββββββββββββββββ
β Vibium binary β
β (vibium CLI) β
β β
β βββββββββββββ ββββββββββββββββ β
β β MCP Serverβ β CLI Commands β β
β βββββββ¬ββββββ ββββββββ¬ββββββββ β ββββββββββββββββββββ
β ββββββββ²ββββββββ β β β
β β β β β
β ββββββββΌββββββββ β BiDi β Chrome Browser β
β β BiDi Proxy β βββββββββΊβ β
β ββββββββββββββββ β β β
ββββββββββββββββββββββββββββββββββββ ββββββββββββββββββββ
β²
β WebSocket BiDi :9515
βΌ
ββββββββββββββββββββββββββββββββββββββββ
β Client Libraries β
β (js/ts | python) β
β β
β βββββββββββββββββββ ββββββββββββββ β
β β Async API β β Sync API β β
β β await vibe.go() β β vibe.go() β β
β βββββββββββββββββββ ββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββ
```
---
## Agent Setup
```bash
npm install -g vibium
npx skills add https://github.com/VibiumDev/vibium --skill vibe-check
```
The first command installs Vibium and the `vibium` binary, and downloads Chrome. The second installs the skill to `{project}/.agents/skills/vibium`.
### CLI Quick Reference
```bash
vibium go https://example.com # go to a page
vibium text # get page text
vibium click "a" # click an element
vibium type "input" "hello" # type into a field
vibium screenshot -o page.png # capture screenshot
vibium eval "document.title" # run JavaScript
```
Full command list: [SKILL.md](skills/vibe-check/SKILL.md)
**Alternative: MCP server** (for structured tool use instead of CLI):
```bash
claude mcp add vibium -- npx -y vibium mcp # Claude Code
gemini mcp add vibium npx -y vibium mcp # Gemini CLI
```
See [MCP setup guide](docs/tutorials/getting-started-mcp.md) for options and troubleshooting.
---
## Language APIs
```bash
npm install vibium # JavaScript/TypeScript
pip install vibium # Python
```
This automatically:
1. Installs the Vibium binary for your platform
2. Downloads Chrome for Testing + chromedriver to platform cache:
- Linux: `~/.cache/vibium/`
- macOS: `~/Library/Caches/vibium/`
- Windows: `%LOCALAPPDATA%\vibium\`
No manual browser setup required.
**Skip browser download** (if you manage browsers separately):
```bash
VIBIUM_SKIP_BROWSER_DOWNLOAD=1 npm install vibium
```
### JS/TS Client
```javascript
// Sync (require-friendly)
const { browser } = require('vibium/sync')
// Async (import)
import { browser } from 'vibium'
```
**Sync API:**
```javascript
const fs = require('fs')
const { browser } = require('vibium/sync')
const bro = browser.launch()
const vibe = bro.page()
vibe.go('https://example.com')
const png = vibe.screenshot()
fs.writeFileSync('screenshot.png', png)
const link = vibe.find('a')
link.click()
bro.close()
```
**Async API:**
```javascript
import { browser } from 'vibium'
const bro = await browser.launch()
const vibe = await bro.page()
await vibe.go('https://example.com')
const png = await vibe.screenshot()
await fs.writeFile('screenshot.png', png)
const link = await vibe.find('a')
await link.click()
await bro.close()
```
### Python Client
```python
# Sync (default)
from vibium import browser
# Async
from vibium.async_api import browser
```
**Sync API:**
```python
from vibium import browser
bro = browser.launch()
vibe = bro.page()
vibe.go("https://example.com")
png = vibe.screenshot()
with open("screenshot.png", "wb") as f:
f.write(png)
link = vibe.find("a")
link.click()
bro.
... (truncated)Repository
2.7kstars
147forks
Details
Related Skills
More coding & development skills you might like
Reticle
Coding & DevelopmentAI agents can generate code, but still struggle to understand what they build. Reticle brings Jev-style machine-native runtime perception to web & desktop applications.
π€claudeπuniversal
1.2k
190
View
agentscope-java
Coding & DevelopmentExpert Java developer skill for AgentScope Java framework - a reactive, message-driven multi-agent system built on Project Reactor. Use when working with reactive programming, LLM integration, agent orchestration, multi-agent systems, or when the user mentions AgentScope, ReActAgent, Mono/Flux, Project Reactor, or Java agent development. Specializes in non-blocking code, tool integration, hooks, pipelines, and production-ready agent applications.
πuniversal
6.0k
1.5k
View
ospec
Coding & DevelopmentDocument-driven OSpec workflow for initialization, change/goal routing, validation, archiving, and durable project knowledge.
β¨geminiπ€claudeπ¬gptπuniversal
524
34
View
misakanet-failure-memory
Coding & Developmentπ A zero-dependency, git-backed micro-lesson library for AI Agents to asynchronously share and search verified debugging experience. Python stdlib only. | https://misakanet.org
π€claudeβ¨οΈcursorπuniversal
424
158
View