by jackwener
Make Any Website into CLI & Use your logged-in browser by AI agent.
# Add to your Claude Code skills
git clone https://github.com/jackwener/OpenCLILast scanned: 4/16/2026
{
"issues": [
{
"type": "npm-audit",
"message": "esbuild: esbuild enables any website to send any requests to the development server and read the response",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "vite: Vite Vulnerable to Path Traversal in Optimized Deps `.map` Handling",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "vitepress: Vulnerability found",
"severity": "medium"
}
],
"status": "PASSED",
"scannedAt": "2026-04-16T06:07:08.469Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}See how OpenCLI compares with popular alternatives.
OpenCLI is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by jackwener. Make Any Website into CLI & Use your logged-in browser by AI agent. It has 29,892 GitHub stars.
Yes. OpenCLI passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/jackwener/OpenCLI" and add it to your Claude Code skills directory (see the Installation section above).
OpenCLI is primarily written in JavaScript. It is open-source under jackwener on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh OpenCLI against similar tools.
No comments yet. Be the first to share your thoughts!
Based on votes and bookmarks from developers who liked this skill
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
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:
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.opencli browser + the opencli-adapter-author skill, which guides from first recon through field decoding, code, and opencli browser verify.It also provides desktop app adapters for Electron apps like Cursor, Trae CN, Codex, Antigravity, ChatGPT, and Trae SOLO.
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.18.1 when installed through npm.
node --version
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.
Option A — Chrome Web Store (recommended): Install OpenCLI from the Chrome Web Store.
Option B — Manual install:
opencli-extension-v{version}.zip from the GitHub Releases page.chrome://extensions, and enable Developer mode.opencli doctor
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.
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 doctor helps diagnose browser connectivity.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 |
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.
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
| 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-usage | Quick reference for all OpenCLI commands and sites | "What commands does OpenCLI have for Twitter?" |
Once opencli-browser is installed, your AI agent can:
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-adapter-author/SKILL.md — write a new adapter end-to-endskills/opencli-autofix/SKILL.md — repair broken adaptersskills/opencli-usage/SKILL.md — command and site referenceAvailable 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.
When the site you need is not yet covered, use the opencli-adapter-author skill end-to-end:
PUBLIC / COOKIE / INTERCEPT / UI / LOCAL.opencli browser recon analyze <url> → opencli browser recon init <site>/<name> → write adapter → opencli browser recon verify <site>/<name>.~/.opencli/sites/<site>/ so the next adapter for the same site starts from context.| 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_SITE_SESSION |
adapter default | Set to ephemeral or persistent to override siteSession metadata for browser-backed adapter commands. ephemeral closes the one-shot automation window when the command finishes; persistent reuses the site's session. Per-command --site-session takes precedence. |
OPENCLI_BROWSER_CONNECT_TIMEOUT |
45 |
Seconds to wait for browser connection |
OPENCLI_BROWSER_COMMAND_TIMEOUT |
60 |
Seconds to wait for a single browser command |
OPENCLI_CDP_ENDPOINT |
— | Chrome DevTools Protocol endpoint for remote browser or Electron apps |
OPENCLI_CDP_TARGET |
— | Filter CDP targets by URL substring (e.g. detail.1688.com) |
OPENCLI_VERBOSE |
false |
Enable verbose logging (-v flag also works) |
DEBUG_SNAPSHOT |
— | Set to 1 for DOM snapshot debug output |
opencli browser * requires an explicit <session> positional, uses a foreground browser window by default, and keeps that session's tab lease until opencli browser <session> close or idle cleanup. Browser-backed adapters use a backgrou