Compare commits

...

27 Commits

Author SHA1 Message Date
jackwener c65ac982ca Merge remote-tracking branch 'origin/main' into codex/release-1.5.2
# Conflicts:
#	README.md
2026-03-28 12:18:51 +08:00
jackwener c19a58490e docs: add CLI Hub intro line in header, restore auto-install note in CLI Hub section 2026-03-28 12:18:19 +08:00
jackwener 35a7809919 Merge remote-tracking branch 'origin/main' into codex/release-1.5.2
# Conflicts:
#	README.md
2026-03-28 12:13:17 +08:00
jackwener ba1aac2474 docs: polish README — Try it out under Verify setup, trim examples, CLI Hub as top-level section 2026-03-28 12:12:35 +08:00
jackwener fce5dcd434 docs: show 4 sample adapters in Built-in Commands with link to full list 2026-03-28 12:06:36 +08:00
jackwener 5bb63d21fa Merge remote-tracking branch 'origin/main' into codex/release-1.5.2
# Conflicts:
#	README.md
2026-03-28 12:05:47 +08:00
jackwener 093fcb3b0b docs: polish Quick Start — one-line source install, Verify setup section 2026-03-28 12:05:09 +08:00
jackwener 2b64ee59ad Merge remote-tracking branch 'origin/main' into codex/release-1.5.2
# Conflicts:
#	README.md
2026-03-28 11:57:17 +08:00
jackwener e8c98edc41 docs: move Quick Start before Prerequisites, tone down Electron promo copy
- Reorder sections: Why opencli → Quick Start → Prerequisites
  so users see "how to use" before "what you need"
- Replace "The Most Powerful Update Has Arrived!" marketing copy
  with a plain one-liner description of the Electron feature
- Remove redundant Bun dev/test commands from Prerequisites
  (developer-only content, not relevant to end users)
- Add "(requires Extension)" hint to browser command in Quick Start
2026-03-28 11:56:18 +08:00
jackwener 8635d7fe29 Merge remote-tracking branch 'origin/main' into codex/release-1.5.2
# Conflicts:
#	README.md
#	extension/manifest.json
#	extension/package-lock.json
#	extension/package.json
#	package-lock.json
#	package.json
2026-03-28 11:51:16 +08:00
jackwener fd937d6c41 docs: move built-in commands table to docs/adapters/index.md
Replace the 70-row site/command table in README with a one-line link.
All other README sections (Highlights, Why opencli, Quick Start,
External CLI Hub, Desktop App Adapters, Download, Plugins, AI Agents,
Troubleshooting) are preserved unchanged.
2026-03-28 11:49:41 +08:00
jackwener 75973288c2 fix(perf): CDPPage smart wait + MutationObserver selector wait
- CDPPage.wait(N>=1) now uses waitForDomStableJs instead of fixed sleep,
  matching Page.wait() behavior and saving unnecessary idle time
- waitForSelectorJs switches from 100ms polling to MutationObserver,
  resolving instantly when the target element appears in the DOM
- Update dom-helpers tests to stub MutationObserver for Node eval context
2026-03-28 02:15:14 +08:00
jackwener e9915498f4 docs: simplify README to 50-line overview with docs link
Remove redundant command table (already in docs/adapters/index.md).
Keep badges, quick-start, and star history only.
2026-03-28 02:15:07 +08:00
jackwener b727756791 fix(types): add waitForCapture to IPage mock helpers in tests 2026-03-28 02:06:44 +08:00
jackwener 7b0e18922a fix(perf): replace wait(N) with wait({ selector }) in medium/substack/bloomberg/sinablog 2026-03-28 02:04:58 +08:00
jackwener 05f231b614 fix(perf): replace wait(5) with wait({ selector }) in 15 Twitter UI adapters 2026-03-28 02:03:09 +08:00
jackwener feb0c239ee feat(perf): daemon cold-start uses exponential backoff [50..3000ms] 2026-03-28 02:01:13 +08:00
jackwener 295000f9b6 fix(perf): replace wait(N) with waitForCapture(N) in 7 INTERCEPT adapters 2026-03-28 02:00:39 +08:00
jackwener 7393b1b806 feat(perf): stepIntercept uses installInterceptor+waitForCapture+getInterceptedRequests 2026-03-28 01:59:19 +08:00
jackwener 42ab87ba6a feat(perf): implement waitForCapture() and wait({ selector }) in CDPPage 2026-03-28 01:58:26 +08:00
jackwener 49e99f6833 feat(perf): implement waitForCapture() and wait({ selector }) in Page 2026-03-28 01:55:42 +08:00
jackwener 265d43131e feat(perf): extend WaitOptions with selector, add waitForCapture to IPage 2026-03-28 01:54:35 +08:00
jackwener cac1dee86f feat(perf): add waitForCaptureJs and waitForSelectorJs to dom-helpers 2026-03-28 01:53:39 +08:00
jackwener 9e4fc0ad3b docs: add perf smart-wait implementation plan 2026-03-28 01:51:29 +08:00
jackwener 72138bf0f6 docs: add perf smart-wait design spec (waitForCapture + selector wait + backoff) 2026-03-28 01:45:06 +08:00
jackwener b80ca80e5e test(e2e): stabilize output format checks 2026-03-28 00:45:36 +08:00
jackwener 0896ab313d chore(release): 1.5.2 2026-03-28 00:40:43 +08:00
+4 -2
View File
@@ -10,7 +10,9 @@
A CLI tool that turns **any website**, **Electron app**, or **local CLI tool** into a command-line interface — Bilibili, Zhihu, 小红书, Twitter/X, Reddit, YouTube, Antigravity, `gh`, `docker`, and [many more](#built-in-commands) — powered by browser session reuse and AI-native discovery.
**Built for AI Agents**: Simply configure an instruction in your global `AGENT.md` or `.cursorrules` guiding the AI to execute `opencli list` via Bash to discover available tools. Register your favorite local CLIs (`opencli register mycli`), and the AI will automatically learn how to invoke all your tools perfectly!
**Built for AI Agents** — Configure an instruction in your `AGENT.md` or `.cursorrules` to run `opencli list` via Bash. The AI will automatically discover and invoke all available tools.
**CLI Hub** — Register any local CLI (`opencli register mycli`) so AI agents can discover and call it alongside built-in commands. Auto-installs missing tools via your package manager.
**CLI for Electron Apps** — Turn any Electron application into a CLI tool. Recombine, script, and extend apps like Antigravity Ultra from the terminal. AI agents can now control other AI apps natively.
@@ -117,7 +119,7 @@ That's it! The daemon auto-starts when you run any browser command. No tokens, n
## CLI Hub
OpenCLI acts as a universal hub for your existing command-line tools — unified discovery, auto-install, and pure passthrough execution.
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 |
|--------------|-------------|---------|