OpenCLI is a free, open source ai development platforms project written in JavaScript and released under Apache-2.0. It has 29,393 GitHub stars, 2,873 forks and 263 open issues, and was last pushed 18 days ago. On this registry it ranks #28 of 61 tracked projects in AI Development Platforms, with 5 head-to-head comparisons available. It gained 69 stars over the last 3 tracked days.

What is OpenCLI?

OpenCLI is an Apache-2.0 JavaScript tool that turns websites, live browser sessions, Electron apps and local command-line tools into deterministic CLI commands that both people and AI agents can call.

What it is

OpenCLI is a command-line hub published on npm as @jackwener/opencli and distributed both as a managed opencli command and as OpenCLIApp, a tray application for macOS and Windows. It gives one surface to three kinds of automation: built-in site adapters, AI-agent control of arbitrary web pages, and adapters that a user writes for themselves. Underneath, it pairs a Chrome/Chromium Browser Bridge extension with a small local daemon that starts automatically when needed, and it can also expose local binaries and Electron desktop applications through the same discovery interface.

The concrete problem is that browser work stays manual and session-bound. Sites sit behind logins, so scripts need credentials, API keys or cookie jars that expire, and each site gets its own throwaway scraper. OpenCLI instead drives the Chrome profile the user is already signed into, so a page becomes a fixed command: opencli hackernews top --limit 5 replaces opening HackerNews and reading, and opencli bilibili hot --limit 5 replaces browsing a trending list by hand. Where no adapter exists, the same primitives let an agent navigate, click, type, fill, extract and inspect any page. What it replaces is the per-site scraper, the manual browsing session, and the copy-paste step between web interfaces.

Key capabilities

  • Built-in adapters for Bilibili, Zhihu, Xiaohongshu, Reddit, HackerNews and Twitter/X, run through commands such as opencli bilibili hot --limit 5 and enumerated by opencli list.
  • opencli browser primitives for navigating, filling forms, clicking, extracting and inspecting any page, exposed to AI agents through the opencli-browser skill installed in tools such as Claude Code and Cursor.
  • Adapter authoring through the opencli-adapter-author skill, which walks from first recon through field decoding and code to opencli browser verify.
  • Browser Bridge extension plus local daemon connection to logged-in Chrome or Chromium, with opencli doctor for connectivity diagnosis and installation either from the Chrome Web Store or from the opencli-extension-v{version}.zip release asset loaded unpacked.
  • Chrome profile handling through opencli profile list, opencli profile rename work, opencli profile use work and opencli --profile work browser main state, which prompts for a choice rather than guessing when several profiles are connected with no default.
  • CLI hub behaviour: opencli external register mycli exposes a local binary through the same discovery surface, with gh, docker, longbridge, tg, discord, wx and ntn for Notion named as existing examples.
  • Desktop app adapters for Electron applications including Cursor, Trae CN, Codex, Antigravity, ChatGPT and Trae SOLO, plus Web to Markdown conversion in the OpenCLIApp tray UI.

Who uses it and how

  • Developers who already hold authenticated sessions in Chrome, who get repeatable commands instead of storing credentials or maintaining cookie files for each site.
  • AI agent users who install the opencli-browser skill in Claude Code or Cursor and let the agent operate an arbitrary page through the user's own logged-in browser.
  • Adapter authors who extend the registry for sites OpenCLI does not yet cover, using recon, field decoding and opencli browser verify as the working loop.
  • People running several Chrome profiles, who assign local aliases such as work and select one per invocation rather than re-authenticating.
  • CLI-only, CI or server environments that skip the desktop app and install through npm, where the documented floor is Node.js >= 20.18.1.

Getting started

On macOS and Windows, install OpenCLIApp, open it once and use the System page to install or repair the opencli command. Otherwise install through npm with npm install -g @jackwener/opencli, add the Browser Bridge extension from the Chrome Web Store or the unpacked release zip, then confirm the setup with opencli doctor.

How it compares

The registry topics place OpenCLI among browser-automation tooling, tagging it with both browser-use and playwright, so it is positioned next to the general browser-driving ecosystem rather than beside a single product. The README itself makes no direct comparison to those tools, so no licence, hosting or cost claim about them can be drawn from these facts.

When to use it — and when not to

A self-hoster must run a Chrome or Chromium install with the Browser Bridge extension, a local daemon, and Node.js >= 20.18.1 for the npm path, and must keep a browser profile logged in for the adapters that depend on it; the README mentions no database, storage or SMTP component. Anyone running headless servers with no browser, or working under a policy that forbids automating a personal logged-in profile, should not pick it, and the browser-independent usage path is not described. The README is deliberately short and defers directory layout and extension detail to docs/guide/extending-opencli.md, so newcomers should expect to follow that guide, and the 263 open issues indicate an actively reported surface to check before standardising on it.

project readme (upstream, from github) — read inline

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.

中文文档 npm Node.js Version License

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-browser skill 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 via opencli browser primitives.
  • Write new adapters end-to-end with opencli browser + the opencli-adapter-author skill, which guides from first recon through field decoding, code, and opencli 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 , 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.18.1 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:

  1. Download the latest opencli-extension-v{version}.zip from the GitHub Releases page.
  2. Unzip it, open chrome://extensions, and enable Developer mode.
  3. 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 list shows every registered command.
  • opencli runs a built-in or generated adapter.
  • opencli external register mycli exposes a local CLI through the same discovery surface.
  • opencli doctor helps 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 / in ~/.opencli/clis/
Modify an official adapter locally opencli adapter eject + opencli adapter reset
Publish or install third-party commands opencli plugin install github:user/repo
Wrap an existing local binary opencli external register

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:

  1. Navigate to any URL using your logged-in browser
  2. Read page content via structured DOM snapshots (not screenshots)
  3. Interact — click buttons, fill forms, select options, press keys
  4. Extract data from the page or intercept network API responses
  5. 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:

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 `` positional immediately after browser. opencli browser work open 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 to route a command to a specific tab. tab new creates a new tab without changing the default browser target; only tab select 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:

  1. Recon the site and pick a pattern (SPA / SSR / J

readme truncated — read the full docs on github

Frequently asked questions

Is OpenCLI free to use?

OpenCLI is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does OpenCLI do?

Make Any Website into CLI & Use your logged-in browser by AI agent.

What is OpenCLI written in?

OpenCLI is primarily written in JavaScript. Its source is publicly available at https://github.com/jackwener/OpenCLI, and it has 29,393 GitHub stars.