New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

airbrow

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

airbrow

Ultra-fast browser CLI for LLM agents. Rust/CDP based, 50x less memory than Playwright.

latest
npmnpm
Version
0.0.1
Version published
Maintainers
1
Created
Source

airbrow

Ultra-fast browser CLI for LLM agents. Rust/CDP based.

AI Coding Assistants

Add the skill to your AI coding assistant for richer context:

npx add-skill RenKoya1/airbrow

Works with Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, Goose, OpenCode, and Windsurf.

Benchmark Results (2026-01-28)

Metricairbrowagent-browserplaywright-cli
Memory2.3MB1.9MB*60MB
Context~6KB~90KB~89KB
Binary1.8MB670KB*Node.js

*agent-browser CLI only; requires Playwright backend

Context Size Comparison (Real Data)

ToolHacker NewsGitHubTotalvs airbrow
airbrow~3KB~3KB~6.6KB1x
agent-browser~60KB~30KB~90KB14x larger
playwright-cli~58KB~31KB~89KB13x larger

14x smaller context. 25x less memory. Zero dependencies.

Install

From source

cargo build --release
./target/release/airbrow

Via npm

npm install -g airbrow
airbrow install  # Download Chromium (optional if Chrome installed)
airbrow

Quick Start

> open                       # Start browser
> goto https://example.com   # Navigate
> observe                    # Get interactive elements
{"e":[["r1","a","More info"],["r2","btn","Search"]],"n":2,"t":"Example","u":"https://example.com/"}
> click r1                   # Click by ref
> fill r2 "hello world"      # Fill input
> screenshot shot.png        # Take screenshot
> quit                       # Close

Comparison with Competitors

vs agent-browser (Vercel)

Featureairbrowagent-browser
FocusSpeed & minimal contextSemantic understanding
Context size~6KB~90KB (14x larger)
Element refsr1, r2@e1, @e2
OutputCompact JSONFull YAML tree
PII redactionManualAutomatic
Use caseLLM agentsComplex semantic tasks

vs playwright-cli (Microsoft)

Featureairbrowplaywright-cli
FocusLLM optimizationFull Playwright API
Memory2.3MB60MB (25x more)
Context~6KB~89KB (13x larger)
Startup1.8s5.6s (3x slower)
TracingNoYes
MCP supportNoYes
Use caseLLM agentsMCP/IDE integration

Summary

MetricairbrowCompetitorsAdvantage
Context~6KB~90KB14x smaller
Memory2.3MB60MB25x less
DependenciesNoneNode.js+PlaywrightZero

Commands (50+)

Session

CommandDescription
openStart browser (add --headed to show)
reconnectReconnect to existing browser
quitClose browser and exit

Navigation

CommandDescription
goto <url>Navigate to URL
backGo back
forwardGo forward
reloadReload page

Observation

CommandDescription
observeGet interactive elements with refs (r1, r2...)
snapGet URL and title only
snapshotFull page with text content
contentGet main HTML

Interaction

CommandDescription
click <ref>Click element
fill <ref> <text>Fill input field
type <ref> <text>Type character by character
press <key>Press key (Enter, Tab, Escape...)
hover <ref>Hover over element

Scroll

CommandDescription
scroll [up|down|<px>]Scroll viewport
scrollto <ref>Scroll element into view
topScroll to top
bottomScroll to bottom
pageupPage up
pagedownPage down

Tabs

CommandDescription
newtab [url]Open new tab
tabsList all tabs
tab <n>Switch to tab
closetab [n]Close tab

Network

CommandDescription
block <pattern>Block URLs matching pattern
unblockClear all blocks
blockimagesBlock image loading
blockmediaBlock video/audio
blockfontsBlock web fonts

Cookies & Storage

CommandDescription
cookies [domain]Get cookies
setcookie <n> <v> <d>Set cookie
clearcookiesClear all cookies
storage get <key>Get localStorage item
storage set <k> <v>Set localStorage item
storage clearClear localStorage

Output

CommandDescription
screenshot [path]Save PNG screenshot
pdf [path]Save PDF
eval <js>Execute JavaScript

Viewport & Media

CommandDescription
viewport <w> <h>Set viewport size
mobileMobile emulation (375x667)
darkDark color scheme
lightLight color scheme

Wait

CommandDescription
wait <ms>Wait milliseconds
wait <ref> [timeout]Wait for element

Selectors

TypeExampleDescription
Refr1, r2From observe output
CSS#id, .classCSS selector
XPath//div[@id='x']XPath expression
Texttext:SubmitBy text content
Rolerole:buttonBy ARIA role
Labellabel:EmailBy label text
Placeholderplaceholder:SearchBy placeholder

Output Format

Minimal JSON optimized for LLM context:

{
  "e": [["r1","btn","Submit"],["r2","in","Email"]],
  "n": 2,
  "t": "Page Title",
  "u": "https://example.com"
}
  • e: Elements array [ref, type, label]
  • n: Element count
  • t: Page title
  • u: Current URL

Element types: btn (button), in (input), a (link), sel (select), txt (text)

Output Comparison

airbrow (Compact JSON):

{"e":[["r1","a","Hacker News"],["r2","a","new"]],"n":50,"t":"Hacker News","u":"https://news.ycombinator.com/"}

agent-browser (Full YAML Tree):

- document:
  - table:
    - rowgroup:
      - row "Hacker News":
        - cell "Hacker News" [ref=e1]:
          - link "new" [ref=e5]:
            - /url: newest

Result: airbrow output is 14x smaller

LLM Agent Integration

Minimal context example

# Python pseudocode
def browse(cmd):
    return subprocess.run(["airbrow"], input=cmd, capture_output=True).stdout

browse("open")
browse("goto https://example.com")
result = json.loads(browse("observe"))
# result: {"e":[["r1","btn","Login"]],"n":1,"t":"Example","u":"..."}
browse("click r1")

Why minimal context matters

Toolobserve outputTokens (~)
airbrow~200 chars~50
agent-browser~3000 chars~750
playwright-cli~3000 chars~750

Smaller context = Lower cost + Faster response + Better focus

Feature Comparison

Featureairbrowagent-browserplaywright-cli
Navigation
Click/Input
Screenshot
PDF Output
Tab Management
Network Blocking
Cookies/Storage
Mobile Emulation
Dark Mode
Tracing
Video Recording
PII Redaction
MCP Support

Security

Aspectairbrowagent-browserplaywright-cli
SandboxChrome defaultPlaywrightPlaywright
DependenciesMinimalPlaywrightNode.js + Playwright
Attack SurfaceLowMediumHigh
PII ProtectionManualAutomaticManual

See Also

  • SKILL.md - Full command reference for LLM agents
  • ../README.md - Project overview
  • ../COMPARISON.md - Detailed benchmark results

License

MIT

Keywords

browser

FAQs

Package last updated on 28 Jan 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts