Files
jackwener__opencli/docs/guide/getting-started.md
jakevin a9d21f3de0 fix: project hygiene — docs, lint, daemon restart (#942)
* fix: project hygiene — docs, lint, daemon restart, code fence

- Update Node version requirement from >= 20 to >= 21 in 7 doc files
  (README, README.zh-CN, installation guides, troubleshooting)
- Update adapter count from 79+ to 87+ in READMEs
- Remove duplicate `lint` script (identical to `typecheck`)
- Fix TESTING.md CI matrix: Node ['22'] instead of ['20', '22']
- Fix autofix SKILL.md code fence escaping (\``` → ~~~)
- Add daemon restart to postinstall so updated adapters are picked up
- Fix preuninstall to respect OPENCLI_DAEMON_PORT env var

* fix: align docs and skills with JS-first adapter contract

Adapters are now .js files (not .ts). Update all references across:
- README.md, README.zh-CN.md, CONTRIBUTING.md
- docs/guide/getting-started.md, docs/index.md
- skills/opencli-browser/SKILL.md, skills/opencli-explorer/SKILL.md

The runtime (discovery.ts) only loads .js from user clis/ directories,
and `opencli browser init` generates .js scaffolds. Documentation was
still teaching users to create .ts files.

* fix: update CI matrix to Node 22 only (drop Node 20)

package.json requires Node >= 21 (styleText dependency). The CI matrix
was still testing Node 20 which doesn't meet this requirement.

* fix: revert incorrect daemon restart from postinstall

The daemon (browser bridge) only handles CDP communication — it has no
knowledge of adapters. Adapter discovery, loading, and execution all
happen in the CLI process, which is fresh each invocation. The
_loadedModules cache in execution.ts is process-local and not a real
staleness concern. Remove the unnecessary restartDaemon() call.
2026-04-11 00:50:05 +08:00

3.2 KiB

Getting Started

Make any website or Electron App your CLI. Zero risk · Reuse Chrome login · AI-powered discovery · Browser + Desktop automation

npm Node.js Version License

OpenCLI turns any website or Electron app into a command-line interface — Bilibili, Zhihu, 小红书, Twitter/X, Reddit, YouTube, Antigravity, and many more — powered by browser session reuse and AI-native discovery.

Highlights

  • CLI All Electron — CLI-ify apps like Antigravity Ultra! Now AI can control itself natively.
  • Account-safe — Reuses Chrome's logged-in state; your credentials never leave the browser.
  • AI Agent ready — explore discovers APIs, synthesize generates adapters, cascade finds auth strategies.
  • Self-healing setup — opencli doctor auto-starts the daemon and diagnoses extension + live browser connectivity.
  • Dynamic Loader — Simply drop .js adapters into the clis/ folder for auto-registration.
  • Dual-Engine Architecture — Supports both declarative pipeline adapters and robust browser runtime TypeScript injections.

Quick Start

Install via npm

npm install -g @jackwener/opencli

Basic Usage

opencli list                              # See all commands
opencli hackernews top --limit 5          # Public API, no browser
opencli bilibili hot --limit 5            # Browser command
opencli zhihu hot -f json                 # JSON output

Output Formats

All built-in commands support --format / -f:

opencli bilibili hot -f table   # Default: rich terminal table
opencli bilibili hot -f json    # JSON (pipe to jq or LLMs)
opencli bilibili hot -f yaml    # YAML (human-readable)
opencli bilibili hot -f md      # Markdown
opencli bilibili hot -f csv     # CSV
opencli bilibili hot -v         # Verbose: show pipeline debug

Tab Completion

OpenCLI supports intelligent tab completion to speed up command input:

# Add shell completion to your startup config
echo 'eval "$(opencli completion zsh)"' >> ~/.zshrc              # Zsh
echo 'eval "$(opencli completion bash)"' >> ~/.bashrc            # Bash
echo 'opencli completion fish | source' >> ~/.config/fish/config.fish  # Fish

# Restart your shell, then press Tab to complete:
opencli [Tab]          # Complete site names (bilibili, zhihu, twitter...)
opencli bilibili [Tab] # Complete commands (hot, search, me, download...)

The completion includes:

  • All available sites and adapters
  • Built-in commands (list, explore, validate...)
  • Command aliases
  • Real-time updates as you add new adapters

Next Steps