The AI agent ecosystem is exploding with tools that let LLMs operate browsers, write code, and manage infrastructure from the terminal. The latest entrant making waves is OpenCLI — and no, I'm not talking about the curated CLI directory at opencli.co. This is jackwener/OpenCLI, an 18K-star GitHub project that promises to "Make Any Website & Tool Your CLI."
After spending time with its codebase, documentation, and actually running it, here's my take on what OpenCLI does well, where it falls short, and whether it earns a permanent place alongside tools like Claude Code, browser-use, and Aider in an AI-native developer workflow.
What Is OpenCLI (jackwener/OpenCLI)?
OpenCLI is a Node.js CLI tool (npm: @jackwener/opencli) that converts websites, Electron desktop apps, and local binaries into deterministic command-line interfaces. It launched in March 2026 and has quickly accumulated 18,400+ stars and 1,800+ forks on GitHub.
The core idea: instead of manually clicking through a website, you run opencli bilibili hot or opencli twitter trending and get structured, pipeable JSON output. For sites that require authentication, OpenCLI reuses your existing Chrome login session through a lightweight Browser Bridge extension — no API keys, no OAuth dance, no token management.
Three Modes of Operation
-
Built-in Adapters (90+ sites): Pre-built commands for Xiaohongshu, Bilibili, Twitter/X, Reddit, HackerNews, Zhihu, Amazon, 1688, Spotify, and more. These hit public APIs or scrape server-rendered pages — no browser needed for most.
-
Browser Automation for AI Agents: Install the
opencli-adapter-authorskill into your AI agent (Claude Code, Cursor, etc.), and the agent can navigate, click, type, extract, and inspect any page through your logged-in Chrome via CDP. The agent handlesopencli browser open,click,type,extract,waitunder the hood. -
CLI Hub + Desktop App Control: Register external CLIs (
gh,docker,obsidian) for unified discovery. Control Electron apps like Cursor, Codex, ChatGPT Desktop, Notion, and Discord directly from the terminal via CDP.
Key Technical Properties
| Property | Value |
|---|---|
| Runtime | Node.js >= 21 / Bun >= 1.0 |
| License | Apache 2.0 |
| Browser Bridge | Chrome Extension + local daemon (port 19825) |
| Auth Strategy | Reuses Chrome login session (no API tokens) |
| LLM Cost at Runtime | Zero — no token consumption |
| Output | Deterministic, structured, pipeable |
| Multi-profile | Supports --profile for multiple Chrome profiles |
The Competition: A Multi-Angle Comparison
OpenCLI doesn't exist in a vacuum. Let's compare it across five dimensions against the most relevant alternatives.
Competitor Overview
| Tool | GitHub Stars | Language | Core Focus | Auth Model |
|---|---|---|---|---|
| OpenCLI (jackwener) | 18,400 | JavaScript/Node | Website → CLI + Desktop control + CLI Hub | Chrome login reuse |
| browser-use | 91,500 | Python | AI browser automation via LLM | Session-based |
| Claude Code | 119,700 | Shell/Python | Agentic coding in terminal | API key |
| Aider | 44,200 | Python | AI pair programming | API key |
| Goose | 43,600 | Rust | Extensible AI agent beyond code | API key |
| LLM (simonw) | 11,800 | Python | CLI access to LLMs | API key |
| OpenCLI.co | N/A (directory) | — | Curated CLI directory for agents | N/A |
Dimension 1: Web Interaction Capability
This is OpenCLI's strongest suit. While browser-use excels at autonomous browser control powered by LLMs (vision + DOM), OpenCLI takes a fundamentally different approach: deterministic adapters first, browser fallback second.
- OpenCLI:
opencli bilibili hot --limit 5gives you the same JSON every time. If an adapter breaks, theopencli-autofixskill can repair it. For sites without adapters, raw browser primitives (opencli browser open/click/type/extract) are available. - browser-use: Uses LLM to interpret pages visually — flexible but non-deterministic, costs tokens every run, and can hallucinate element selectors.
- Claude Code / Aider / Goose: Primarily code-editing agents with limited (or no) direct web interaction capability.
Verdict: For extracting data from websites at scale, OpenCLI wins on reliability and cost. For one-off exploratory browsing where you need LLM-level understanding, browser-use is better.
Dimension 2: AI Agent Integration
OpenCLI is explicitly built for AI agents. The opencli-adapter-author skill provides a complete workflow: site recon → API discovery → field decoding → adapter writing → verification. This is a structured, repeatable process that other tools lack.
- OpenCLI: Install skill, describe what you want in natural language, agent handles everything.
npx skills add jackwener/opencli --skill opencli-adapter-author - browser-use: Designed as a Python library for building agents, not as a skill that drops into existing agents like Claude Code.
- Claude Code: Has its own browser tool but it's less mature for Chinese websites and complex multi-step extraction.
Verdict: OpenCLI offers the deepest AI agent integration for web automation, especially for Chinese platform ecosystems (Bilibili, Xiaohongshu, Zhihu, Douyin) that are poorly served by Western-centric tools.
Dimension 3: Desktop App Control
This is a unique capability. OpenCLI can drive Electron apps (Cursor, ChatGPT Desktop, Notion, Discord) through CDP. No other tool in this comparison offers desktop app control at the same level.
- OpenCLI: Full CDP control of Electron apps with dedicated adapters.
- browser-use: Browser only, not desktop apps.
- Others: No desktop app control.
Verdict: OpenCLI is the only tool that bridges browser AND desktop app automation under one roof.
Dimension 4: Cost and Determinism
| Tool | Cost per Run | Determinism | CI-Friendly |
|---|---|---|---|
| OpenCLI | $0 (no LLM tokens) | High (same command = same output) | Yes |
| browser-use | ~$0.01-0.05 (LLM tokens) | Low (LLM-dependent) | Fragile |
| Claude Code | $0.05-0.50 (Claude API) | Medium | Partial |
| Aider | $0.02-0.20 (model API) | Medium | Partial |
OpenCLI's zero-cost-at-runtime model is a genuine advantage for batch operations. Running opencli bilibili hot 10,000 times costs nothing; running browser-use 10,000 times would cost hundreds of dollars in LLM tokens.
Dimension 5: Ecosystem and Maturity
OpenCLI is young (created March 2026) but growing fast. 90+ built-in adapters is impressive for a two-month-old project. However, there are concerns:
- 98 open issues suggest growing pains
- Documentation is good but some adapter quality varies
- The Chrome Browser Bridge extension adds installation friction
- Node.js >= 21 requirement is relatively strict
OpenCLI vs. OpenCLI.co: Naming Confusion
There are two "OpenCLI" projects, and they solve different problems:
- jackwener/OpenCLI (opencli.info): An executable tool that turns websites into CLI commands. Active GitHub repo. Installable via npm.
- OpenCLI.co (opencli.co): A directory/registry of 126 CLI tools curated "for AI Agent developers." It provides search, install commands, and categorization — like Homebrew for AI agent tools. Built by Khosla Lab. Not a CLI tool itself, but a meta-directory.
The naming collision is unfortunate. OpenCLI.co is useful for discovery (finding the right CLI for a task), while jackwener/OpenCLI is useful for execution (actually running website commands). They're complementary, not competing.
Should You Add OpenCLI to Your Toolchain?
Yes, If You:
- Regularly extract data from Chinese platforms (Bilibili, Xiaohongshu, Zhihu, Douyin, 1688, Xianyu)
- Want CLI access to your authenticated web sessions without managing API tokens
- Need to automate Electron desktop apps from the terminal
- Run batch web operations where LLM token costs would be prohibitive
- Build AI agents that need structured, deterministic web data
No, If You:
- Only work with Western platforms that have good public APIs (GitHub, Stripe, Vercel — just use their native CLIs)
- Need LLM-level visual understanding of arbitrary web pages (use browser-use instead)
- Are on a locked-down system where installing Chrome extensions isn't possible
- Require Python-only tooling (OpenCLI is Node.js/Bun)
My Current System Assessment
Looking at my own setup — Apple M4 Max, macOS, already running Claude Code, Cursor, gh, and uv — OpenCLI fills a genuine gap. I currently use browser-harness for CDP-based browser automation, but it's a lower-level tool without the adapter ecosystem. OpenCLI's 90+ pre-built adapters for Chinese platforms directly address sites where I've previously hit anti-scraping walls (font-based salary obfuscation on BOSS直聘, login walls on social platforms).
Optimized Setup for OpenCLI
If you decide to adopt OpenCLI, here's how to get the most out of it:
# Install
npm install -g @jackwener/opencli
# Install the Browser Bridge extension from Chrome Web Store
# Then verify connectivity
opencli doctor
# Set up multi-profile if you use multiple Chrome profiles
opencli profile list
opencli profile rename <contextId> work
opencli profile use work
# Install AI agent skills (for Claude Code or Cursor)
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 smart-search
# Register your existing CLIs for unified discovery
opencli external register gh
opencli external register docker
opencli external register uv
# Verify everything works
opencli list
opencli hackernews top --limit 3
opencli bilibili hot --limit 3
Integration with Existing Agent Workflows
OpenCLI's skill system slots cleanly into Claude Code and Cursor. The key insight: use built-in adapters for routine data extraction (zero cost, deterministic), and fall back to browser primitives for novel interactions (agent-driven, flexible). This hybrid approach minimizes LLM token spend while maximizing coverage.
For Hermes Agent specifically, the opencli-adapter-author skill can be treated as a specialized browser automation module — complementing the existing browser-harness CDP integration with higher-level, site-aware adapters.
Environment Variables Worth Setting
# In ~/.zshrc or equivalent
export OPENCLI_DAEMON_PORT=19825 # default, rarely needs changing
export OPENCLI_BROWSER_COMMAND_TIMEOUT=120 # increase for slow sites
export OPENCLI_VERBOSE=0 # set to 1 for debugging
Limitations and Risks
-
Single Point of Failure: Chrome Browser Bridge means if Chrome crashes or the extension disconnects, all browser-backed commands fail. The
opencli doctorcommand helps diagnose, but it's still a runtime dependency. -
Adapter Maintenance: Websites change constantly. 98 open issues indicate maintenance burden. The
opencli-autofixskill mitigates this, but it requires an LLM to repair — negating the zero-cost advantage. -
Security Surface: Reusing Chrome sessions means OpenCLI commands run with your full authenticated context. A malicious or broken adapter could theoretically perform unwanted actions on your behalf. The deterministic nature helps (you can audit what a command does), but it's worth being cautious.
-
Node.js Ecosystem Lock-in: If your stack is Python-only, adding Node.js 21+ just for OpenCLI may not be worth it. browser-use integrates more naturally into Python workflows.
-
Young Project: Two months old, rapid iteration means APIs may change. Pin to a specific version in CI environments.
Conclusion
OpenCLI from jackwener is an ambitious project that delivers on its promise: websites become CLI commands, desktop apps become controllable from the terminal, and AI agents get a structured, zero-cost way to interact with the web. Its adapter ecosystem for Chinese platforms is unmatched, and the skill-based integration with existing AI agents is thoughtfully designed.
It's not a replacement for browser-use (which excels at LLM-driven visual understanding) or Claude Code (which is about code, not web data). It occupies a unique niche: deterministic, zero-cost web automation with deep Chinese platform support. For developers working across both Western and Chinese tech ecosystems, OpenCLI fills a gap that no other tool currently addresses.
The real power emerges when you combine it with other tools: OpenCLI for structured data extraction, browser-use for visual reasoning, Claude Code for code editing, and Aider for pair programming. That's the emerging AI-native developer stack — and OpenCLI has earned its place in it.