@jakevin7: OpenCLI hit 20k stars, https://github.com/jackwener/OpenCLI… But now I don't feel much about the star count anymore. The happiest moments are still when communicating with users about usage & sharing insights. Will continue to improve later, making …

X AI KOLs Following Tools

Summary

The OpenCLI project surpassed 20,000 stars on GitHub. This tool converts websites, browser sessions, and Electron applications into deterministic CLI interfaces, supporting AI Agents in directly operating browsers and automating workflows.

OpenCLI hit 20k stars 🎉, https://t.co/UiH5TIKKFG But now I don't feel much about the star count anymore. The happiest moments are still when communicating with users about usage & sharing insights. Will continue to improve going forward, making OpenCLI even better to use. https://t.co/NeZVdLOJ2D
Original Article
View Cached Full Text

Cached at: 05/11/26, 04:41 PM

OpenCLI hit 20k stars 🎉, https://t.co/UiH5TIKKFG. Honestly, star counts don’t mean much to me anymore. The real joy comes from interacting with users, sharing usage tips, and exchanging experiences. I’ll keep iterating and improving to make opencli even better. https://t.co/NeZVdLOJ2D

jackwener/OpenCLI

Source: https://github.com/jackwener/OpenCLI

OpenCLI

Turn websites, browser sessions, Electron apps, and local tools into deterministic interfaces for humans and AI agents. Reuse your logged-in browser, automate live workflows, and crystallize repeated actions into reusable CLI commands. Chinese Docs npm (https://www.npmjs.com/package/@jackwener/opencli) Node.js Version (https://nodejs.org) 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-adapter-author 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, tg-cli, discord-cli, wx-cli, and other binaries you register yourself, plus desktop app adapters for Electron apps like Cursor, Codex, Antigravity, ChatGPT, and Notion.

Highlights

  • Desktop App Control — Drive Electron apps (Cursor, Codex, ChatGPT, Notion, etc.) directly from the terminal via CDP.
  • Browser Automation for AI Agents — Install the opencli-adapter-author skill, and your AI agent can operate any website: navigate, click, type/fill, extract, screenshot — all through your logged-in Chrome session.
  • Multi-profile Browser Bridge — Install the extension in each Chrome profile you want to use, then route commands with --profile, OPENCLI_PROFILE, or opencli profile use.
  • Website → CLI — Turn any website into a deterministic CLI: 100+ site surfaces are already registered, or write your own with the opencli-adapter-author skill + opencli browser verify.
  • Account-safe — Reuses Chrome/Chromium logged-in state; your credentials never leave the browser.
  • AI Agent ready — One skill takes you from site recon through API discovery, field decoding, adapter writing, and verification.
  • CLI Hub — Discover, auto-install, and passthrough commands to any external CLI (gh, docker, obsidian, tg-cli, discord-cli, wx-cli, etc).
  • Zero LLM cost — No tokens consumed at runtime. Run 10,000 times and pay nothing.
  • Deterministic — Same command, same output schema, every time. Pipeable, scriptable, CI-friendly.

Quick Start

1. Install OpenCLI

OpenCLI requires Node.js >= 21.

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 (https://chromewebstore.google.com/detail/opencli/ildkmabpimmkaediidaifkhjpohdnifk).

Option B — Manual install:

  1. Download the latest opencli-extension-v{version}.zip from the GitHub Releases page (https://github.com/jackwener/opencli/releases).
  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 work
opencli profile use work
opencli --profile work browser 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 <command> 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.

NeedRecommended path
Keep personal website commands in your own Git repoopencli plugin create + opencli plugin install file://...
Quickly draft a private local adapteropencli browser init / in ~/.opencli/clis/
Modify an official adapter locallyopencli adapter eject <command> + opencli adapter reset <command>
Publish or install third-party commandsopencli plugin install github:user/repo
Wrap an existing local binaryopencli external register <command>

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

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-usage
npx skills add jackwener/opencli --skill smart-search

Which skill to use

SkillWhen to useExample prompt to your AI agent
opencli-adapter-authorOperate a site in real time, or write a reusable adapter for a new site“Help me check my Xiaohongshu notifications” / “Write an adapter for douyin trending” / “Make a command that grabs the top posts from this page”
opencli-autofixRepair a broken adapter when a built-in command failsopencli zhihu hot is returning empty — fix it”
opencli-browserBrowser automation reference for AI agents“Use browser commands to scrape this page”
opencli-usageQuick reference for all OpenCLI commands and sites“What commands does OpenCLI have for Twitter?”
smart-searchSearch across existing OpenCLI capabilities“Find me a Bilibili trending adapter”

How it works

Once opencli-adapter-author 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 --session <name>. opencli browser --session work open <url> and opencli browser --session work tab new [url] both return a target ID. Use opencli browser --session work tab list to inspect target IDs, then pass --tab <id> to route a command to a specific tab. tab new creates a new tab without changing the default browser target; only tab select <id> promotes that tab to the default target for later untargeted commands in the same session.

Core Concepts

browser: AI Agent browser control

opencli browser commands are the low-level primitives that AI Agents use to operate websites. You don’t run these manually — instead, install the opencli-adapter-author skill into your AI agent, describe what you want in natural language, and the agent handles the browser operations. For example, tell your agent: “Help me check my Xiaohongshu notifications” — the agent will use opencli browser --session open, state, click, etc. under the hood.

Built-in adapters: stable commands

Use site-specific commands such as opencli hackernews top or opencli reddit hot when the capability already exists. These are deterministic and work without browser — ideal for both humans and AI agents.

Writing a new adapter

When the site you need is not yet covered, use the opencli-adapter-author skill. It takes the agent end-to-end:

  1. Recon the site and classify its pattern (SPA / SSR / JSONP / Token / Streaming).
  2. Discover the right endpoint — network inspection, initial state, bundle search, token trace, or interceptor fallback.
  3. Decide the auth strategy — PUBLIC / COOKIE / INTERCEPT / UI / LOCAL.
  4. Decode response fields and design output columns.
  5. opencli browser --session recon analyze <url> for one-shot recon, then opencli browser --session recon init /<path> → write adapter → opencli browser --session recon verify /<path>.
  6. Persist site knowledge to ~/.opencli/sites/<domain>/ so the next adapter for the same site is faster.

CLI Hub and desktop adapters

OpenCLI is not only for websites. It can also:

  • expose local binaries like gh, docker, obsidian, tg-cli, discord-cli, wx-cli, or custom tools through opencli ...
  • control Electron desktop apps through dedicated adapters and CDP-backed integrations

Prerequisites

  • Node.js: >= 21.0.0 (required for the standard npm install path)
  • Bun: >= 1.0 (optional alternative runtime)
  • Chrome or Chromium running and logged into the target site for browser-backed commands

Important: Browser-backed commands reuse your Chrome/Chromium login session. If you get empty data or permission-like failures, first confirm the site is already open and authenticated in Chrome/Chromium.

Configuration

VariableDefaultDescription
OPENCLI_DAEMON_PORT19825HTTP port for the daemon-extension bridge
OPENCLI_PROFILEBrowser Bridge profile alias/contextId to use when multiple Chrome profiles are connected
OPENCLI_WINDOWcommand defaultSet to foreground or background to override Browser Bridge window placement. Browser-backed commands also accept --window <mode>.
OPENCLI_KEEP_TABcommand defaultSet to true or false to keep or release the browser tab lease after a browser-backed adapter command. Browser-backed adapter commands also accept --keep-tab <bool>.
OPENCLI_BROWSER_CONNECT_TIMEOUT30Seconds to wait for browser connection
OPENCLI_BROWSER_COMMAND_TIMEOUT60Seconds to wait for a single browser command
OPENCLI_CDP_ENDPOINTChrome DevTools Protocol endpoint for remote browser or Electron apps
OPENCLI_CDP_TARGETFilter CDP targets by URL substring (e.g. detail.1688.com)
OPENCLI_VERBOSEfalseEnable verbose logging (-v flag also works)
DEBUG_SNAPSHOTSet to 1 for DOM snapshot debug output

opencli browser * requires an explicit --session <name>, uses a foreground browser window by default, and keeps that session’s tab lease until browser --session close or idle cleanup. Browser-backed adapters use a background adapter window and release one-shot tab leases by default. Interactive adapters can declare siteSession: 'persistent' to keep a stable site tab for continuity; pass --site-session ephemeral for a one-shot tab.

Update

npm install -g @jackwener/opencli@latest
# If you use the packaged OpenCLI skills, refresh them too
npx skills add jackwener/opencli

Or refresh only the skills you actually use:

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-usage
npx skills add jackwener/opencli --skill smart-search

For Developers

Install from source:

git clone [email protected]:jackwener/opencli.git
cd opencli
npm install
npm run build
npm link

To load the source Browser Bridge extension:

  1. Open chrome://extensions and enable Developer mode.
  2. Click Load unpacked and select this repository’s extension/ directory.

Built-in Commands

SiteCommands
xiaohongshusearch note comments feed user download publish notifications creator-notes creator-notes-summary creator-note-detail creator-profile creator-stats
bilibilihot search history feed ranking download comments dynamic favorite following me subtitle video user-videos
tiebahot posts search read
hupuhot search detail mentions reply like unlike
twittertrending search timeline tweets lists list-tweets list-add list-remove bookmarks post download profile article like likes notifications reply reply-dm thread follow unfollow followers following block unblock bookmark unbookmark delete hide-reply accept
reddithot frontpage popular search subreddit read user user-posts user-comments upvote upvoted save saved comment subscribe
zhihuhot search question download follow like favorite comment answer
amazonbestsellers search product offer discussion movers-shakers new-releases rankings
1688search item assets download store
giteetrending search user
gemininew ask image deep-research deep-research-result
claudeask send new status read history detail
yuanbaonew ask
notebooklmstatus list open current get history summary note-list notes-get source-list source-get source-fulltext source-guide
spotifyauth status play pause next prev volume search queue shuffle repeat
xianyusearch item chat publish
xiaoecourses detail catalog play-url content
quarkls mkdir mv rename rm save share-tree
uiversecode preview
baidu-scholarsearch
google-scholarsearch cite profile
gov-lawsearch recent
gov-policysearch recent
nowcoderhot trending topics recommend creators companies jobs search suggest experience referral salary papers practice notifications detail
wanfangsearch
hackernewstop new best ask show jobs search user
xiaoyuzhouauth* podcast* podcast-episodes* episode* download* transcript*

100+ site surfaces in total — **[→ see all

Similar Articles

@jakevin7: OpenCLI v1.8.0 finally released. Stayed up until 4am, the journey from 1.7 to 1.8 is now complete. Looking back, there's really been a lot done! ## Browser Agent Runtime The browser capability has been fully polished in one go. Essentially, it shifts the "agent controlling the browser" from blindly guessing with selectors to an agent-native approach using "accessibility tree + semantic targeting + CDP native input". CDP input + AX snapshot + semantic targeting (--role / --name / --label / --testid) + hover / focus / dblclick / check / upload / drag / wait download / annotated screenshot. opencli browser <session> click 5 now directly uses references instead of blindly guessing with selectors. Custom dropdowns like Radix / shadcn / Material UI that previously couldn't be clicked are now clickable.

X AI KOLs Following

OpenCLI v1.8.0 released, enhancing browser agent runtime with more reliable browser control via accessibility tree and CDP native input, adding support for WeRead, 12306, Xianyu, and other sites, improving stability and security.

@jakevin7: OpenCLI supports many AI CLIs like Grok, ChatGPT, and many more! Many people may not realize how powerful this is. For example, you can use `opencli grok` to directly search and analyze Twitter content. I just had Grok...

X AI KOLs Following

OpenCLI is a command-line tool that supports multiple AIs such as Grok, ChatGPT, and Claude. It leverages your browser login session to directly invoke various AIs for task collaboration, like searching Twitter discussions and generating analysis.

@jakevin7: OpenCLI One-Click Unlocks Agent's Twitter World! Tweet, reply, quote retweet, monitor notifications, keyword-triggered auto DM reply, grab entire thread for summary, batch organize lists, regularly back up someone's images and videos — any client operation you can think of, Agent…

X AI KOLs Timeline

OpenCLI is a tool that allows AI Agents to seamlessly operate Twitter by reusing the browser login state (no X API key needed), supporting 36 client commands like tweeting, replying, monitoring, fetching summaries, etc., turning Twitter into a full-fledged living environment for Agents.

@ruanyf: Recently, multiple domestic office platforms have released open-source CLI toolkits for agent invocation. Among them, Feishu offers the most comprehensive features, with the highest project scale and Star count. In just over 40 days since release, it has already surpassed 10,000 Stars. Below is a brief introduction to my experience using it to integrate agents and try office automation.

X AI KOLs Timeline

Domestic office platforms like Feishu have released open-source CLI toolkits for agent invocation. Feishu has the most features and the highest Star count, surpassing 10,000 Stars in just over 40 days.