OpenCLI
Convert any website into a CLI & run Browser Use on your logged-in Chrome. Turn websites, browser sessions, Electron apps, and local tools into deterministic interfaces for humans and AI agents. Or run Browser Use against any page — navigate, fill forms, click, extract, automate.
OpenCLI gives you one surface for three different kinds of automation:
-
Use built-in adapters for sites like Bilibili, Zhihu, Xiaohongshu, Reddit, HackerNews, Twitter/X, and many more.
-
Let AI Agents operate any website — install the
opencli-browserskill in your AI agent (Claude Code, Cursor, etc.), and it can navigate, click, type/fill, extract, and inspect any page through your logged-in browser viaopencli browserprimitives. -
Write new adapters end-to-end with
opencli browser+ theopencli-adapter-authorskill, which guides from first recon through field decoding, code, andopencli browser verify.
It also works as a CLI hub for local tools such as gh, docker, longbridge, tg, discord, wx, ntn (Notion), and other binaries you register yourself, plus desktop app adapters for Electron apps like Cursor, Trae CN, Codex, Antigravity, ChatGPT, and Trae SOLO.
Quick Start
1. Install OpenCLI
For desktop use, start with OpenCLIApp. It bundles the OpenCLI runtime,
keeps the managed opencli command installed, and gives you a system tray UI
for setup, diagnostics, updates, browser-login keepalive, and Web → Markdown.
Option A — OpenCLIApp (recommended for macOS / Windows):
Download the latest app from https://opencli.info/download, install it, then
open the app once and use the System page to install or repair the opencli
command.
Option B — npm global install (CLI-only / CI / servers): OpenCLI requires Node.js >= 20 when installed through npm.
node --version
npm install -g @jackwener/opencli
2. Install the Browser Bridge Extension
OpenCLI connects to Chrome/Chromium through a lightweight Browser Bridge extension plus a small local daemon. The daemon auto-starts when needed.
Option A — Chrome Web Store (recommended): Install OpenCLI from the Chrome Web Store.
Option B — Manual install:
-
Download the latest
opencli-extension-v{version}.zipfrom the GitHub Releases page. -
Unzip it, open
chrome://extensions, and enable Developer mode. -
Click Load unpacked and select the unzipped folder.
3. Verify the setup
opencli doctor
4. Optional: name your Chrome profile
Each Chrome profile runs its own OpenCLI extension instance. If you use multiple Chrome profiles, list the connected profiles and assign local aliases:
opencli profile list
opencli profile rename <contextId> work
opencli profile use work
opencli --profile work browser main state
With only one connected profile, OpenCLI uses it automatically. With multiple connected profiles and no default, OpenCLI asks you to choose instead of guessing.
5. Run your first commands
opencli list
opencli hackernews top --limit 5
opencli bilibili hot --limit 5
For Humans
Use OpenCLI directly when you want a reliable command instead of a live browser session:
-
opencli listshows every registered command. -
opencli <site> <command>runs a built-in or generated adapter. -
opencli external register mycliexposes a local CLI through the same discovery surface. -
opencli doctorhelps diagnose browser connectivity.
Extending OpenCLI
If you want to add your own commands, start with the Extending OpenCLI guide. README keeps this short; the guide covers the directory layout, source-control model, and install commands.
Need Recommended path
Keep personal website commands in your own Git repo
opencli plugin create + opencli plugin install file://...
Quickly draft a private local adapter
opencli browser init <site>/<command> in ~/.opencli/clis/
Modify an official adapter locally
opencli adapter eject <site> + opencli adapter reset <site>
Publish or install third-party commands
opencli plugin install github:user/repo
Wrap an existing local binary
opencli external register <name>
For AI Agents
OpenCLI's browser commands are designed to be used by AI Agents — not run manually. Install skills into your AI agent (Claude Code, Cursor, etc.), and the agent operates websites on your behalf using your logged-in Chrome session.
Install skills (also refreshes existing installs)
npx skills add jackwener/opencli
Or install only what you need:
npx skills add jackwener/opencli --skill opencli-adapter-author
npx skills add jackwener/opencli --skill opencli-autofix
npx skills add jackwener/opencli --skill opencli-browser
npx skills add jackwener/opencli --skill opencli-browser-sitemap
npx skills add jackwener/opencli --skill opencli-sitemap-author
npx skills add jackwener/opencli --skill opencli-usage
Which skill to use
Skill When to use Example prompt to your AI agent
opencli-adapter-author Write a reusable adapter for a new site or add a command to an existing site "Write an adapter for douyin trending" / "Make a command that grabs the top posts from this page"
opencli-autofix
Repair a broken adapter when a built-in command fails
"opencli zhihu hot is returning empty — fix it"
opencli-browser Drive a real Chrome page ad-hoc — navigate, fill forms, click, extract "Help me check my Xiaohongshu notifications" / "Help me fill out this form" / "Use browser commands to scrape this page"
opencli-browser-sitemap Consume site sitemap context while driving a browser task "Use the sitemap to navigate this website without blind clicking"
opencli-sitemap-author Create or update site sitemap knowledge for browser agents "Record the stable workflow you just discovered for this site"
opencli-usage Quick reference for all OpenCLI commands and sites "What commands does OpenCLI have for Twitter?"
How it works
Once opencli-browser is installed, your AI agent can:
-
Navigate to any URL using your logged-in browser
-
Read page content via structured DOM snapshots (not screenshots)
-
Interact — click buttons, fill forms, select options, press keys
-
Extract data from the page or intercept network API responses
-
Wait for elements, text, or page transitions
The agent handles all the opencli browser commands internally — you just describe what you want done in natural language.
Skill references:
-
skills/opencli-browser/SKILL.md — drive Chrome ad-hoc (navigate, fill forms, click, extract)
-
skills/opencli-browser-sitemap/SKILL.md — use sitemap context while driving a browser task
-
skills/opencli-sitemap-author/SKILL.md — create or update site sitemap knowledge
-
skills/opencli-adapter-author/SKILL.md — write a new adapter end-to-end
-
skills/opencli-autofix/SKILL.md — repair broken adapters
-
skills/opencli-usage/SKILL.md — command and site reference
Available browser commands include open, state, click, type, fill, select, keys, wait, get, find, extract, frames, screenshot, scroll, back, eval, network, tab list, tab new, tab select, tab close, init, verify, and close.
opencli browser commands require a <session> positional immediately after browser. opencli browser work open <url> and opencli browser work tab new [url] both return a target ID. Use opencli browser work tab list to inspect target IDs, then pass --tab <targetId> to route a command to a specific tab. tab new creates a new tab without changing the default browser target; only tab select <targetId> promotes that tab to the default target for later untargeted commands in the same session.
Writing a new adapter
When the site you need is not yet covered, use the opencli-adapter-author skill end-to-end:
-
Recon the site and pick a pattern (SPA / SSR / JSONP / Token / Streaming).
-
Discover the right endpoint — network inspection, initial state, bundle search, token trace, or interceptor fallback.
-
Pick auth —
PUBLIC/COOKIE/INTERCEPT/UI/LOCAL. -
Decode response fields and design output columns.
-
opencli browser recon analyze <url>→opencli browser recon init <site>/<name>→ write adapter →opencli browser recon verify <site>/<name>. -
Site knowledge persists to
~/.opencli/sites/<site>/so the next adapter for the same site starts from context.
Configuration
Variable Default Description
OPENCLI_PROFILE
—
Browser Bridge profile alias/contextId to use when multiple Chrome profiles are connected
OPENCLI_WINDOW
command default
Set to foreground or background to override Browser Bridge window placement. Browser-backed commands also accept --window <foreground|background>.
OPENCLI_BROWSER_CONNECT_TIMEOUT
45
Seconds