by jackwener
Make Any Website & Tool Your CLI. A universal CLI Hub and AI-native runtime. Transform any website, Electron app, or local binary into a standardized command-line interface. Built for AI Agents to discover, learn, and execute tools seamlessly via a unified AGENT.md integration.
# Add to your Claude Code skills
git clone https://github.com/jackwener/OpenCLITurn 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.
OpenCLI gives you one surface for three different kinds of automation:
opencli browser when an AI agent needs to click, type, extract, or inspect a page in real time.explore, synthesize, generate, and cascade.It also works as a CLI hub for local tools such as gh, docker, and other binaries you register yourself, plus desktop app adapters for Electron apps like Cursor, Codex, Antigravity, ChatGPT, and Notion.
browser gives AI agents direct browser control: click, type, extract, screenshot — any interaction, fully scriptable.opencli record.navigator.webdriver, stubs window.chrome, fakes plugin lists, cleans ChromeDriver/Playwright globals, and strips CDP frames from Error stack traces. Extensive anti-fingerprinting and risk-control evasion measures baked in at every layer.explore discovers APIs, synthesize generates adapters, cascade finds auth strategies, browser controls the browser directly.opencli doctor diagnoses and auto-starts the daemon, extension, and live browser connectivity..ts adapters into the clis/ folder for auto-registration.npm install -g @jackwener/opencli
OpenCLI connects to Chrome/Chromium through a lightweight Browser Bridge extension plus a small local daemon. The daemon auto-starts when needed.
opencli-extension.zip from the GitHub Releases page.chrome://extensions, and enable Developer mode.opencli doctor
opencli daemon status
opencli list
opencli hackernews top --limit 5
opencli bilibili hot --limit 5
Use OpenCLI directly when you want a reliable command instead of a live browser session:
opencli list shows every registered command.opencli <site> <command> runs a built-in or generated adapter.opencli register mycli exposes a local CLI through the same discovery surface.opencli daemon status and opencli doctor help diagnose browser connectivity.Use two different entry points depending on the task:
skills/opencli-explorer/SKILL.md: the entry point for creating new adapters — supports both fully automated generation (opencli generate <url>) and manual exploration workflows.skills/opencli-browser/SKILL.md: the low-level control surface for live browsing, debugging, and manual intervention.Install the packaged skills with:
npx skills add jackwener/opencli
Or install only what you need:
npx skills add jackwener/opencli --skill opencli-usage
npx skills add jackwener/opencli --skill opencli-browser
npx skills add jackwener/opencli --skill opencli-explorer
npx skills add jackwener/opencli --skill opencli-oneshot
In practice:
opencli-explorer when the agent needs a reusable command for a site (it covers both automated and manual flows)opencli-browser when the agent needs to inspect or steer the page directlyAvailable browser commands include open, state, click, type, select, keys, wait, get, screenshot, scroll, back, eval, network, init, verify, and close.
browser: live controlUse opencli browser when the task is inherently interactive and the agent needs to operate the page directly.
Use site-specific commands such as opencli hackernews top or opencli reddit hot when the capability already exists and you want deterministic output.
explore / synthesize / generate: create new CLIsUse these commands when the site you need is not covered yet:
explore inspects the page, network activity, and capability surface.synthesize turns exploration artifacts into evaluate-based YAML adapters.generate runs the verified generation path and returns either a usable command or a structured explanation of why completion was blocked or needs human review.cascade: auth strategy discoveryUse cascade to probe fallback auth paths such as public endpoints, cookies, and custom headers before you commit to an adapter design.
OpenCLI is not only for websites. It can also:
gh, docker, obsidian, or custom tools through opencli <tool> ...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.
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-usage
npx skills add jackwener/opencli --skill opencli-browser
npx skills add jackwener/opencli --skill opencli-explorer
npx skills add jackwener/opencli --skill opencli-oneshot
Install from source:
git clone git@github.com:jackwener/opencli.git
cd opencli
npm install
npm run build
npm link
To load the source Browser Bridge extension:
chrome://extensions and enable Developer mode.extension/ directory.| Site | Commands |
|------|----------|
| xiaohongshu | search note comments feed user download publish notifications creator-notes creator-notes-summary creator-note-detail creator-profile creator-stats |
| bilibili | hot search history feed ranking download comments dynamic favorite following me subtitle user-videos |
| tieba | hot posts search read |
| hupu | hot search detail mentions reply like unlike |
| twitter | trending search timeline bookmarks post download profile article like likes notifications reply reply-dm thread follow unfollow followers following block unblock bookmark unbookmark delete hide-reply accept |
| reddit | hot frontpage popular search subreddit read user user-posts user-comments upvote upvoted save saved comment subscribe |
| zhihu | hot search question download follow like favorite comment answer |
| amazon | bestsellers search product offer discussion movers-shakers new-releases |
| 1688 | search item assets download store |
| gitee | trending search user |
| gemini | new ask image deep-research deep-research-result |
| yuanbao | new ask |
| notebooklm | status list open current get history summary note-list notes-get source-list source-get source-fulltext source-guide |
| spotify | auth status play pause next prev volume search queue shuffle repeat |
| xianyu | search item chat |
| xiaoe | courses detail catalog play-url content |
| quark | ls mkdir mv rename rm save share-tree |
79+ adapters in total — → see all supported sites & commands
OpenCLI acts as a universal hub for your existing command-line tools — unified discovery, pure passthrough execution, and auto-install (if a tool isn't installed, OpenCLI runs brew install <tool> automatically before re-running the command).
| External CLI | Description | Example | |----
No comments yet. Be the first to share your thoughts!