real page state
Navigate, inspect title and URL, execute bounded page scripts, and capture non-empty PNG screenshots.
PORTABLE RUNTIME · APACHE-2.0
Jet Browser packages a real WPE WebKit browser, native input, screenshots, and a Rust bridge behind one ordered JSONL boundary. Run it locally, in CI, or as one isolated container per session—without adopting a hosted control plane.
jet-browser / standaloneREADYagent {"id":"1","action":"navigate",
"url":"https://example.com"}
jet {"id":"1","ok":true,
"url":"https://example.com/"}
agent {"id":"2","action":"screenshot"}
jet {"id":"2","ok":true,
"width":1280,"height":800}
One process boundary. Ordered commands. Machine-readable results.
02 · USE WITH YOUR AGENT
Paste this single prompt into Codex, Claude Code, or another repository-aware coding agent. It installs the current Jet integration, runs the real standalone check, and reports evidence instead of assuming setup worked.
Install or upgrade Jet Browser to the latest main for this repository from https://github.com/masakaai/jet-browser. Read README.md and use its Codex marketplace instructions when plugin commands are available; otherwise register .agents/skills/jet-browser/SKILL.md as a repository skill. Confirm Docker and Node.js 24+, run npm run standalone, and report whether browser startup, native input, DOM verification, and PNG capture passed. Do not attach to my daily Chrome profile or start a persistent Chrome daemon. Follow docs/demo.md if setup or verification fails.codex plugin marketplace add masakaai/jet-browser --ref main && codex plugin add jet-browser@masakaJet is an isolated WPE WebKit runtime, not a connector for an already-running personal Chrome profile. The skill keeps that boundary explicit. inspect the skill ↗
REPRODUCIBLE RUNTIME BENCHMARK · 2026-10-07
Seven measured runs per image after one warm-up. Every counted run verified the title, a DOM marker, JavaScript execution, and a non-empty screenshot before memory was sampled.
method, raw samples & limitations →SMALL ON PURPOSE
Navigate, inspect title and URL, execute bounded page scripts, and capture non-empty PNG screenshots.
Pointer, keyboard, scrolling, drag, tabs, and file selection stay explicit instead of hiding uncertain mutations.
Standard input and output let a local process, container scheduler, CI job, or agent harness own lifecycle policy.
Jet does not pretend WPE is Chromium CDP. Profiles, billing, live view, identity, and human handoff belong to the embedding app.
ADJACENT PRODUCT STORIES
These products solve different parts of browser automation. Their official stories shaped Jet's operating contract; they are not presented as interchangeable benchmark subjects.
Composio's managed-browser story shows why a browser task needs more than click APIs.
official story ↗ Stagehand v4A thin client and one explicit RPC boundary reduce duplicated remote page state.
official story ↗ SteelStable outputs, evidence, and failure guidance make browser tools usable by an agent harness.
official story ↗ BrowserlessModel decisions remain replaceable when browser execution is observable and independently operated.
official story ↗
JET BROWSER · BY MASAKA