Skip to content

Releases: jackwener/opencli

v1.5.7

01 Apr 05:10
c908d9c

Choose a tag to compare

What's Changed

  • [codex] restore deleted root SKILL.md by @jackwener in #609
  • [codex] fix weixin article download extraction by @jackwener in #612
  • fix(zhihu): stop question command failing on unused detail fetch by @Astro-Han in #606
  • fix(xiaohongshu): check login wall before autoScroll in search (fixes #597) by @kagura-agent in #608
  • feat(xiaohongshu): add note command and nested reply support for comments by @0xsegfaulted in #599
  • fix(xiaohongshu): support full URL/short link and fix video extraction by @geegewu in #615
  • chore(deps): bump vitest from 4.1.1 to 4.1.2 by @dependabot[bot] in #620
  • fix(ctrip): update search adapter to live endpoint by @leozejia in #627
  • fix(weread): recover book details from cached shelf fallback by @Astro-Han in #628
  • fix(substack): update selectors for Substack DOM redesign (fixes #621) by @kagura-agent in #624
  • feat(instagram): add media download command by @fii6 in #623
  • feat(notebooklm): add read commands and compatibility layer by @muqiao215 in #622
  • fix(docs): use relative links in adapter index by @jackwener in #629
  • feat(daemon): replace 5min idle timeout with long-lived daemon model by @jackwener in #641
  • fix: avoid in-page redirect in facebook search by @Astro-Han in #642
  • fix(douyin): repair creator draft flow by @Astro-Han in #640
  • fix(douyin): narrow getDraftCommand return type to fix TS2722 build failure by @jackwener in #643
  • fix(douyin): support current creator api response shapes by @ajia1206 in #618
  • feat(stealth): harden CDP debugger detection countermeasures by @jackwener in #644
  • fix(v2ex): add id field to hot and latest API responses by @reabiter in #646
  • fix(bilibili): distinguish login-gated subtitles from empty results by @warkcod in #645
  • feat(youtube): add search filters — --type shorts/video/channel, --upload, --sort by @jackleeio in #616
  • enhance(v2ex): add content, member, created, node fields to topic output by @reabiter in #648
  • feat: Electron auto-launcher — zero-config CDP connection by @jackwener in #653
  • chore: release v1.5.7 by @jackwener in #654

New Contributors

Full Changelog: v1.5.6...v1.5.7

v1.5.6

30 Mar 05:28
62e3c55

Choose a tag to compare

What's Changed

  • fix(tests): update E2E exit code assertions for usage errors by @jackwener in #567
  • docs: sync docs with codebase (v1.5.5, exit codes, hub table, new adapters) by @jackwener in #575
  • fix(weread): harden reader fallback and search mapping by @Astro-Han in #562
  • feat: add 知识星球(zsxq) site adapter by @xtftbwvfp in #571
  • feat(xiaohongshu): use CDP DOM.setFileInputFiles for image upload by @james0x-sudo in #574
  • feat(band): add Band.us adapter — bands, posts, mentions, post commands by @kanghouchao in #532
  • feat(spotify): add Spotify playback adapter by @bhutano in #560
  • fix(zsxq): require active group context by @jackwener in #579
  • feat(xiaohongshu): add cover image URL to user notes output by @jeffdeen in #572
  • feat(douyin): add user-videos command with top comments by @sunbird89629 in #554
  • refactor(douyin): share user video public api by @jackwener in #580
  • feat(doubao): add history, detail, meeting-summary by @svcvit in #566
  • feat: add Tieba browser adapters in TypeScript by @Astro-Han in #581
  • feat(youtube): mute and pause watch pages for read commands by @haoyueb2 in #578
  • fix(cli): normalize boolean arg aliases in commander adapter by @inori-3333 in #585
  • feat(browser): add ONES adapter support for tasks and worklog commands by @2hangchen in #386
  • feat(xueqiu): add comments command by @Astro-Han in #587
  • docs: add dingtalk and wecom CLI to external CLI hub by @jackwener in #594
  • fix(spotify): follow-up fixes for token refresh, null guards and credentials guidance by @bhutano in #591
  • chore(release): 1.5.6 by @jackwener in #596

New Contributors

Full Changelog: v1.5.5...v1.5.6

v1.5.5

28 Mar 14:20
812f27a

Choose a tag to compare

What's Changed

  • fix: remove invalid state: 'normal' from chrome.windows.create() by @Cjy-CN in #559
  • 添加新浪财经行情及滚动新闻抓取 by @yichuanzhao99-ctrl in #546
  • feat(sinafinance): rewrite stock as public API, no browser required by @jackwener in #563
  • feat(exit-codes): Unix-standard process exit codes for all error types by @jackwener in #564
  • chore(release): 1.5.5 by @jackwener in #565

New Contributors

Full Changelog: v1.5.4...v1.5.5

v1.5.4

28 Mar 12:22
c9e29d9

Choose a tag to compare

What's Changed

  • docs: move built-in commands table to docs/adapters/index.md by @jackwener in #535
  • docs: README usability — Quick Start first, tone down promo copy by @jackwener in #538
  • docs: polish Quick Start — one-line source install, Verify setup section by @jackwener in #539
  • docs: show 4 sample adapters in Built-in Commands by @jackwener in #540
  • docs: polish README — Try it out, trim examples, CLI Hub section by @jackwener in #541
  • docs: CLI Hub intro in header, restore auto-install note by @jackwener in #543
  • docs(readme): restructure quick start, full command list, anti-detection highlight by @jackwener in #544
  • fix(manifest): preserve dynamic TS arg metadata in help output by @pi-dal in #536
  • fix(skill): use relative links in migration skill by @luojiyin1987 in #551
  • feat(hub): add lark-cli to external CLI hub by @jackwener in #555
  • feat(hub): add vercel CLI to external CLI hub by @jackwener in #556
  • fix(extension): probe daemon before WebSocket to eliminate console noise by @Astro-Han in #534
  • chore(release): 1.5.4 by @jackwener in #558

New Contributors

Full Changelog: v1.5.3...v1.5.4

v1.5.3

28 Mar 03:02
4f13484

Choose a tag to compare

What's Changed

  • fix(network): honor proxy env for node requests by @WSL0809 in #512
  • perf: smart-wait — waitForCapture, wait({ selector }), daemon backoff by @jackwener in #527
  • refactor: slim CI matrix, shared utils, unified logging, remove test leak by @jackwener in #525
  • fix(extension): change automation window state from minimized to normal by @Astro-Han in #531
  • chore(release): 1.5.3 by @jackwener in #533

New Contributors

Full Changelog: v1.5.2...v1.5.3

v1.5.2

27 Mar 16:49
9919f03

Choose a tag to compare

What's Changed

  • fix(extension): minimize automation window + reduce idle timeout by @jackwener in #521
  • fix: relax extension version check, enable all adapter tests by @jackwener in #520
  • fix(weread): resolve shelf auth fallback by @Astro-Han in #518
  • chore(extension): bump version to 1.5.1 by @jackwener in #519
  • fix(ci): stabilize public command and plugin e2e checks by @jackwener in #522
  • fix(browser): retry settle probe after SPA client-side redirect by @Astro-Han in #517
  • perf: smart pre-navigation, DOM-stable waits, in-memory URL tracking by @jackwener in #524
  • chore(release): 1.5.2 by @jackwener in #523

Full Changelog: v1.5.1...v1.5.2

v1.5.1

27 Mar 11:27
f9f11e4

Choose a tag to compare

What's Changed

  • fix(doctor): remove unused fix option and add release URL to extension install hint by @jackwener in #498
  • fix(plugin): remove legacy LOCK_FILE/MONOREPOS_DIR constants by @ByteYue in #495
  • feat(plugin): add 'plugin create ' scaffold command by @ByteYue in #494
  • feat(plugin): support local path install via file:// and absolute path by @ByteYue in #491
  • fix(xiaohongshu): adapt publish to new two-step creator center UI by @Astro-Han in #490
  • fix(plugin): detect symlinked monorepo sub-plugins in discoverPlugins by @ByteYue in #487
  • fix(twitter): use DOM-only scraping for trending to match page results by @Astro-Han in #486
  • perf: parallel file discovery and external CLI caching by @jackwener in #501
  • feat(xiaohongshu): add published_at to search results by @Astro-Han in #485
  • fix(plugin): handle EXDEV cross-filesystem rename during install by @ByteYue in #488
  • feat(bluesky): add Bluesky adapter with 9 commands by @0xsline in #215
  • fix(execution): apply timeout to non-browser commands by @Astro-Han in #383
  • fix(plugin): prevent raw .ts import crash when esbuild transpilation fails by @ByteYue in #503
  • feat(plugin): support multi-source plugin install (ssh, git@, generic https) by @ByteYue in #504
  • perf: smart pre-navigation — skip redundant nav + remove 2s wait by @jackwener in #507
  • fix(v2ex): fetch hot topics through browser context by @huguoliang1314 in #493
  • refactor(plugin): make plugin installs transactional by @jackwener in #509
  • chore(release): 1.5.1 by @jackwener in #513

New Contributors

Full Changelog: v1.5.0...v1.5.1

v1.5.0

26 Mar 19:58
218ba91

Choose a tag to compare

What's New

Features

  • Plugin system: opencli-plugin.json manifest and monorepo plugin support (#475)
  • Zero onboarding: extension version check and update notifier (#479)
  • Smart error dispatch: inline Browser Bridge diagnosis with real-time status (#481)
  • New adapters: paperreview.ai (#464), IMDb (#472), Product Hunt (#462), 36kr (#461)
  • Adapter enhancements: douban photo commands (#474), twitter likes (#448), bilibili/xiaohongshu comments (#457), linux-do unified feed (#434), chatgpt model selection (#438)
  • Runtime: Bun compatibility (#459)

Improvements

  • Deduplicated code, improved type safety, simplified error classes (#480)
  • Unified YAML args parsing, browser step constants, and CommandArgs type
  • Hook dedup protection for plugins
  • Safer output normalization

Fixes

  • Extension release packaging validation (#470)
  • Various adapter fixes (jd, xiaohongshu, weread, weixin)
  • Stabilized http download temp file handling (#443)
  • Restored executable permission on bin entries after tsc build (#446)

Full Changelog: v1.4.1...v1.5.0

v1.4.1

25 Mar 08:23
2bfd3ee

Choose a tag to compare

What's Changed

  • ci: add cross-platform E2E and smoke test support (Linux/macOS/Windows) by @ByteYue in #411
  • chore: release v1.4.0 by @jackwener in #413
  • feat(extension): Chrome Web Store readiness — popup UI, privacy policy, CSP by @jackwener in #415
  • feat: add filter option for twitter search by @stormslowly in #410
  • feat: add url field to 9 search adapters (67% -> 97% coverage) by @AllenS0104 in #414
  • feat(douyin): add Douyin creator center adapter (14 commands, 8-phase publish pipeline) by @nianyi778 in #416
  • feat(weibo,youtube): add Weibo commands and YouTube channel/comments by @jackwener in #418
  • fix: remove incorrect gws external CLI entry by @jackwener in #419
  • fix: remove nonexistent readwise external CLI entry by @jackwener in #420
  • chore: trim adapter test suite to bilibili, zhihu, v2ex by @jackwener in #421
  • fix(test): gate extended browser e2e tests behind OPENCLI_E2E=1 by @jackwener in #423
  • fix(extension): improve UX when daemon is not running by @jackwener in #424
  • chore: release v1.4.1 by @jackwener in #425

New Contributors

Full Changelog: v1.4.0...v1.4.1

v1.4.0

25 Mar 06:35
594ad50

Choose a tag to compare

Highlights

New Adapters

  • Pixiv — ranking, search, user illusts, detail, download
  • JD.com — product details
  • Web — generic web read for any URL → Markdown
  • Dictionary — search, synonyms, examples
  • LinkedIn — timeline feed

Plugin System

  • Lifecycle hooks API — onStartup, onBeforeExecute, onAfterExecute
  • Plugin structure validation on install/update
  • Windows path and symlink compatibility

Bug Fixes

  • Fix hasLimit analysis bug (was using wrong parameter Set)
  • Fix template engine chained || evaluation
  • Fix phantom scroll pipeline step (declared but never registered)
  • Extension security hardening — tab isolation, URL validation, cookie scope
  • HTTP status checking in fetch pipeline step
  • Cookie scoping for downloads
  • Natural numeric sort with localeCompare
  • 17+ additional bug fixes from deep code reviews

Code Quality

  • Replace all catch (err: any) with typed getErrorMessage() across 13 files
  • Adopt CliError subclasses across social and desktop adapters
  • Cross-platform CI matrix (Linux/macOS/Windows)
  • Comprehensive documentation sync — SKILL.md, README, docs site

Full Changelog: v1.3.3...v1.4.0